Turns out this isn't compatible with DSI.

Cc: Manasi Navare <manasi.d.nav...@intel.com>
Signed-off-by: Jani Nikula <jani.nik...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c   | 12 ++++++++++++
 drivers/gpu/drm/i915/display/intel_vdsc.c | 11 -----------
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index b38a49db80e3..631d6d623e29 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2060,6 +2060,18 @@ static int intel_dp_dsc_compute_params(struct 
intel_encoder *encoder,
        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 logic to try multiple slice heights.
+        */
+       if (vdsc_cfg->pic_height % 8 == 0)
+               vdsc_cfg->slice_height = 8;
+       else if (vdsc_cfg->pic_height % 4 == 0)
+               vdsc_cfg->slice_height = 4;
+       else
+               vdsc_cfg->slice_height = 2;
+
        vdsc_cfg->dsc_version_major =
                (intel_dp->dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
                 DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT;
diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c 
b/drivers/gpu/drm/i915/display/intel_vdsc.c
index 834d665a47d2..c53024dfb1ec 100644
--- a/drivers/gpu/drm/i915/display/intel_vdsc.c
+++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
@@ -345,17 +345,6 @@ int intel_dsc_compute_params(struct intel_encoder *encoder,
        vdsc_cfg->pic_height = pipe_config->hw.adjusted_mode.crtc_vdisplay;
        vdsc_cfg->slice_width = DIV_ROUND_UP(vdsc_cfg->pic_width,
                                             pipe_config->dsc.slice_count);
-       /*
-        * 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 logic to try multiple slice heights.
-        */
-       if (vdsc_cfg->pic_height % 8 == 0)
-               vdsc_cfg->slice_height = 8;
-       else if (vdsc_cfg->pic_height % 4 == 0)
-               vdsc_cfg->slice_height = 4;
-       else
-               vdsc_cfg->slice_height = 2;
 
        /* Gen 11 does not support YCbCr */
        vdsc_cfg->simple_422 = false;
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to