TGL: : No video output on external monitor after unplug and re-plug the cable
From: Chris Chiu
Date: Thu Apr 29 2021 - 00:47:18 EST
We found another bug after the fix of
https://gitlab.freedesktop.org/drm/intel/-/issues/2538. The external
monitor is also connected via WD19's HDMI/DisplayPort just as #2538.
However, the display monitor can only be detected and show output at
the very first time we power on the WD19 dock. If we unplug the cable
and replug again, the monitor seems to be detected but there's no
video output.
When we power on the WD19 dock with cable connected to the monitor,
the drm kernel log shows as follows
i915 0000:00:02.0: [drm:intel_get_hpd_pins.isra.0 [i915]] hotplug
event received, stat 0x00010000, dig 0x0088888a, pins 0x00000200, long
0x00000200
i915 0000:00:02.0: [drm:intel_hpd_irq_handler [i915]] digital hpd on
[ENCODER:292:DDI D] - long
i915 0000:00:02.0: [drm:intel_hpd_irq_handler [i915]] Received HPD
interrupt on PIN 9 - cnt: 10
i915 0000:00:02.0: [drm:intel_dp_hpd_pulse [i915]] got hpd irq on
[ENCODER:292:DDI D] - long
i915 0000:00:02.0: [drm:i915_hotplug_work_func [i915]] running
encoder hotplug functions
i915 0000:00:02.0: [drm:i915_hotplug_work_func [i915]] Connector DP-1
(pin 9) received hotplug event. (retry 0)
i915 0000:00:02.0: [drm:intel_dp_detect [i915]] [CONNECTOR:293:DP-1]
i915 0000:00:02.0: [drm:intel_power_well_enable [i915]] enabling TC cold off
i915 0000:00:02.0: [drm:tgl_tc_cold_request [i915]] TC cold block succeeded
i915 0000:00:02.0: [drm:__intel_tc_port_lock [i915]] Port D/TC#1: TC
port mode reset (tbt-alt -> dp-alt)
i915 0000:00:02.0: [drm:intel_power_well_enable [i915]] enabling AUX D TC1
i915 0000:00:02.0: [drm:drm_dp_dpcd_read [drm_kms_helper]] AUX D/port
D: 0xf0000 AUX -> (ret= 8) 14 1e 40 55 02 00 00 00
i915 0000:00:02.0: [drm:intel_dp_lttpr_init [i915]] LTTPR common
capabilities: 14 1e 40 55 02 00 00 00
Then I replug the cable, the intel_power_well_enable() in
intel_dp_aux_xfer() shows "enabling DC off" power domain instead of
enabling AUX D TC1. After that, the flooded i915 0000:00:02.0:
[drm:intel_dp_aux_xfer [i915]] AUX D/port D: timeout (status
0x7d4003ff) keeps show up and no video output.
I filed a bug on
https://gitlab.freedesktop.org/drm/intel/-/issues/3407 and also
uploaded the journal log with kernel boot parameter
"drm.debug=0x10e".
Can anyone suggest what happens at the replug? What can we do to
identify the cause? Thanks
Chris