Hi,
On Lenovo ThinkPad T14s Gen 6 (Snapdragon X1E78100, kernel
7.0.0-29-qcom-x1e), the external DisplayPort output via USB-C Alt Mode
fails to recover after a prolonged s2idle suspend. After waking, the
msm-dp-display driver attempts link training but immediately hits max
voltage swing level and fails:
[drm:msm_dp_ctrl_link_train_1] *ERROR* max v_level reached
[drm:msm_dp_ctrl_link_train_1_2] *ERROR* link training #1 on phy 0
failed. ret=-11
[drm:msm_dp_ctrl_link_train] *ERROR* link training on sink failed.
ret=-11
[drm:msm_dp_display_process_hpd_high] *ERROR* failed to complete DP
link training
The failure also produces an EDID read failure during the suspend/resume
transition itself:
[drm:msm_dp_panel_read_sink_caps] *ERROR* panel edid read failed
The issue is reproducible after longer suspends (multi-hour/overnight)
but not always after short ones, suggesting the PHY voltage swing and
pre-emphasis state is not being reset before link training is
re-attempted on resume.
Affected controllers: ae90000.displayport-controller,
ae98000.displayport-controller (USB-C DP Alt Mode). ae9a000 and aea0000
(internal eDP) are unaffected.
Hardware: Lenovo ThinkPad T14s Gen 6, Snapdragon X1E78100
Kernel: 7.0.0-29-qcom-x1e (ubuntu upstream for these AMR64 cpu laptops)
Dock: Dell D6000 via USB-C
OS: Ubuntu 26.04 beta
Happy to provide further logs or test patches.
Nino