The external display connect via USB type-C dock stays blank after re-connect the dock
We found this symptom on a RPL iGPU laptop. The laptop connect the external display via the HDMI/DisplayPort on a USB Type-C interfaced dock with dual type-C cable connected (WD19DC). We expect the external display comes back to normal after re-connect the docking station, but it doesn't.
Tried to reproduce on the drm-tip kernel (6.9.0-060900drmtip20240522-generic), the symptom persists. The log give some clues which might be helpful
Before disconnecting the WD19DC, the lane count for external display is 4
[ 4.848661] i915 0000:00:02.0: [drm:intel_dp_link_train_phy [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][LTTPR 1] Link Training passed at link rate = 810000, lane count = 4
[ 4.849324] i915 0000:00:02.0: [drm:intel_dp_set_signal_levels [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] 8b/10b, lanes: 4, vswing levels: 0/0/0/0, pre-emphasis levels: 0/0/0/0
[ 4.849607] i915 0000:00:02.0: [drm:intel_dp_program_link_training_pattern [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] Using DP training pattern TPS1
[ 4.852593] i915 0000:00:02.0: [drm:intel_dp_get_adjust_train [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] 8b/10b, lanes: 4, vswing request: 2/2/2/2, pre-emphasis request: 0/0/0/0
[ 4.852830] i915 0000:00:02.0: [drm:intel_dp_set_signal_levels [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] 8b/10b, lanes: 4, vswing levels: 2/2/2/2, pre-emphasis levels: 0/0/0/0
[ 4.854978] i915 0000:00:02.0: [drm:intel_dp_link_training_clock_recovery [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] Clock recovery OK
[ 4.855276] i915 0000:00:02.0: [drm:intel_dp_program_link_training_pattern [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] Using DP training pattern TPS4
[ 4.891113] i915 0000:00:02.0: [drm:intel_dp_link_training_channel_equalization [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] Channel EQ done. DP Training successful
[ 4.891385] i915 0000:00:02.0: [drm:intel_dp_link_train_phy [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] Link Training passed at link rate = 810000, lane count = 4
After re-connect the WD19DC back, the lane count stays at 2
[ 71.639126] i915 0000:00:02.0: [drm:intel_dp_get_adjust_train [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] 8b/10b, lanes: 2, vswing request: 2/2/2/2, pre-emphasis request: 0/0/0/0
[ 71.639328] i915 0000:00:02.0: [drm:intel_dp_set_signal_levels [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] 8b/10b, lanes: 2, vswing levels: 2/2/2/2, pre-emphasis levels: 0/0/0/0
[ 71.673149] i915 0000:00:02.0: [drm:intel_dp_link_training_channel_equalization [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] Channel EQ done. DP Training successful
[ 71.673310] i915 0000:00:02.0: [drm:intel_dp_link_train_phy [i915]] [CONNECTOR:277:DP-3][ENCODER:276:DDI TC4/PHY E][DPRX] Link Training passed at link rate = 810000, lane count = 2
Please refer to the full log of the drm-tip kernel for the boot -> disconnect WD19 DC --> connect back operations