[PATCH] drm/i915/xelpdp/tc: Convert TCSS power check WARN to a debug message
From: Chia-Lin Kao (AceLan)
Date: Mon Mar 16 2026 - 05:31:13 EST
The BIOS can leave the TypeC HPD live status bits set on an MTL/XeLPDP
port indicating a connected device, while TCSS (TypeC Subsystem) power
has not been enabled. This is a known BIOS handoff condition observed
during cold/warm boot on headless Meteorlake platforms.
When this happens, tc_phy_get_current_mode() returns TC_PORT_DP_ALT
(from HPD live status bits) but xelpdp_tc_phy_tcss_power_is_enabled()
returns false because TCSS power was never enabled by BIOS/GOP. This
causes the drm_WARN_ON in xelpdp_tc_phy_get_hw_state() to fire during
driver probe, even though the driver handles this state correctly
afterwards by calling intel_tc_port_update_mode() to reconcile the
PHY state.
Convert the drm_WARN_ON to a drm_dbg_kms() message, consistent with
the approach taken for the analogous AUX power check in
commit d7fa5754e83cd ("drm/i915/icl+/tc: Convert AUX powered WARN to a
debug message").
Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@xxxxxxxxxxxxx>
---
drivers/gpu/drm/i915/display/intel_tc.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_tc.c b/drivers/gpu/drm/i915/display/intel_tc.c
index bd12148e42f70..18218e450b16c 100644
--- a/drivers/gpu/drm/i915/display/intel_tc.c
+++ b/drivers/gpu/drm/i915/display/intel_tc.c
@@ -1187,9 +1187,10 @@ static void xelpdp_tc_phy_get_hw_state(struct intel_tc_port *tc)
tc->max_lane_count = 4;
}
- drm_WARN_ON(display->drm,
- (tc->mode == TC_PORT_DP_ALT || tc->mode == TC_PORT_LEGACY) &&
- !xelpdp_tc_phy_tcss_power_is_enabled(tc));
+ if ((tc->mode == TC_PORT_DP_ALT || tc->mode == TC_PORT_LEGACY) &&
+ !xelpdp_tc_phy_tcss_power_is_enabled(tc))
+ drm_dbg_kms(display->drm, "Port %s: TCSS unexpectedly not powered\n",
+ tc->port_name);
__tc_cold_unblock(tc, domain, tc_cold_wref);
}
--
2.53.0