]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915: Disable LTTPR support when the LTTPR rev < 1.4
authorImre Deak <imre.deak@intel.com>
Wed, 17 Mar 2021 18:49:01 +0000 (20:49 +0200)
committerImre Deak <imre.deak@intel.com>
Fri, 19 Mar 2021 10:50:48 +0000 (12:50 +0200)
By the specification the 0xF0000 - 0xF02FF range is only valid if the
LTTPR revision at 0xF0000 is at least 1.4. Disable the LTTPR support
otherwise.

Fixes: 7b2a4ab8b0ef ("drm/i915: Switch to LTTPR transparent mode link training")
Cc: <stable@vger.kernel.org> # v5.11
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
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/20210317184901.4029798-4-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_dp_link_training.c

index f14ac26941836232724f12fb20899fe1f9634800..7d4e6f3e7e93afb20896b0409f9d74ff2268db45 100644 (file)
@@ -100,17 +100,23 @@ static bool intel_dp_read_lttpr_common_caps(struct intel_dp *intel_dp)
                return false;
 
        if (drm_dp_read_lttpr_common_caps(&intel_dp->aux,
-                                         intel_dp->lttpr_common_caps) < 0) {
-               intel_dp_reset_lttpr_common_caps(intel_dp);
-               return false;
-       }
+                                         intel_dp->lttpr_common_caps) < 0)
+               goto reset_caps;
 
        drm_dbg_kms(&dp_to_i915(intel_dp)->drm,
                    "LTTPR common capabilities: %*ph\n",
                    (int)sizeof(intel_dp->lttpr_common_caps),
                    intel_dp->lttpr_common_caps);
 
+       /* The minimum value of LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV is 1.4 */
+       if (intel_dp->lttpr_common_caps[0] < 0x14)
+               goto reset_caps;
+
        return true;
+
+reset_caps:
+       intel_dp_reset_lttpr_common_caps(intel_dp);
+       return false;
 }
 
 static bool