drm/i915/dsc/mtl: Update the DSC minor version
authorVandita Kulkarni <vandita.kulkarni@intel.com>
Wed, 17 Aug 2022 12:45:15 +0000 (15:45 +0300)
committerJani Nikula <jani.nikula@intel.com>
Mon, 22 Aug 2022 10:05:11 +0000 (13:05 +0300)
From MTL onwards we support DSC 1.2, since there is hardcoding to minor
version 1, update it.

Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220817124516.284456-1-jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_dp.c

index 32292c0..db5f536 100644 (file)
@@ -1377,7 +1377,18 @@ static int intel_dp_dsc_compute_bpp(struct intel_dp *intel_dp, u8 max_req_bpc)
        return 0;
 }
 
-#define DSC_SUPPORTED_VERSION_MIN              1
+static int intel_dp_source_dsc_version_minor(struct intel_dp *intel_dp)
+{
+       struct drm_i915_private *i915 = dp_to_i915(intel_dp);
+
+       return DISPLAY_VER(i915) >= 14 ? 2 : 1;
+}
+
+static int intel_dp_sink_dsc_version_minor(struct intel_dp *intel_dp)
+{
+       return (intel_dp->dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] & DP_DSC_MINOR_MASK) >>
+               DP_DSC_MINOR_SHIFT;
+}
 
 static int intel_dp_dsc_compute_params(struct intel_encoder *encoder,
                                       struct intel_crtc_state *crtc_state)
@@ -1416,9 +1427,8 @@ static int intel_dp_dsc_compute_params(struct intel_encoder *encoder,
                (intel_dp->dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
                 DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT;
        vdsc_cfg->dsc_version_minor =
-               min(DSC_SUPPORTED_VERSION_MIN,
-                   (intel_dp->dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
-                    DP_DSC_MINOR_MASK) >> DP_DSC_MINOR_SHIFT);
+               min(intel_dp_source_dsc_version_minor(intel_dp),
+                   intel_dp_sink_dsc_version_minor(intel_dp));
 
        vdsc_cfg->convert_rgb = intel_dp->dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] &
                DP_DSC_RGB;