This is a cache of https://discuss.96boards.org/t/drm-msm-on-recent-mainline-kernels-5-4/9368. It is a snapshot of the page at 2024-10-31T12:42:55.074+0000.
DRM MSM on recent *mainline* kernels (5.4+) - DragonBoard 820c - 96Boards Forum

DRM MSM on recent *mainline* kernels (5.4+)

@Loic @robclark : I’m trying to get a db820c running on a recent 5.4 or 5.5rc kernel, and I seem to have it working, more or less, except for the graphics.

  • I’m trying both using Linaro/Debian and AOSP master.
  • I’ve tried android common kernel, mainline, and msm-next.

I’m working blind, having very little understanding of how the pieces fit together.

This is the crash I’m seeing, which is the same from msm-next as well as 5.5rc6, I don’t know what it means or how to approach it. Help would be appreciated.

For clarity, the log below is NOT from 4.14.0, that’s just set with the KERNELRELEASE variable.

[   25.980419] adreno b00000.gpu: Adding to iommu group 0
[   25.982417] msm_mdp 901000.mdp: Adding to iommu group 1
[   25.984646] msm_mdp 901000.mdp: No interconnect support may cause display underflows!
[   25.993566] msm 900000.mdss: 900000.mdss supply vdd not found, using dummy regulator
[   25.998197] msm_mdp 901000.mdp: [drm:mdp5_bind] MDP5 version v1.7
[   26.005477] msm 900000.mdss: bound 901000.mdp (ops mdp5_ops)
[   26.012463] msm 900000.mdss: bound 9a0000.hdmi-tx (ops msm_hdmi_ops)
[   26.017217] ------------[ cut here ]------------
[   26.023421] WARNING: CPU: 0 PID: 1 at drivers/opp/of.c:688 _of_add_opp_table_v2.part.8+0x49c/0x570
[   26.028015] Modules linked in:
[   26.036781] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.0-qcomlt-arm64 #1
[   26.039819] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
[   26.047024] pstate: 20000005 (nzCv daif -PAN -UAO)
[   26.053011] pc : _of_add_opp_table_v2.part.8+0x49c/0x570
[   26.057786] lr : _of_add_opp_table_v2.part.8+0x288/0x570
[   26.063252] sp : ffff80001003b730
[   26.068548] x29: ffff80001003b730 x28: ffff0000f716c000
[   26.071760] x27: fffffffffffffdfb x26: 0000000000000004
[   26.077142] x25: ffff0000f716b000 x24: ffff0000f8881810
[   26.082437] x23: ffff0000f713b000 x22: 0000000000000000
[   26.087732] x21: ffff800011c1e0f8 x20: ffff0000f713b000
[   26.093026] x19: ffff0000f713ac00 x18: ffffffffffffffff
[   26.098322] x17: 0000000000000001 x16: 0000000000000000
[   26.103618] x15: ffff8000119c98c8 x14: ffffffffffffffff
[   26.108912] x13: 0000000000000028 x12: 0000000000000030
[   26.114208] x11: 0000000000000028 x10: 0101010101010101
[   26.119502] x9 : 0000000000000003 x8 : 7f7f7f7f7f7f7f7f
[   26.124797] x7 : ffff0000fd0a0000 x6 : 00000000003b0d00
[   26.130092] x5 : ffff0000fdcb0740 x4 : 0000000000000000
[   26.135389] x3 : 0000000000000002 x2 : 0000000000000000
[   26.140683] x1 : ffff0000fd0a0000 x0 : 0000000000000000
[   26.145980] Call trace:
[   26.151277]  _of_add_opp_table_v2.part.8+0x49c/0x570
[   26.153446]  dev_pm_opp_of_add_table+0x44/0x1f0
[   26.158656]  adreno_gpu_init+0xc8/0x2d8
[   26.162907]  a5xx_gpu_init+0xf8/0x1c8
[   26.166724]  adreno_bind+0x1c8/0x290
[   26.170547]  component_bind_all+0xf8/0x288
[   26.174193]  msm_drm_bind+0x100/0x620
[   26.178097]  try_to_bring_up_master+0x178/0x1d8
[   26.181829]  component_master_add_with_match+0xb0/0x100
[   26.186172]  msm_pdev_probe+0x268/0x330
[   26.191380]  platform_drv_probe+0x50/0xa0
[   26.195198]  really_probe+0x108/0x348
[   26.199362]  driver_probe_device+0x58/0x100
[   26.203011]  device_driver_attach+0x6c/0x90
[   26.207001]  __driver_attach+0x84/0xc8
[   26.211173]  bus_for_each_dev+0x74/0xc8
[   26.214990]  driver_attach+0x20/0x28
[   26.218721]  bus_add_driver+0x148/0x1f0
[   26.222541]  driver_register+0x60/0x110
[   26.226099]  __platform_driver_register+0x40/0x48
[   26.229926]  msm_drm_register+0x50/0x64
[   26.234783]  do_one_initcall+0x5c/0x1b0
[   26.238430]  kernel_init_freeable+0x1a0/0x214
[   26.242250]  kernel_init+0x10/0x108
[   26.246760]  ret_from_fork+0x10/0x18
[   26.250064] ---[ end trace b72e1718b76e5ec9 ]---
[   26.253958] adreno b00000.gpu: [drm:adreno_gpu_init] *ERROR* Unable to set the OPP table
[   26.258518] adreno b00000.gpu: Could not find a clock rate. Using a reasonable default
[   26.266832] adreno b00000.gpu: b00000.gpu supply vdd not found, using dummy regulator
[   26.274393] adreno b00000.gpu: b00000.gpu supply vddcx not found, using dummy regulator
[   26.282256] adreno b00000.gpu: [drm:msm_gpu_init] *ERROR* Couldn't initialize GPU devfreq
[   26.290020] msm 900000.mdss: [drm:msm_gpu_init] A530: using IOMMU
[   26.299993] msm 900000.mdss: bound b00000.gpu (ops a3xx_ops)
[   26.428661] msm_mdp 901000.mdp: [drm:mdp5_kms_init] *ERROR* modeset_init failed: -16
[   26.429210] msm 900000.mdss: [drm:msm_drm_bind] *ERROR* failed to load kms
[   26.435562] ------------[ cut here ]------------
[   26.442146] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_gem.c:1037 drm_gem_object_put+0x84/0xa0
[   26.446915] Modules linked in:
[   26.455681] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         4.14.0-qcomlt-arm64 #1
[   26.458635] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
[   26.467227] pstate: 40000005 (nZcv daif -PAN -UAO)
[   26.473214] pc : drm_gem_object_put+0x84/0xa0
[   26.477988] lr : drm_gem_object_put+0x20/0xa0
[   26.482413] sp : ffff80001003b870
[   26.486754] x29: ffff80001003b870 x28: ffff0000f716c000
[   26.490053] x27: 0000000000000000 x26: ffff80001147e9d8
[   26.495435] x25: ffff0000f7110a80 x24: 0000000000000000
[   26.500731] x23: ffff0000f710f3a0 x22: ffff0000f716b000
[   26.506025] x21: 0000000000000001 x20: ffff0000f712ee00
[   26.511320] x19: ffff0000f712fa00 x18: 0000000000000004
[   26.516615] x17: 0000000000000001 x16: 0000000000000000
[   26.521911] x15: ffff0000f716b1f8 x14: ffff0000f8e1c7f0
[   26.527206] x13: 0000000000000000 x12: ffff0000f716b1f8
[   26.532501] x11: ffff0000f8e1c6d8 x10: 0000000000000000
[   26.537796] x9 : ffff8000119c98c8 x8 : ffff800011c1e000
[   26.543091] x7 : 0000000000000000 x6 : 000000002525086d
[   26.548387] x5 : 00ffffffffffffff x4 : ffff0000fd0a0000
[   26.553681] x3 : ffff0000f712fba8 x2 : 0000000000000000
[   26.558977] x1 : 0000000000000000 x0 : 0000000000000000
[   26.564274] Call trace:
[   26.569567]  drm_gem_object_put+0x84/0xa0
[   26.571740]  msm_gem_kernel_put+0x5c/0x70
[   26.575908]  a5xx_preempt_fini+0x3c/0x60
[   26.579897]  a5xx_destroy+0x2c/0x90
[   26.583890]  adreno_unbind+0x28/0x40
[   26.587104]  component_unbind.isra.9+0x2c/0x50
[   26.590922]  component_unbind_all+0xd0/0xf8
[   26.595176]  msm_drm_uninit+0x10c/0x190
[   26.599254]  msm_drm_bind+0x1dc/0x620
[   26.603074]  try_to_bring_up_master+0x178/0x1d8
[   26.606895]  component_master_add_with_match+0xb0/0x100
[   26.611236]  msm_pdev_probe+0x268/0x330
[   26.616445]  platform_drv_probe+0x50/0xa0
[   26.620262]  really_probe+0x108/0x348
[   26.624427]  driver_probe_device+0x58/0x100
[   26.628074]  device_driver_attach+0x6c/0x90
[   26.632067]  __driver_attach+0x84/0xc8
[   26.636235]  bus_for_each_dev+0x74/0xc8
[   26.640055]  driver_attach+0x20/0x28
[   26.643787]  bus_add_driver+0x148/0x1f0
[   26.647604]  driver_register+0x60/0x110
[   26.651163]  __platform_driver_register+0x40/0x48
[   26.654990]  msm_drm_register+0x50/0x64
[   26.659847]  do_one_initcall+0x5c/0x1b0
[   26.663494]  kernel_init_freeable+0x1a0/0x214
[   26.667314]  kernel_init+0x10/0x108
[   26.671825]  ret_from_fork+0x10/0x18
[   26.675124] ---[ end trace b72e1718b76e5eca ]---
[   26.679053] ------------[ cut here ]------------
[   26.683550] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_gem.c:1037 drm_gem_object_put+0x84/0xa0
[   26.688148] Modules linked in:
[   26.696911] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         4.14.0-qcomlt-arm64 #1
[   26.699866] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
[   26.708459] pstate: 40000005 (nZcv daif -PAN -UAO)
[   26.714447] pc : drm_gem_object_put+0x84/0xa0
[   26.719222] lr : drm_gem_object_put+0x20/0xa0
[   26.723647] sp : ffff80001003b870
[   26.727986] x29: ffff80001003b870 x28: ffff0000f716c000
[   26.731287] x27: 0000000000000000 x26: ffff80001147e9d8
[   26.736669] x25: ffff0000f7110a80 x24: 0000000000000000
[   26.741964] x23: ffff0000f710f3a0 x22: ffff0000f716b000
[   26.747259] x21: 0000000000000001 x20: ffff0000f712ee00
[   26.752555] x19: ffff0000f712fc00 x18: 0000000000000004
[   26.757849] x17: 0000000000000001 x16: 0000000000000000
[   26.763145] x15: ffff0000f716b1f8 x14: ffff0000f8e1c7f0
[   26.768439] x13: 0000000000000000 x12: ffff0000f716b1f8
[   26.773735] x11: ffff0000f8e1c6d8 x10: 0000000000000000
[   26.779030] x9 : ffff8000119c98c8 x8 : ffff800011c1e000
[   26.784325] x7 : 0000000000000000 x6 : ffff0000f8944638
[   26.789621] x5 : ffff0000f8944638 x4 : ffff0000fd0a0000
[   26.794916] x3 : ffff0000f712fda8 x2 : 0000000000000000
[   26.800211] x1 : 0000000000000000 x0 : 0000000000000000
[   26.805505] Call trace:
[   26.810800]  drm_gem_object_put+0x84/0xa0
[   26.812972]  msm_gem_kernel_put+0x5c/0x70
[   26.817138]  a5xx_preempt_fini+0x3c/0x60
[   26.821130]  a5xx_destroy+0x2c/0x90
[   26.825123]  adreno_unbind+0x28/0x40
[   26.828335]  component_unbind.isra.9+0x2c/0x50
[   26.832154]  component_unbind_all+0xd0/0xf8
[   26.836409]  msm_drm_uninit+0x10c/0x190
[   26.840488]  msm_drm_bind+0x1dc/0x620
[   26.844307]  try_to_bring_up_master+0x178/0x1d8
[   26.848128]  component_master_add_with_match+0xb0/0x100
[   26.852469]  msm_pdev_probe+0x268/0x330
[   26.857675]  platform_drv_probe+0x50/0xa0
[   26.861495]  really_probe+0x108/0x348
[   26.865661]  driver_probe_device+0x58/0x100
[   26.869307]  device_driver_attach+0x6c/0x90
[   26.873300]  __driver_attach+0x84/0xc8
[   26.877468]  bus_for_each_dev+0x74/0xc8
[   26.881287]  driver_attach+0x20/0x28
[   26.885020]  bus_add_driver+0x148/0x1f0
[   26.888839]  driver_register+0x60/0x110
[   26.892396]  __platform_driver_register+0x40/0x48
[   26.896219]  msm_drm_register+0x50/0x64
[   26.901078]  do_one_initcall+0x5c/0x1b0
[   26.904725]  kernel_init_freeable+0x1a0/0x214
[   26.908543]  kernel_init+0x10/0x108
[   26.913057]  ret_from_fork+0x10/0x18
[   26.916355] ---[ end trace b72e1718b76e5ecb ]---
[   26.920243] ------------[ cut here ]------------
[   26.924781] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_gem.c:1037 drm_gem_object_put+0x84/0xa0
[   26.929381] Modules linked in:
[   26.938144] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         4.14.0-qcomlt-arm64 #1
[   26.941100] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
[   26.949691] pstate: 40000005 (nZcv daif -PAN -UAO)
[   26.955680] pc : drm_gem_object_put+0x84/0xa0
[   26.960454] lr : drm_gem_object_put+0x20/0xa0
[   26.964880] sp : ffff80001003b870
[   26.969220] x29: ffff80001003b870 x28: ffff0000f716c000
[   26.972518] x27: 0000000000000000 x26: ffff80001147e9d8
[   26.977901] x25: ffff0000f7110a80 x24: 0000000000000000
[   26.983197] x23: ffff0000f710f3a0 x22: ffff0000f716b000
[   26.988492] x21: 0000000000000001 x20: ffff0000f712ee00
[   26.993786] x19: ffff0000f712fe00 x18: 0000000000000004
[   26.999082] x17: 0000000000000001 x16: 0000000000000000
[   27.004377] x15: ffff0000f716b1f8 x14: ffff0000f8e1c7f0
[   27.009673] x13: 0000000000000000 x12: ffff0000f716b1f8
[   27.014968] x11: ffff0000f8e1c6d8 x10: 0000000000000040
[   27.020262] x9 : ffff8000119df528 x8 : ffff8000119df520
[   27.025558] x7 : ffff0000f8c00068 x6 : ffff0000f8944638
[   27.030853] x5 : ffff0000f8944638 x4 : ffff0000fd0a0000
[   27.036148] x3 : ffff0000f712ffa8 x2 : 0000000000000000
[   27.041444] x1 : 0000000000000000 x0 : 0000000000000000
[   27.046738] Call trace:
[   27.052032]  drm_gem_object_put+0x84/0xa0
[   27.054206]  msm_gem_kernel_put+0x5c/0x70
[   27.058370]  a5xx_preempt_fini+0x3c/0x60
[   27.062362]  a5xx_destroy+0x2c/0x90
[   27.066355]  adreno_unbind+0x28/0x40
[   27.069567]  component_unbind.isra.9+0x2c/0x50
[   27.073388]  component_unbind_all+0xd0/0xf8
[   27.077640]  msm_drm_uninit+0x10c/0x190
[   27.081721]  msm_drm_bind+0x1dc/0x620
[   27.085541]  try_to_bring_up_master+0x178/0x1d8
[   27.089361]  component_master_add_with_match+0xb0/0x100
[   27.093701]  msm_pdev_probe+0x268/0x330
[   27.098908]  platform_drv_probe+0x50/0xa0
[   27.102727]  really_probe+0x108/0x348
[   27.106893]  driver_probe_device+0x58/0x100
[   27.110540]  device_driver_attach+0x6c/0x90
[   27.114533]  __driver_attach+0x84/0xc8
[   27.118701]  bus_for_each_dev+0x74/0xc8
[   27.122520]  driver_attach+0x20/0x28
[   27.126252]  bus_add_driver+0x148/0x1f0
[   27.130071]  driver_register+0x60/0x110
[   27.133630]  __platform_driver_register+0x40/0x48
[   27.137451]  msm_drm_register+0x50/0x64
[   27.142310]  do_one_initcall+0x5c/0x1b0
[   27.145957]  kernel_init_freeable+0x1a0/0x214
[   27.149777]  kernel_init+0x10/0x108
[   27.154290]  ret_from_fork+0x10/0x18
[   27.157587] ---[ end trace b72e1718b76e5ecc ]---
[   27.161498] ------------[ cut here ]------------
[   27.166013] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_gem.c:1037 drm_gem_object_put+0x84/0xa0
[   27.170613] Modules linked in:
[   27.179377] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W         4.14.0-qcomlt-arm64 #1
[   27.182333] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
[   27.190924] pstate: 40000005 (nZcv daif -PAN -UAO)
[   27.196913] pc : drm_gem_object_put+0x84/0xa0
[   27.201686] lr : drm_gem_object_put+0x20/0xa0
[   27.206112] sp : ffff80001003b870
[   27.210451] x29: ffff80001003b870 x28: ffff0000f716c000
[   27.213752] x27: 0000000000000000 x26: ffff80001147e9d8
[   27.219134] x25: ffff0000f7110a80 x24: 0000000000000000
[   27.224430] x23: ffff0000f710f3a0 x22: ffff0000f716b000
[   27.229725] x21: 0000000000000001 x20: ffff0000f712ee00
[   27.235020] x19: ffff0000f71ea000 x18: 0000000000000004
[   27.240314] x17: 0000000000000001 x16: 0000000000000000
[   27.245610] x15: ffff0000f716b1f8 x14: ffff0000f8e1c7f0
[   27.250905] x13: 0000000000000000 x12: ffff0000f716b1f8
[   27.256200] x11: ffff0000f8e1c6d8 x10: 0000000000000040
[   27.261495] x9 : ffff8000119df528 x8 : ffff8000119df520
[   27.266791] x7 : ffff0000f8c00068 x6 : ffff0000f8944638
[   27.272086] x5 : ffff0000f8944638 x4 : ffff0000fd0a0000
[   27.277380] x3 : ffff0000f71ea1a8 x2 : 0000000000000000
[   27.282676] x1 : 0000000000000000 x0 : 0000000000000000
[   27.287971] Call trace:
[   27.293264]  drm_gem_object_put+0x84/0xa0
[   27.295437]  msm_gem_kernel_put+0x5c/0x70
[   27.299604]  a5xx_preempt_fini+0x3c/0x60
[   27.303596]  a5xx_destroy+0x2c/0x90
[   27.307588]  adreno_unbind+0x28/0x40
[   27.310800]  component_unbind.isra.9+0x2c/0x50
[   27.314621]  component_unbind_all+0xd0/0xf8
[   27.318875]  msm_drm_uninit+0x10c/0x190
[   27.322953]  msm_drm_bind+0x1dc/0x620
[   27.326772]  try_to_bring_up_master+0x178/0x1d8
[   27.330593]  component_master_add_with_match+0xb0/0x100
[   27.334933]  msm_pdev_probe+0x268/0x330
[   27.340141]  platform_drv_probe+0x50/0xa0
[   27.343961]  really_probe+0x108/0x348
[   27.348126]  driver_probe_device+0x58/0x100
[   27.351772]  device_driver_attach+0x6c/0x90
[   27.355765]  __driver_attach+0x84/0xc8
[   27.359934]  bus_for_each_dev+0x74/0xc8
[   27.363752]  driver_attach+0x20/0x28
[   27.367486]  bus_add_driver+0x148/0x1f0
[   27.371304]  driver_register+0x60/0x110
[   27.374863]  __platform_driver_register+0x40/0x48
[   27.378684]  msm_drm_register+0x50/0x64
[   27.383543]  do_one_initcall+0x5c/0x1b0
[   27.387189]  kernel_init_freeable+0x1a0/0x214
[   27.391010]  kernel_init+0x10/0x108
[   27.395523]  ret_from_fork+0x10/0x18
[   27.398820] ---[ end trace b72e1718b76e5ecd ]---
[   27.405984] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[   27.407526] Mem abort info:
[   27.417438]   ESR = 0x96000004
[   27.418794]   EC = 0x25: DABT (current EL), IL = 32 bits
[   27.422391]   SET = 0, FnV = 0
[   27.427901]   EA = 0, S1PTW = 0
[   27.430579] Data abort info:
[   27.433768]   ISV = 0, ISS = 0x00000004
[   27.436359]   CM = 0, WnR = 0
[   27.440417] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000178929000
[   27.443473] [0000000000000000] pgd=0000000000000000
[   27.449996] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[   27.454174] Modules linked in:
[   27.459847] CPU: 2 PID: 163 Comm: kworker/u8:2 Tainted: G        W         4.14.0-qcomlt-arm64 #1
[   27.462900] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
[   27.472121] Workqueue: msm msm_gem_free_work
[   27.477934] pstate: 80000005 (Nzcv daif -PAN -UAO)
[   27.482402] pc : _raw_write_lock_irqsave+0x1f8/0x2b4
[   27.487068] lr : drm_vma_offset_remove+0x18/0x70
[   27.492010] sp : ffff800012723d20
[   27.496615] x29: ffff800012723d20 x28: 0000000000000000
[   27.499834] x27: 0000000000000000 x26: ffff0000f716b068
[   27.505205] x25: 0000000000000000 x24: ffff0000f716c0a8
[   27.510508] x23: dead000000000100 x22: dead000000000122
[   27.515796] x21: 0000000000000000 x20: ffff0000f712f018
[   27.521097] x19: ffff0000f712f000 x18: 0000000000000000
[   27.526382] x17: 0000000000000000 x16: 0000000000000000
[   27.531681] x15: 0000000000000000 x14: 0000000000000000
[   27.536984] x13: 0000000000000400 x12: 0000000000000000
[   27.542269] x11: 0000000000000000 x10: 0000000000000000
[   27.547569] x9 : 0000000000000000 x8 : 0000000040000000
[   27.552864] x7 : 0000000000000000 x6 : ffff0000fdc34438
[   27.558151] x5 : 0000000000000200 x4 : 0000000000000200
[   27.563447] x3 : 0000000000000000 x2 : 00000000000000ff
[   27.568742] x1 : 0000000000000000 x0 : 0000000000000000
[   27.574041] Call trace:
[   27.579421]  _raw_write_lock_irqsave+0x1f8/0x2b4
[   27.581632]  drm_vma_offset_remove+0x18/0x70
[   27.586506]  drm_gem_object_release+0x3c/0x50
[   27.590752]  msm_gem_free_work+0x94/0x150
[   27.594999]  process_one_work+0x1e0/0x358
[   27.598945]  worker_thread+0x40/0x488
[   27.602997]  kthread+0x118/0x120
[   27.606594]  ret_from_fork+0x10/0x18
[   27.610039] Code: 88047c62 35ffff84 17fffe92 f9800071 (885ffc60)
[   27.613539] ---[ end trace b72e1718b76e5ece ]---

I’ve not seen anything like that… I’ve not had a chance to boot db820c recently, but I’ve booted some newer things on v5.5-rc with no issue, and at least for the first backtrace, it should be a common code path. What was the last kernel that worked?

re: the KERNELRELEASE thing, is it possibly that you end up trying to load some v4.14.0 modules in a v5.4+ kernel? I’m sure that could go pretty badly…

Hi @robclark , thank you for responding.

There is no chance that it tried to load 4.14 modules. I have forgotten a few times to delete and replace the modules, but it goes far worse.

The most recent kernel I have had running successfully on the board was actually a 4.14 (.165). I tried 4.19, but couldn’t get any kind of debug output at all before it rebooted.

latest kernel (5.5-rc7) seems to boot fine on kernelci.org:
https://storage.kernelci.org/mainline/master/v5.5-rc7/arm64/defconfig/gcc-8/lab-bjorn/boot-apq8096-db820c.html

are you sure you are not altering the DTS in any ways?

I havent touched the DTS.

Are you sure that yours is working? Display working? Your log is showing the same crashes mine is starting at 6.501368 seconds.

i had built the 5.5.0-rc6 linux-next kernel, it boots, not able to detect the rootfs.
i had used the defconfig.

Do we need to use any distro.config from 4.14.96 kernel and different initrd?

Your issue is kind of off topic. Your UFS isn’t being initialized, you are missing some configs needed for that. Look at the configs that @Loic proposed here; [PATCH] arm64: Add qcom Kconfig fragment

I’ve made some excellent progress on this issue.

It turns out that the Linaro Debian snapshots are, as of FRIDAY, coming with kernel 5.4.12.
Config from here;
http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/latest/config-5.4.0-qcomlt-arm64
Source from here;
https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/log/?h=release/qcomlt-5.4
Status: WORKING.

Now the interesting part…
Same config, but source from here;
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/?h=v5.4.12
Status: NOT working.

$ git log --oneline v5.4.12..release/qcomlt-5.4
27cd531 arch/arm64/configs: Enable CONFIG_*_WCD934X to get audio in DB845c
e3f877a Merge tag 'v5.4.12' into release/qcomlt-5.4
a30237d arm64: defconfig: Make GLINK RPM builtin
5dcc1fd arm64: dts: qcom: db820c: Specify firmware for adsp and mpss
e8c3051 arm64: dts: msm8996: Add modem remoteproc
4576ecf arch/arm64/configs/defconfig: Switch CONFIG_PHY_QCOM_UFS to builtin
2ee4b48 Merge remote-tracking branch 'srini/release/qcomlt-5.4' into release/qcomlt-5.4
e9a9f30 fixup: dts: db845c: audio
26683d7 fixup: wsa881x codec
ece1ea0 fixup: qcom soundwire controller
66f2cd1 fixup: wcd934x support
34168ab gpio: Add definition for GPIO direction
e5f9fc5 arm64: dts: qcom: msm8996: Define parent clocks for gcc
a53a5a8 clk: qcom: gcc-msm8996: Fix parent for CLKREF clocks
edcbe8e arm64: dts: qcom: db410c: Update firmware-name for wcnss and mpss
4dd73a0 remoteproc: qcom: wcnss: Allow specifying firmware-name
e8fc95a0 Merge tag 'v5.4.8' into release/qcomlt-5.4
acf5123 Merge tag 'v5.4.6' into release/qcomlt-5.4
3458143 Merge tag 'v5.4.5' into release/qcomlt-5.4
ea4beed arm64: defconfig: Enable SDM845c audio and soundwire
d1f6f5a arm64: defconfig: Enable fastrpc, mailbox, rpmpd, reset_pdc
9c36b5f arm64: defconfig: Enable ethernet configs
72ebb7a arm64: defconfig: Enable PM8916 watchdog driver
7c44381 arm64: defconfig: add msm8996 analog audio support (slimbus, wcd9335)
c40ec88 arch/arm64/configs/defconfig: enable POWER_RESET_QCOM_PON for db820c
2084682 arch/arm64/configs/defconfig: Add RPMSG and RMTFS_MEM as m for db820c
38b22e7 arch/arm64/configs/defconfig: Enable USB_DWC3_ULPI for db820c
5df70304 arch/arm64/configs/defconfig: Enable SND_SOC_MSM8996 as m for db820c
486f222 arch/arm64/configs/defconfig: Enable ath10k as m for db820c
ce4328a arch/arm64/configs/defconfig: Enable QRTR as modules
9c42fca rch/arm64/configs/defconfig: Enable BT_QCOMSMD as m for db410c
4e229e6 arch/arm64/configs/defconfig: Enable default governor on demand
a66a67f arch/arm64/configs/defconfig: Enable DB410c audio as modules
e351e6d arch/arm64/configs/defconfig: Enable remoteproc QCOM_ADSP_PIL as modules
d5f52b1 arch/arm64/configs/defconfig: Enable ULPI bus needed by DB410c USB
c5de666 arch/arm64/configs/defconfig: Enable SDM_VIDEOCC_845 for venus clock on DB845c
6c30c12 arch/arm64/configs/defconfig: Enable bluetooth on DB845c
0a9ee21 media: venus: core: Fix msm8996 frequency table
8a6b075 arm: dts: qcom: db410c: Enable USB OTG support
9a74135 Merge remote-tracking branch 'cpuidle/wrk3/automerge/idle-branch' into integration-linux-qcomlt
e85b470 Merge remote-tracking branch 'sm8150-misc/tracking-qcomlt-sm8150-misc' into integration-linux-qcomlt
4ace0d6 Merge remote-tracking branch 'sm8150-dt/tracking-qcomlt-sm8150-dt' into integration-linux-qcomlt
46744f0 Merge remote-tracking branch 'sm8150-gcc/tracking-qcomlt-sm8150-gcc' into integration-linux-qcomlt
979abd1 Merge remote-tracking branch 'qcs404-cpufreq/tracking-qcomlt-qcs404-cpufreq' into integration-linux-qcomlt
dfec889 Merge remote-tracking branch 'qcs404-dt/tracking-qcomlt-qcs404-dt' into integration-linux-qcomlt
7d9112d Merge remote-tracking branch 'qcs404-defconfig/tracking-qcomlt-qcs404-defconfig' into integration-linux-qcomlt
692b0a4 Merge remote-tracking branch 'ath10k/tracking-qcomlt-ath10k' into integration-linux-qcomlt
c59dc5b Merge remote-tracking branch 'lt9611/tracking-qcomlt-lt9611' into integration-linux-qcomlt
48b96c6 Merge remote-tracking branch 'thermal/wrk3/automerge/thermal-branch' into integration-linux-qcomlt
9c82f09 Merge remote-tracking branch 'bus-scaling/icc-testing' into integration-linux-qcomlt
765fcca Merge remote-tracking branch 'sdm845-db845c/tracking-qcomlt-sdm845-db845c' into integration-linux-qcomlt
6d5990b Merge remote-tracking branch 'sdm845-pcie/tracking-qcomlt-sdm845-pcie' into integration-linux-qcomlt
e62d579 Merge remote-tracking branch 'distro.config/tracking-qcomlt-config-fragments' into integration-linux-qcomlt
16c91ac Merge remote-tracking branch 'arm64-defconfig/tracking-qcomlt-arm64-defconfig' into integration-linux-qcomlt
fe48185 Merge remote-tracking branch 'ufs/tracking-qcomlt-ufs' into integration-linux-qcomlt
0942896 Merge remote-tracking branch 'iommu/tracking-qcomlt-iommu' into integration-linux-qcomlt
4ae000c Merge remote-tracking branch 'drm-msm/tracking-qcomlt-drm-msm' into integration-linux-qcomlt
258e650 Merge remote-tracking branch 'fixes/tracking-qcomlt-fixes-without-devfreq-reverts' into integration-linux-qcomlt
3822eab Merge remote-tracking branch 'audio/tracking-qcomlt-audio' into integration-linux-qcomlt
17ef85e Merge remote-tracking branch 'wcd9335/tracking-qcomlt-wcd9335' into integration-linux-qcomlt
53d8b93 Merge remote-tracking branch 'msm8996-dt/tracking-qcomlt-msm8996-dt' into integration-linux-qcomlt
c698e29 arm64: defconfig: Enable interconnect drivers
73d06c2 arm64: dts: msm8916: Add interconnect provider DT nodes
ad8cc09 interconnect: Add debugfs test code
6dd82ea interconnect: Print the tag in the debugfs summary
4a62979 interconnect: qcom: qcs404: Drop unused slab.h include
784de04 interconnect: Check for valid path in icc_set_bw()
d30cec2 interconnect: qcom: Add MSM8916 interconnect provider driver
b54317d dt-bindings: interconnect: Add Qualcomm MSM8916 DT bindings
db7a7ca interconnect: Add interconnect_graph file to debugfs
40db6d9 interconnect: qcom: Fix Kconfig indentation
9d3436b interconnect: qcom: Use the new common helper for node removal
b1a25dc interconnect: Add a common helper for removing all nodes
8a2f626 interconnect: qcom: msm8974: Walk the list safely on node removal
51d6253 interconnect: qcom: qcs404: Walk the list safely on node removal
d5052e0 interconnect: qcom: sdm845: Walk the list safely on node removal
72c0c1f interconnect: qcom: Use the standard aggregate function
7feded4 interconnect: Add a common standard aggregate function
2d2debf interconnect: Add basic tracepoints
423800e interconnect: Add a name to struct icc_path
f61c339 interconnect: Move internal structs into a separate file
1ecacc8 clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs
0778ef2 interconnect: qcom: add msm8974 driver
5e639fc dt-bindings: interconnect: qcom: add msm8974 bindings
f2959ae arm64: dts: qcom: db845c: Move remoteproc firmware to sdm845
0375830 arm64: dts: qcom: sdm845: Add APSS watchdog node
f3f9ae4 arm64: dts: db845c: add Low speed expansion i2c and spi nodes
d7a1ffb arm64: dts: db845c: add support to analog audio
8e53ed0 arm64: dts: sdm845: add support to hexagon dsp audio support
813197f arm64: dts: db845: add hdmi digital audio support
fa82971 arm64: defconfig: Enable LT9611 driver
4807964 arm64: dts: qcom: sdm845-db845c: Bring in LT9611
776e06f drm/bridge: lt9611: Update include files
8a32df8 HACK: db845c: drm/bridge: lt9611: comment out lt9611_sleep_setup()
b94571f drm/bridge: lt9611: Add hdmi audio codec support
d43abea usb: xhci: provide a debugfs hook for erasing rom
be60ce2 usb: xhci: allow multiple firmware versions
f810f55 usb: xhci: Add ROM loader for uPD720201
55be56b usb: xhci: add firmware loader for uPD720201 and uPD720202 w/o ROM
169d87f arm64: dts: qcom: db845c: Enable LVS 1 and 2
a9df867 arm64: dts: qcom: db845c: Enable PCIe controllers
056097a arm64: dts: qcom: sdm845: Add second PCIe PHY and controller
04de039 arm64: dts: qcom: sdm845: Add first PCIe controller and PHY
03f5d4e PCI: qcom: Add support for SDM845 PCIe controller
f776079 PCI: qcom: Fix the fixup of PCI_VENDOR_ID_QCOM
2b07b28 dt-bindings: PCI: qcom: Add support for SDM845 PCIe
60cb030 phy: qcom: qmp: Add SDM845 QHP PCIe PHY
7922278 phy: qcom: qmp: Add SDM845 PCIe QMP PHY support
6dc7319 phy: qcom: qmp: Use power_on/off ops for PCIe
00ef8d1 phy: qcom-qmp: Increase PHY ready timeout
ec75dab dt-bindings: phy-qcom-qmp: Add SDM845 PCIe to binding
3649f67 arm64: defconfig: Enable ATH10K_SNOC
8c74983 ath10k: qmi: Sleep for a while before assigning MSA memory
ac3231f ath10k: Add quirk to skip host capability QMI request
aa08589 soc: qcom: socinfo: add missing soc_id sysfs entry
a49117b soc: qcom: socinfo: add sdm845 and sda845 soc ids
14087f0 misc: fastrpc: revert max init file size back to 2MB
c14d3d7 misc: fastrpc: handle interrupted contexts
c2afa790 misc: fastrpc: do not interrupt kernel calls
8ca865a misc: fastrpc: fix memory leak from miscdev->name
2248077 misc: fastrpc: add mmap/unmap support
3f7f344 drm/msm/hdmi: Switch to DRM_CONNECTOR_POLL_HPD
1bea2e19 drm/msm/hdmi: Keep the HDMI_CTRL_ENABLE bitfield always on
984ebe5 drm/msm/hdmi: wait a bit for HPD sense to come up
a25c0a8 [HACK] clk: qcom: Hook up gpu_gx gdsc as a parent of gpu_gdsc
9ef2eae mmc: mmci: Support any block sizes for ux500v2 and qcom variant
49bcd0b clk: qcom: gcc: Add missing clocks in SM8150
b67e2fc phy: qcom-qmp: Add SM8150 QMP UFS PHY support
46324ae dt-bindings: phy-qcom-qmp: Add sm8150 UFS phy compatible string
1c82883 dt-bindings: ufs: Add sm8150 compatible string
ef2734c ASoC: qcom: sdm845: add support to DB845c and Lenovo Yoga
11504d7 ASoC: qcom: dt-bindings: Add compatible for DB845c and Lenovo Yoga
58d0a3b pinctrl: qcom-wcd934x: Add support to wcd934x pinctrl driver.
c854ba5 dt-bindings: pinctrl: qcom-wcd934x: Add bindings for gpio
c25ea5a ASoC: wcd934x: add audio routings
6c7bdfb ASoC: wcd934x: add capture dapm widgets
70a640b ASoC: wcd934x: add playback dapm widgets
53ff7c5 ASoC: wcd934x: add basic controls
772257f ASoC: wcd934x: add support to wcd9340/wcd9341 codec
6cc8419 mfd: wcd934x: add support to wcd9340/wcd9341 codec
ee1e3eb ASoC: dt-bindings: add dt bindings for WCD9340/WCD9341 audio codec
f6e4226 arm64: dts: qcom: c630: Enable adsp, cdsp and mpss
866721b ASoC: wcd9335: convert to correct paging in regmap config
685c57a ASoC: codecs: add wsa881x amplifier support
b0184e4 dt-bindings: ASoC: WSA881x: Add missing #sound-dai-cells
c104176 dt-bindings: ASoC: Add WSA881x bindings
2f0dbed soundwire: qcom: add support for SoundWire controller
8ea19ea dt-bindings: soundwire: add bindings for Qcom controller
9f1b8b7 slimbus: ngd: add v2.1.0 compatible
e7054b5 soc: qcom: apr: Release the QMI handle on failure
7c711f5 soundwire: stream: check defer msg before freeing it
14f07a4 HACK: soundwire: bus: check pm runtime enabled before err
2acb8e2 HACK: soundwire: stream: do not program bits and sample size for pdm
17f792e HACK: soundwire: bus: hack to not setup slave interrupts
08fc27e HACK: qcom: apr: Wait for PD up notification
a1c2849 arm64: dts: qcom: sm8150-mtp:  Enable UFS nodes
918c02d arm64: dts: qcom: sm8150: Add ufs nodes
19a75e3 arm64: dts: qcom: Use gcc clock enums
08efe00 arm64: dts: qcom: sm8150: Add ADSP, CDSP and MPSS remoteprocs
6a4202c arm64: dts: qcom: sm8150: Add adsp, cdsp, modem and slpi smp2p
5d13cc5 arm64: defconfig: Enable Venus
0fb33de arm64: config: Enable db845c relates configs
4f6bfc6 clk: qcom: hfpll: CLK_IGNORE_UNUSED
dd487b2 clk: qcom: hfpll: register as clock provider
b5bea89 clk: qcom: hfpll: get parent clock names from DT
e3b4a3e clk: qcom: apcs-msm8916: get parent clock names from DT
14f5a33 dt-bindings: mailbox: qcom: Add clock-name optional property
4ceb7f8 clk: qcom: gcc: limit GPLL0_AO_OUT operating frequency
e27cfb7 drm/bridge: lt9611: Add i2s initialization
64c3a13 drm/bridge: Introduce LT9611 DSI to HDMI bridge
5ad1c86 ASoC: apq8096: add headset JACK support
c408886 iommu: arm-smmu: Handoff SMR registers and context banks
b833db03 iommu: arm-smmu: Don't blindly use first SMR to calculate mask
04959e7 arm64: dts/sdm845: Enable FW implemented safe sequence handler on MTP
60b3065 iommu/arm-smmu: Add support to handle Qcom's wait-for-safe logic
7e602dc firmware/qcom_scm: Add scm call to handle smmu errata
ce6079a firmware: qcom_scm-64: Add atomic version of qcom_scm_call
b5707cd arch/arm64/*/defconfig: Configure USB_XHCI_{PCI, HCD} as a module
23461f3 arm64: dts: qcom: sdm845: Specify UFS device-reset GPIO
bdb51a7 scsi: ufs-qcom: Implement device_reset vops
eb11db4 scsi: ufs: Introduce vops for resetting device
509972e [WIP] arm64: dts: msm8996: add deeper idle states
ab5b5e2 arm64: dts: qcom: enable voltage scaling (opp)
f89c800 arm64: dts: qcom: qcs404: Add USB devices and PHYs
82a6234 arm64: dts: qcom: qcs404: Add fastrpc nodes
49dd441 arm64: dts: qcom: qcs404: Add cpufreq support
474d32c arm64: dts: qcom: qcs404: Add the clocks for APCS mux/divider
94c3a42 arm64: dts: qcom: qcs404: Add HFPLL node
41ff4f2 arm64: dts: qcom: qcs404: Add OPP table
9c0b46e dt-bindings: mailbox: qcom: Add clock-name optional property
1db06fa arm64: dts: qcom: qcs404: Add USB devices and PHYs
b6b8727 ASoC: wcd9335: add mbhc support
f249ea6 ASoC: dt-bindings: Add WCD9335 MBHC specific properties
6ea03a8 arm64: defconfig: Enable QCOM UFS PHY
9a90c31 arm64: defconfig: Enable cpufreq and geni I2C
37bc096e arm64: defconfig: Add SDM845 configs for display
85531fd arm64: defconfig: Enable PMIC thermal
da6f1be arm64: defconfig: enable PHY_QCOM_QUSB2
90807d1 arm64: defconfig: Enable QRTR
ef76624 arm64: defconfig: Enable drivers used by SDM845
c498ca1 arm64: defconfig: Enable GENI serial console
237864d arm64: defconfig: Enable RPMH functionality
1dad544 arm64: defconfig: Enable geni se support for sdm845
feb094a arm64: defconfig: Enable TCS mailbox and rpmh API support
67f48bd arm64: defconfig: Enable minimal drivers needed to boot
5b2598f arm64: defconfig: Enable some Qualcomm drivers
f5104d5 arm64: defconfig: enable WCN36xx wireless
7978d15 arm64: defconfig: kconfigs for db820c
a8cd626 drivers: thermal: Initialize thermal core earlier
52cce7f drivers: cpufreq: Initialize platform drivers earlier
acf124c drivers: cpufreq: Initialize governors earlier
2623948 arm64: dts: qcom: pms405: Rename adc outputs as per schematics
be2900d arm64: dts: qcom: pms405: calibrate the VADC correctly
925da4d arm64: defconfig: Enable PMIC thermal
d85fe9c arm64: dts: msm8996: add fastrpc nodes
37113fe arm64: msm8996: fix memory region overlap
df5ebe3 arm64: dts: db820c: add support to wcd9335 playback and capture
5c02919 arm64: dts: Add s2 regulator in pmi8994
2d58756 arm64: defconfig: Enable HFPLL
43f4514 arm64: defconfig: enable USB phy drivers for qcs404
88f4308 drm/msm/hdmi: Switch to DRM_CONNECTOR_POLL_HPD
ac0d669 drm/msm/hdmi: Keep the HDMI_CTRL_ENABLE bitfield always on
6ecef88 drm/msm/hdmi: wait a bit for HPD sense to come up
e6ec98d kernel: distro.config: enable schedutil governor as default
53f9245 kernel: configs: enable RPMSG char device
be53e30 configs: add debug.config
b3b9d1d Disable blk_cgroup and blk_dev_throttling configs
530eef4 kernel: distro.config: enable PM8xxx RTC driver
3802426 kernel: distro.config: enable more networking options
1fe70d7 kernel: distro.config: enable 'BBR' TCP congestion algorithm
8f6ee89 kernel: distro.config: enable 'fq' and 'fq_codel' qdiscs
79517f2 kernel: distro.config: enable 'schedutil' CPUfreq governor
830deff9 kernel: configs: set USB_CONFIG_F_FS in distro.config
0b57d08 kernel: configs: add freq stat to sysfs
425f4dc kernel: configs: add more USB net drivers
5a0e9b2 kernel: configs: enable dm_mod and dm_crypt
a483ffd kernel: distro.config: enable debug friendly USB network adpater
bb8ef87 kernel: configs; add distro.config

@robclark :

This works working/qualcomm/kernel.git - Qualcomm Landing Team kernel

This doesn’t kernel/git/stable/linux.git - Linux kernel stable tree

The difference between them is not staggering, but still greek to me.

I’ve managed to work it out;