drm/i915/tc: Fix TC mode for a legacy port if the PHY is not ready
authorImre Deak <imre.deak@intel.com>
Thu, 16 Mar 2023 13:17:18 +0000 (15:17 +0200)
committerImre Deak <imre.deak@intel.com>
Wed, 22 Mar 2023 18:31:13 +0000 (20:31 +0200)
A legacy TC port can't be switched to TBT mode, even if the PHY
initialization wasn't ready yet for some reason, so prevent this.

This shouldn't normally happen as the driver waits for the IOM/TCSS
PHY initialization during driver loading and system resume.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230316131724.359612-9-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_tc.c

index e39c8a8..f661294 100644 (file)
@@ -482,7 +482,8 @@ static void icl_tc_phy_connect(struct intel_digital_port *dig_port,
        u32 live_status_mask;
        int max_lanes;
 
-       if (!tc_phy_status_complete(dig_port)) {
+       if (!tc_phy_status_complete(dig_port) &&
+           !drm_WARN_ON(&i915->drm, dig_port->tc_legacy_port)) {
                drm_dbg_kms(&i915->drm, "Port %s: PHY not ready\n",
                            dig_port->tc_port_name);
                goto out_set_tbt_alt_mode;