drm/msm: VT console DisplayPort regression in 6.8-rc1

From: Johan Hovold
Date: Tue Feb 27 2024 - 07:40:36 EST


Hi,

Since 6.8-rc1 the VT console is no longer mirrored on an external
display on coldplug or hotplug on the Lenovo ThinkPad X13s.

The hotplug notification appears to be generated immediately but it is
no longer forwarded or processed correctly:

[ 22.578434] msm_dpu ae01000.display-controller: msm_fbdev_client_hotplug
[ 22.953161] msm_dpu ae01000.display-controller: msm_fbdev_client_hotplug
[ 23.095122] msm_dpu ae01000.display-controller: msm_fbdev_client_hotplug
[ 24.185683] msm_dpu ae01000.display-controller: msm_fbdev_client_hotplug
[ 24.186197] msm-dp-display ae98000.displayport-controller: dp_pm_runtime_resume
[ 24.188098] msm-dp-display ae98000.displayport-controller: dp_ctrl_phy_init
[ 24.191805] msm_dpu ae01000.display-controller: msm_fbdev_client_hotplug
[ 24.275904] [drm-dp] dp_ctrl_on_link: dp_ctrl_on_link - drm_dev = 0000000000000000
[ 24.276474] [drm-dp] dp_ctrl_enable_mainlink_clocks: dp_ctrl_enable_mainlink_clocks - drm_dev = 0000000000000000

as the external display remains off/blank.

I've verified that reverting commit e467e0bde881 ("drm/msm/dp: use
drm_bridge_hpd_notify() to report HPD status changes") fixes "both"
issues.

I've previously reported this here:

https://gitlab.freedesktop.org/drm/msm/-/issues/50

Note that a couple of times the display was eventually mirrored after a
very long timeout, but this doesn't seem to always be the case.

Johan


#regzbot introduced: e467e0bde881