From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Take the DG2 CCS modifiers into account when calculating the
watermarks. Othwerwise we'll calculate the watermarks thinking these
tile-4 modifiers are linear.

The rc_surface part is actually a nop since that is not used
for any glk+ platform.

Cc: sta...@vger.kernel.org
Fixes: 4c3afa72138c ("drm/i915/dg2: Add support for DG2 render and media 
compression")
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikk...@gmail.com>
Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c 
b/drivers/gpu/drm/i915/display/skl_watermark.c
index 0ff3ece166fe..070357da40e4 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -1713,13 +1713,17 @@ skl_compute_wm_params(const struct intel_crtc_state 
*crtc_state,
                      modifier == I915_FORMAT_MOD_Yf_TILED_CCS ||
                      modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
                      modifier == I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS ||
-                     modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC;
+                     modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC ||
+                     modifier == I915_FORMAT_MOD_4_TILED_DG2_RC_CCS ||
+                     modifier == I915_FORMAT_MOD_4_TILED_DG2_MC_CCS;
        wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED;
        wp->rc_surface = modifier == I915_FORMAT_MOD_Y_TILED_CCS ||
                         modifier == I915_FORMAT_MOD_Yf_TILED_CCS ||
                         modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
                         modifier == I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS ||
-                        modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC;
+                        modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC ||
+                        modifier == I915_FORMAT_MOD_4_TILED_DG2_RC_CCS ||
+                        modifier == I915_FORMAT_MOD_4_TILED_DG2_MC_CCS;
        wp->is_planar = intel_format_info_is_yuv_semiplanar(format, modifier);
 
        wp->width = width;
-- 
2.35.1

Reply via email to