[SRU][R][PATCH 1/1] UBUNTU: SAUCE: drm/i915/tc: Revert forced DP-alt connected workaround

ChunAn Wu an.wu at canonical.com
Tue Aug 11 06:18:39 UTC 2026


BugLink: https://bugs.launchpad.net/bugs/2160082

The reverted workaround made intel_tc_port_connected() return true when a
TC port has an active link reference, is in DP-alt mode, and the display
still owns the PHY. That was added to avoid a false disconnect during a
long HPD pulse from the HP Type-C to HDMI dongle tracked by LP: #2143879.

The original issue is now fixed in TC firmware, so the kernel workaround
is no longer required. It is also too broad: TC PHY ownership and
link_refcount are driver/ownership state, not proof that the sink is still
present. During a real USB-C/TBT dock unplug the PHY can remain owned
while the sink is already gone, causing the port to be reported connected
incorrectly.

When the port is forced connected, the disconnected-port AUX fast-fail
path does not run. The driver then attempts real AUX transactions against
a removed sink and can spend seconds in repeated -ETIMEDOUT retries,
causing display stalls/freezes.

Revert the workaround so TC port connected state is again based on live
status. This lets real disconnects return -ENXIO from the AUX guard while
relying on the firmware fix for the original transient HPD issue.

This reverts commit e9cdae7685d79e4cb30337a9f771a245febd5557.

Signed-off-by: ChunAn Wu <an.wu at canonical.com>
---
 drivers/gpu/drm/i915/display/intel_tc.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_tc.c b/drivers/gpu/drm/i915/display/intel_tc.c
index 87b635c0667a..18218e450b16 100644
--- a/drivers/gpu/drm/i915/display/intel_tc.c
+++ b/drivers/gpu/drm/i915/display/intel_tc.c
@@ -1733,11 +1733,6 @@ bool intel_tc_port_connected(struct intel_encoder *encoder)
 	if (tc->mode != TC_PORT_DISCONNECTED)
 		mask = BIT(tc->mode);
 
-	if (tc->link_refcount > 0 &&
-	    tc->mode == TC_PORT_DP_ALT &&
-	    tc_phy_is_owned(tc))
-		return true;
-
 	return tc_phy_hpd_live_status(tc) & mask;
 }
 
-- 
2.34.1




More information about the kernel-team mailing list