5.x Kernel support on yocto dunfell

Hi everyone,

We are currently working on bringing up a system based on DB 820c built on yocto dunfell. The board by default came with a 4.14 kernel and we tried to get up and running with newer kernel without a chance so far.
The distro we are using is very basic and work fine on qemu. Main enabled/disabled features are below:
PACKAGECONFIG_append_pn-qemu-system-native = " gtk+"
DISTRO_FEATURES_remove = "
directfb
vulkan
wayland
x11
"
INIT_MANAGER = “systemd”

PREFERRED_VERSION_linux-linaro-qcomlt is used to switch kernels.

  • 5.15 Kernel hangs very often with the below last same output:
    [ 7.607085] ufshcd-qcom 624000.ufshc: ufshcd_populate_vreg: Unable to find vdd-hba-supply regulator, assuming enabled
    [ 7.609025] ufshcd-qcom 624000.ufshc: Failed to get reset control -2
    [ 7.622985] scsi host0: ufshcd
    [ 7.623902] ufshcd-qcom 624000.ufshc: ufs_qcom_host_reset: reset control not set

  • Building on 5.13 show some crashes:
    [ 19.298747] WARNING: CPU: 1 PID: 126 at drivers/gpu/drm/drm_mode_config.c:648 drm_mode_config_validate+0x238/0x4d0 [drm]
    [ 19.310098] Modules linked in: msm mdt_loader drm_kms_helper drm qcom_rng hci_uart btqca btbcm bluetooth ecdh_generic ecc phy_qcom_qusb2 qcom_spmi_temp_alarm rtc_pm8xxx qcom_pon socinfo rpmsg_char icc_smd_rpm rmtfs_meml
    [ 19.320968] CPU: 1 PID: 126 Comm: kworker/u8:3 Not tainted 5.13.9-linaro-lt-qcom #1
    [ 19.341172] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
    [ 19.348810] Workqueue: events_unbound deferred_probe_work_func
    [ 19.355058] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=–)
    [ 19.360872] pc : drm_mode_config_validate+0x238/0x4d0 [drm]
    [ 19.367033] lr : drm_mode_config_validate+0x238/0x4d0 [drm]
    [ 19.372330] sp : ffff800012b5b980
    [ 19.377882] x29: ffff800012b5b990 x28: ffff800011f47000 x27: 0000000000000001
    [ 19.381361] x26: ffff800009194f98 x25: ffff800009194db0 x24: ffff000086404af8
    [ 19.388477] x23: 0000000000000000 x22: 0000000000000000 x21: 0000000000000001
    [ 19.395597] x20: ffff000086404800 x19: ffff000086407000 x18: 0000000000000001
    [ 19.402716] x17: 0000000000000000 x16: 0000000000000200 x15: ffff000080968510
    [ 19.409829] x14: 00000000000002bd x13: ffff000080968510 x12: 00000000ffffffea
    [ 19.416947] x11: ffff800011fd3318 x10: ffff800011fbb2d8 x9 : ffff800011fbb330
    [ 19.424066] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : 0000000000000001
    [ 19.431186] x5 : ffff0000f9bbd918 x4 : 0000000000000000 x3 : 0000000000000027
    [ 19.438299] x2 : 0000000000000023 x1 : 267396347b9f0c00 x0 : 0000000000000000
    [ 19.445420] Call trace:
    [ 19.452532] drm_mode_config_validate+0x238/0x4d0 [drm]
    [ 19.454791] drm_dev_register+0x17c/0x210 [drm]
    [ 19.459998] msm_drm_bind+0x488/0x5c8 [msm]
    [ 19.464512] try_to_bring_up_master+0x228/0x310
    [ 19.468680] __component_add+0xa4/0x190
    [ 19.473193] component_add+0x14/0x20
    [ 19.477011] msm_hdmi_dev_probe+0x1c/0x28 [msm]
    [ 19.480832] platform_probe+0x68/0xd8
    [ 19.485084] really_probe+0xe8/0x4c8
    [ 19.488904] driver_probe_device+0x100/0x170
    [ 19.492552] __device_attach_driver+0x98/0x120
    [ 19.496804] bus_for_each_drv+0x78/0xc8
    [ 19.501057] __device_attach+0xf0/0x170
    [ 19.504790] device_initial_probe+0x14/0x20
    [ 19.508610] bus_probe_device+0x9c/0xa8
    [ 19.512776] deferred_probe_work_func+0x9c/0xf0
    [ 19.516595] process_one_work+0x1bc/0x338
    [ 19.521108] worker_thread+0x50/0x420
    [ 19.525275] kthread+0x150/0x160
    [ 19.528922] ret_from_fork+0x10/0x30
    [ 19.532222] —[ end trace 69e85226078f8528 ]—
    [ 19.545270] ------------[ cut here ]------------
    [ 19.545306] [CRTC:58:crtc-0] must not have both a cursor plane and a cursor_move func
    [ 19.545344] WARNING: CPU: 1 PID: 126 at drivers/gpu/drm/drm_mode_config.c:654 drm_mode_config_validate+0x290/0x4d0 [drm]
    [ 19.556691] Modules linked in: msm mdt_loader drm_kms_helper drm qcom_rng hci_uart btqca btbcm bluetooth ecdh_generic ecc phy_qcom_qusb2 qcom_spmi_temp_alarm rtc_pm8xxx qcom_pon socinfo rpmsg_char icc_smd_rpm rmtfs_meml
    [ 19.567648] CPU: 1 PID: 126 Comm: kworker/u8:3 Tainted: G W 5.13.9-linaro-lt-qcom #1
    [ 19.587845] Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
    [ 19.596875] Workqueue: events_unbound deferred_probe_work_func
    [ 19.603121] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=–)
    [ 19.608936] pc : drm_mode_config_validate+0x290/0x4d0 [drm]
    [ 19.615100] lr : drm_mode_config_validate+0x290/0x4d0 [drm]
    [ 19.620395] sp : ffff800012b5b980
    [ 19.625947] x29: ffff800012b5b990 x28: ffff800011f47000 x27: 0000000000000001
    [ 19.629424] x26: ffff800009194f98 x25: ffff800009194db0 x24: ffff000086404af8
    [ 19.636541] x23: 0000000000000000 x22: 0000000000000000 x21: 0000000000000001
    [ 19.643659] x20: ffff000086404800 x19: ffff000086407000 x18: 0000000000000001
    [ 19.650778] x17: 0000000000000000 x16: 0000000000000200 x15: ffff000080968510
    [ 19.657896] x14: 00000000000002e8 x13: ffff000080968510 x12: 00000000ffffffea
    [ 19.665014] x11: ffff800011fd3318 x10: ffff800011fbb2d8 x9 : ffff800011fbb330
    [ 19.672131] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : 0000000000000001
    [ 19.679250] x5 : ffff0000f9bbd918 x4 : 0000000000000000 x3 : 0000000000000027
    [ 19.686368] x2 : 0000000000000023 x1 : 267396347b9f0c00 x0 : 0000000000000000
    [ 19.693488] Call trace:
    [ 19.700601] drm_mode_config_validate+0x290/0x4d0 [drm]
    [ 19.702859] drm_dev_register+0x17c/0x210 [drm]
    [ 19.708067] msm_drm_bind+0x488/0x5c8 [msm]
    [ 19.712580] try_to_bring_up_master+0x228/0x310
    [ 19.716746] __component_add+0xa4/0x190
    [ 19.721260] component_add+0x14/0x20
    [ 19.725079] msm_hdmi_dev_probe+0x1c/0x28 [msm]
    [ 19.728899] platform_probe+0x68/0xd8
    [ 19.733157] really_probe+0xe8/0x4c8
    [ 19.736972] driver_probe_device+0x100/0x170
    [ 19.740618] __device_attach_driver+0x98/0x120
    [ 19.744872] bus_for_each_drv+0x78/0xc8
    [ 19.749125] __device_attach+0xf0/0x170
    [ 19.752858] device_initial_probe+0x14/0x20
    [ 19.756677] bus_probe_device+0x9c/0xa8
    [ 19.760843] deferred_probe_work_func+0x9c/0xf0
    [ 19.764663] process_one_work+0x1bc/0x338
    [ 19.769178] worker_thread+0x50/0x420
    [ 19.773343] kthread+0x150/0x160
    [ 19.776990] ret_from_fork+0x10/0x30
    [ 19.780289] —[ end trace 69e85226078f8529 ]—

  • Build with Kernel 5.9 hangs completely on:
    [730] Jumping to kernel via monitor

  • With 5.7 / 5.10, we don’t seem to reach multi-user-target:
    You are in emergency mode. After logging in, type “journalctl -xb” to view
    system logs, “systemctl reboot” to reboot, “systemctl default” or “exit”
    to boot into default mode.
    Press Enter for maintenance
    (or press Control-D to continue):

So far, we tried both official( e.g http://snapshots.linaro.org/96boards/dragonboard820c/linaro/openembedded/dunfell/494/rpb/) and set built builds without success.

Does anyone has an idea what could be going wrong or had a change to get the board to work with new kernels?