drm/i915: Get slice height before computing rc params
authorVandita Kulkarni <vandita.kulkarni@intel.com>
Fri, 14 May 2021 15:36:57 +0000 (08:36 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Sat, 15 May 2021 02:47:38 +0000 (19:47 -0700)
We need slice height to calculate few RC parameters
hence assign slice height first.

Cc: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210514153711.2359617-6-matthew.d.roper@intel.com
drivers/gpu/drm/i915/display/intel_dp.c

index 6f7bc9b7b20641b8f6f4c55243bbb8e27c0bd827..7536bee8bc9662970849768cd8f7cabd33788ae5 100644 (file)
@@ -1153,10 +1153,6 @@ static int intel_dp_dsc_compute_params(struct intel_encoder *encoder,
         */
        vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
 
-       ret = intel_dsc_compute_params(encoder, crtc_state);
-       if (ret)
-               return ret;
-
        /*
         * Slice Height of 8 works for all currently available panels. So start
         * with that if pic_height is an integral multiple of 8. Eventually add
@@ -1169,6 +1165,10 @@ static int intel_dp_dsc_compute_params(struct intel_encoder *encoder,
        else
                vdsc_cfg->slice_height = 2;
 
+       ret = intel_dsc_compute_params(encoder, crtc_state);
+       if (ret)
+               return ret;
+
        vdsc_cfg->dsc_version_major =
                (intel_dp->dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
                 DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT;