From: Ville Syrjälä <[email protected]>

ADL+ no longer need the plane min width w/a (Wa_14011264657 or
Wa_14011050563). Don't apply it there. DG2 still needs it.

Signed-off-by: Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c 
b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 153c76d00977..504871065e09 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -389,6 +389,13 @@ static int glk_plane_max_width(const struct 
drm_framebuffer *fb,
        }
 }
 
+static int adl_plane_min_width(const struct drm_framebuffer *fb,
+                              int color_plane,
+                              unsigned int rotation)
+{
+       return 16 / fb->format->cpp[color_plane];
+}
+
 static int icl_plane_min_width(const struct drm_framebuffer *fb,
                               int color_plane,
                               unsigned int rotation)
@@ -2815,7 +2822,10 @@ skl_universal_plane_create(struct intel_display *display,
                plane->max_height = icl_plane_max_height;
                plane->min_cdclk = icl_plane_min_cdclk;
        } else if (DISPLAY_VER(display) >= 11) {
-               plane->min_width = icl_plane_min_width;
+               if (DISPLAY_VER(display) >= 14 || display->platform.alderlake_p)
+                       plane->min_width = adl_plane_min_width;
+               else
+                       plane->min_width = icl_plane_min_width;
                if (icl_is_hdr_plane(display, plane_id))
                        plane->max_width = icl_hdr_plane_max_width;
                else
-- 
2.49.1

Reply via email to