drm/i915/display: Configure HDMI2.1 Pcon for FRL only if Src-Ctl mode is available
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Tue, 23 Mar 2021 11:24:22 +0000 (16:54 +0530)
committerJani Nikula <jani.nikula@intel.com>
Wed, 31 Mar 2021 10:07:27 +0000 (13:07 +0300)
Add the check if source control mode is supported by the
PCON, before starting configuring PCON for FRL training,
as per spec VESA DP2.0-HDMI2.1 PCON Draft-1 Sec-7.

v2: Added spec details for the change. (Uma)

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210323112422.1211-3-ankit.k.nautiyal@intel.com
drivers/gpu/drm/i915/display/intel_dp.c

index be82377..a560468 100644 (file)
@@ -2155,8 +2155,13 @@ void intel_dp_check_frl_training(struct intel_dp *intel_dp)
 {
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
 
-       /* Always go for FRL training if supported */
-       if (!intel_dp_is_hdmi_2_1_sink(intel_dp) ||
+       /*
+        * Always go for FRL training if:
+        * -PCON supports SRC_CTL_MODE (VESA DP2.0-HDMI2.1 PCON Spec Draft-1 Sec-7)
+        * -sink is HDMI2.1
+        */
+       if (!(intel_dp->dpcd[2] & DP_PCON_SOURCE_CTL_MODE) ||
+           !intel_dp_is_hdmi_2_1_sink(intel_dp) ||
            intel_dp->frl.is_trained)
                return;