]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
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 e39c8a870df06d7b833c72b1271d8bd2b5f36a83..f66129494cc406731ad183985e210b5b2a2a672b 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;