[PATCH 09/15] drm/i915/tgl: Skip setting up rotation for CCS FBs

Imre Deak imre.deak at intel.com
Wed Dec 18 00:55:27 UTC 2019


Signed-off-by: Imre Deak <imre.deak at intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index eff34978cc9c..d3d004be7680 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -2927,13 +2927,15 @@ intel_fill_fb_info(struct drm_i915_private *dev_priv,
 						      tile_size);
 		offset /= tile_size;
 
-		if (!is_surface_linear(fb, i)) {
+		if (!is_ccs_modifier(fb->modifier) &&
+		    !is_surface_linear(fb, i)) {
 			unsigned int tile_width, tile_height;
 			unsigned int pitch_tiles;
 			struct drm_rect r;
 
 			intel_tile_dims(fb, i, &tile_width, &tile_height);
 
+			WARN_ON(i >= ARRAY_SIZE(rot_info->plane));
 			rot_info->plane[i].offset = offset;
 			rot_info->plane[i].stride = DIV_ROUND_UP(fb->pitches[i], tile_width * cpp);
 			rot_info->plane[i].width = DIV_ROUND_UP(x + width, tile_width);
@@ -3064,6 +3066,7 @@ intel_plane_remap_gtt(struct intel_plane_state *plane_state)
 						      DRM_MODE_ROTATE_0, tile_size);
 		offset /= tile_size;
 
+		WARN_ON(i >= ARRAY_SIZE(info->plane));
 		info->plane[i].offset = offset;
 		info->plane[i].stride = DIV_ROUND_UP(fb->pitches[i],
 						     tile_width * cpp);
-- 
2.17.1



More information about the Intel-gfx-trybot mailing list