]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915: Drop the min plane width w/a adl+
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 9 Oct 2025 21:13:06 +0000 (00:13 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 28 Oct 2025 20:59:51 +0000 (22:59 +0200)
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ä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251009211313.30234-3-ville.syrjala@linux.intel.com
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
drivers/gpu/drm/i915/display/skl_universal_plane.c

index e16e42baf86c588e7fd8a3840e12d9100191013f..a50d9c48b8cae72b102572861cd0089799334b01 100644 (file)
@@ -390,6 +390,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)
@@ -2816,7 +2823,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