drm/msm: DisplayPort regressions in 6.8-rc1
From: Johan Hovold
Date: Tue Feb 13 2024 - 06:42:12 EST
Hi,
Since 6.8-rc1 the internal eDP display on the Lenovo ThinkPad X13s does
not always show up on boot.
The logs indicate problems with the runtime PM and eDP rework that went
into 6.8-rc1:
[ 6.006236] Console: switching to colour dummy device 80x25
[ 6.007542] [drm:dpu_kms_hw_init:1048] dpu hardware revision:0x80000000
[ 6.007872] [drm:drm_bridge_attach [drm]] *ERROR* failed to attach bridge /soc@0/phy@88eb000 to encoder TMDS-31: -16
[ 6.007934] [drm:dp_bridge_init [msm]] *ERROR* failed to attach panel bridge: -16
[ 6.007983] msm_dpu ae01000.display-controller: [drm:msm_dp_modeset_init [msm]] *ERROR* failed to create dp bridge: -16
[ 6.008030] [drm:_dpu_kms_initialize_displayport:588] [dpu error]modeset_init failed for DP, rc = -16
[ 6.008050] [drm:_dpu_kms_setup_displays:681] [dpu error]initialize_DP failed, rc = -16
[ 6.008068] [drm:dpu_kms_hw_init:1153] [dpu error]modeset init failed: -16
[ 6.008388] msm_dpu ae01000.display-controller: [drm:msm_drm_kms_init [msm]] *ERROR* kms hw init failed: -16
and this can also manifest itself as a NULL-pointer dereference:
[ 7.339447] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[ 7.643705] pc : drm_bridge_attach+0x70/0x1a8 [drm]
[ 7.686415] lr : drm_aux_bridge_attach+0x24/0x38 [aux_bridge]
[ 7.769039] Call trace:
[ 7.771564] drm_bridge_attach+0x70/0x1a8 [drm]
[ 7.776234] drm_aux_bridge_attach+0x24/0x38 [aux_bridge]
[ 7.781782] drm_bridge_attach+0x80/0x1a8 [drm]
[ 7.786454] dp_bridge_init+0xa8/0x15c [msm]
[ 7.790856] msm_dp_modeset_init+0x28/0xc4 [msm]
[ 7.795617] _dpu_kms_drm_obj_init+0x19c/0x680 [msm]
[ 7.800731] dpu_kms_hw_init+0x348/0x4c4 [msm]
[ 7.805306] msm_drm_kms_init+0x84/0x324 [msm]
[ 7.809891] msm_drm_bind+0x1d8/0x3a8 [msm]
[ 7.814196] try_to_bring_up_aggregate_device+0x1f0/0x2f8
[ 7.819747] __component_add+0xa4/0x18c
[ 7.823703] component_add+0x14/0x20
[ 7.827389] dp_display_probe+0x47c/0x568 [msm]
[ 7.832052] platform_probe+0x68/0xd8
Users have also reported random crashes at boot since 6.8-rc1, and I've
been able to trigger hard crashes twice when testing an external display
(USB-C/DP), which may also be related to the DP regressions.
I've opened an issue here:
https://gitlab.freedesktop.org/drm/msm/-/issues/51
but I also want Thorsten's help to track this so that it gets fixed
before 6.8 is released.
#regzbot introduced: v6.7..v6.8-rc1
The following series is likely the culprit:
https://lore.kernel.org/all/1701472789-25951-1-git-send-email-quic_khsieh@xxxxxxxxxxx/
Johan