intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups
@ 2025-10-09 21:13 Ville Syrjala
  2025-10-09 21:13 ` [PATCH 1/8] drm/i915: Rewrite icl_min_plane_width() Ville Syrjala
                   ` (10 more replies)
  0 siblings, 11 replies; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Fix up some of the universal plane min size handling, and do
a bit of random cleanup.

Ville Syrjälä (8):
  drm/i915: Rewrite icl_min_plane_width()
  drm/i915: Drop the min plane width w/a adl+
  drm/i915: Implement .min_plane_width() for PTL+
  drm/i915: Start checking plane min size for the chroma plane
  drm/i915: Introduce intel_plane_min_height()
  drm/i915: Remove pointless crtc hw.enable check
  drm/i915: Extract glk_plane_has_planar()
  drm/i915: Unify the logic in {skl,glk}_plane_has_*()

 .../drm/i915/display/skl_universal_plane.c    | 94 +++++++++----------
 1 file changed, 44 insertions(+), 50 deletions(-)

-- 
2.49.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/8] drm/i915: Rewrite icl_min_plane_width()
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
@ 2025-10-09 21:13 ` Ville Syrjala
  2025-10-09 21:13 ` [PATCH 2/8] drm/i915: Drop the min plane width w/a adl+ Ville Syrjala
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Replace the ginormous switch statement in icl_plane_min_width() with
simple arithmetic.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../drm/i915/display/skl_universal_plane.c    | 43 +++++--------------
 1 file changed, 10 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index e13fb781e7b2..153c76d00977 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -393,40 +393,17 @@ static int icl_plane_min_width(const struct drm_framebuffer *fb,
 			       int color_plane,
 			       unsigned int rotation)
 {
+	int min_width;
+
+	min_width = 16 / fb->format->cpp[color_plane];
+
 	/* Wa_14011264657, Wa_14011050563: gen11+ */
-	switch (fb->format->format) {
-	case DRM_FORMAT_C8:
-		return 18;
-	case DRM_FORMAT_RGB565:
-		return 10;
-	case DRM_FORMAT_XRGB8888:
-	case DRM_FORMAT_XBGR8888:
-	case DRM_FORMAT_ARGB8888:
-	case DRM_FORMAT_ABGR8888:
-	case DRM_FORMAT_XRGB2101010:
-	case DRM_FORMAT_XBGR2101010:
-	case DRM_FORMAT_ARGB2101010:
-	case DRM_FORMAT_ABGR2101010:
-	case DRM_FORMAT_XVYU2101010:
-	case DRM_FORMAT_Y212:
-	case DRM_FORMAT_Y216:
-		return 6;
-	case DRM_FORMAT_NV12:
-		return 20;
-	case DRM_FORMAT_P010:
-	case DRM_FORMAT_P012:
-	case DRM_FORMAT_P016:
-		return 12;
-	case DRM_FORMAT_XRGB16161616F:
-	case DRM_FORMAT_XBGR16161616F:
-	case DRM_FORMAT_ARGB16161616F:
-	case DRM_FORMAT_ABGR16161616F:
-	case DRM_FORMAT_XVYU12_16161616:
-	case DRM_FORMAT_XVYU16161616:
-		return 4;
-	default:
-		return 1;
-	}
+	if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier))
+		min_width += 4;
+	else
+		min_width += 2;
+
+	return min_width;
 }
 
 static int xe3_plane_max_width(const struct drm_framebuffer *fb,
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 2/8] drm/i915: Drop the min plane width w/a adl+
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
  2025-10-09 21:13 ` [PATCH 1/8] drm/i915: Rewrite icl_min_plane_width() Ville Syrjala
@ 2025-10-09 21:13 ` Ville Syrjala
  2025-10-09 22:38   ` Matt Roper
  2025-10-09 21:13 ` [PATCH 3/8] drm/i915: Implement .min_plane_width() for PTL+ Ville Syrjala
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

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>
---
 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


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 3/8] drm/i915: Implement .min_plane_width() for PTL+
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
  2025-10-09 21:13 ` [PATCH 1/8] drm/i915: Rewrite icl_min_plane_width() Ville Syrjala
  2025-10-09 21:13 ` [PATCH 2/8] drm/i915: Drop the min plane width w/a adl+ Ville Syrjala
@ 2025-10-09 21:13 ` Ville Syrjala
  2025-10-09 21:13 ` [PATCH 4/8] drm/i915: Start checking plane min size for the chroma plane Ville Syrjala
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

PTL+ spposedly still has the same plane min width limit
as ADL. Check for it.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 504871065e09..9049cd79a29f 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -2818,6 +2818,7 @@ skl_universal_plane_create(struct intel_display *display,
 	intel_fbc_add_plane(skl_plane_fbc(display, pipe, plane_id), plane);
 
 	if (DISPLAY_VER(display) >= 30) {
+		plane->min_width = adl_plane_min_width;
 		plane->max_width = xe3_plane_max_width;
 		plane->max_height = icl_plane_max_height;
 		plane->min_cdclk = icl_plane_min_cdclk;
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 4/8] drm/i915: Start checking plane min size for the chroma plane
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
                   ` (2 preceding siblings ...)
  2025-10-09 21:13 ` [PATCH 3/8] drm/i915: Implement .min_plane_width() for PTL+ Ville Syrjala
@ 2025-10-09 21:13 ` Ville Syrjala
  2025-10-09 21:13 ` [PATCH 5/8] drm/i915: Introduce intel_plane_min_height() Ville Syrjala
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Currently we check the plane min size only for the Y plane.
Extend the check to the CbCr plane as well.

This will also allow us to remove the planar format check from
icl_plane_min_width() since the +2 on the CbCr plane is equivalent
to +4 on the Y plane. I suspect this approach actually models the
hardware issue more accurately.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../gpu/drm/i915/display/skl_universal_plane.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 9049cd79a29f..6f187e14f9ae 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -400,17 +400,8 @@ static int icl_plane_min_width(const struct drm_framebuffer *fb,
 			       int color_plane,
 			       unsigned int rotation)
 {
-	int min_width;
-
-	min_width = 16 / fb->format->cpp[color_plane];
-
 	/* Wa_14011264657, Wa_14011050563: gen11+ */
-	if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier))
-		min_width += 4;
-	else
-		min_width += 2;
-
-	return min_width;
+	return 16 / fb->format->cpp[color_plane] + 2;
 }
 
 static int xe3_plane_max_width(const struct drm_framebuffer *fb,
@@ -2070,6 +2061,7 @@ static int skl_check_nv12_aux_surface(struct intel_plane_state *plane_state)
 	int uv_plane = 1;
 	int ccs_plane = intel_fb_is_ccs_modifier(fb->modifier) ?
 			skl_main_to_aux_plane(fb, uv_plane) : 0;
+	int min_width = intel_plane_min_width(plane, fb, uv_plane, rotation);
 	int max_width = intel_plane_max_width(plane, fb, uv_plane, rotation);
 	int max_height = intel_plane_max_height(plane, fb, uv_plane, rotation);
 	int x = plane_state->uapi.src.x1 >> 17;
@@ -2079,11 +2071,11 @@ static int skl_check_nv12_aux_surface(struct intel_plane_state *plane_state)
 	u32 offset;
 
 	/* FIXME not quite sure how/if these apply to the chroma plane */
-	if (w > max_width || h > max_height) {
+	if (w > max_width || w < min_width || h > max_height || h < 1) {
 		drm_dbg_kms(display->drm,
-			    "[PLANE:%d:%s] CbCr source size %dx%d too big (limit %dx%d)\n",
+			    "[PLANE:%d:%s] requested CbCr source size %dx%d outside limits (min: %dx1 max: %dx%d)\n",
 			    plane->base.base.id, plane->base.name,
-			    w, h, max_width, max_height);
+			    w, h, min_width, max_width, max_height);
 		return -EINVAL;
 	}
 
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 5/8] drm/i915: Introduce intel_plane_min_height()
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
                   ` (3 preceding siblings ...)
  2025-10-09 21:13 ` [PATCH 4/8] drm/i915: Start checking plane min size for the chroma plane Ville Syrjala
@ 2025-10-09 21:13 ` Ville Syrjala
  2025-10-09 21:13 ` [PATCH 6/8] drm/i915: Remove pointless crtc hw.enable check Ville Syrjala
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Make the skl+ plane size checks a bit more regular by
adding intel_plane_min_height() instead of using a hardcoded
1 everwhere.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../drm/i915/display/skl_universal_plane.c    | 20 ++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 6f187e14f9ae..8ead07b4b7a7 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -1859,6 +1859,14 @@ static int intel_plane_min_width(struct intel_plane *plane,
 		return 1;
 }
 
+static int intel_plane_min_height(struct intel_plane *plane,
+				  const struct drm_framebuffer *fb,
+				  int color_plane,
+				  unsigned int rotation)
+{
+	return 1;
+}
+
 static int intel_plane_max_width(struct intel_plane *plane,
 				 const struct drm_framebuffer *fb,
 				 int color_plane,
@@ -1990,6 +1998,7 @@ static int skl_check_main_surface(struct intel_plane_state *plane_state)
 	int w = drm_rect_width(&plane_state->uapi.src) >> 16;
 	int h = drm_rect_height(&plane_state->uapi.src) >> 16;
 	int min_width = intel_plane_min_width(plane, fb, 0, rotation);
+	int min_height = intel_plane_min_height(plane, fb, 0, rotation);
 	int max_width = intel_plane_max_width(plane, fb, 0, rotation);
 	int max_height = intel_plane_max_height(plane, fb, 0, rotation);
 	unsigned int alignment = plane->min_alignment(plane, fb, 0);
@@ -1997,11 +2006,11 @@ static int skl_check_main_surface(struct intel_plane_state *plane_state)
 	u32 offset;
 	int ret;
 
-	if (w > max_width || w < min_width || h > max_height || h < 1) {
+	if (w > max_width || w < min_width || h > max_height || h < min_height) {
 		drm_dbg_kms(display->drm,
-			    "[PLANE:%d:%s] requested Y/RGB source size %dx%d outside limits (min: %dx1 max: %dx%d)\n",
+			    "[PLANE:%d:%s] requested Y/RGB source size %dx%d outside limits (min: %dx%d max: %dx%d)\n",
 			    plane->base.base.id, plane->base.name,
-			    w, h, min_width, max_width, max_height);
+			    w, h, min_width, min_height, max_width, max_height);
 		return -EINVAL;
 	}
 
@@ -2062,6 +2071,7 @@ static int skl_check_nv12_aux_surface(struct intel_plane_state *plane_state)
 	int ccs_plane = intel_fb_is_ccs_modifier(fb->modifier) ?
 			skl_main_to_aux_plane(fb, uv_plane) : 0;
 	int min_width = intel_plane_min_width(plane, fb, uv_plane, rotation);
+	int min_height = intel_plane_min_height(plane, fb, uv_plane, rotation);
 	int max_width = intel_plane_max_width(plane, fb, uv_plane, rotation);
 	int max_height = intel_plane_max_height(plane, fb, uv_plane, rotation);
 	int x = plane_state->uapi.src.x1 >> 17;
@@ -2073,9 +2083,9 @@ static int skl_check_nv12_aux_surface(struct intel_plane_state *plane_state)
 	/* FIXME not quite sure how/if these apply to the chroma plane */
 	if (w > max_width || w < min_width || h > max_height || h < 1) {
 		drm_dbg_kms(display->drm,
-			    "[PLANE:%d:%s] requested CbCr source size %dx%d outside limits (min: %dx1 max: %dx%d)\n",
+			    "[PLANE:%d:%s] requested CbCr source size %dx%d outside limits (min: %dx%d max: %dx%d)\n",
 			    plane->base.base.id, plane->base.name,
-			    w, h, min_width, max_width, max_height);
+			    w, h, min_width, min_height, max_width, max_height);
 		return -EINVAL;
 	}
 
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 6/8] drm/i915: Remove pointless crtc hw.enable check
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
                   ` (4 preceding siblings ...)
  2025-10-09 21:13 ` [PATCH 5/8] drm/i915: Introduce intel_plane_min_height() Ville Syrjala
@ 2025-10-09 21:13 ` Ville Syrjala
  2025-10-09 21:13 ` [PATCH 7/8] drm/i915: Extract glk_plane_has_planar() Ville Syrjala
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

We don't need to check for crtc hw.enable because that would also
imply that the plane is disabled and we would have bailed out already
earlier.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 8ead07b4b7a7..64b30fad75ee 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -1755,8 +1755,7 @@ static int skl_plane_check_fb(const struct intel_crtc_state *crtc_state,
 	}
 
 	/* Y-tiling is not supported in IF-ID Interlace mode */
-	if (crtc_state->hw.enable &&
-	    crtc_state->hw.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE &&
+	if (crtc_state->hw.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE &&
 	    fb->modifier != DRM_FORMAT_MOD_LINEAR &&
 	    fb->modifier != I915_FORMAT_MOD_X_TILED) {
 		drm_dbg_kms(display->drm,
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 7/8] drm/i915: Extract glk_plane_has_planar()
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
                   ` (5 preceding siblings ...)
  2025-10-09 21:13 ` [PATCH 6/8] drm/i915: Remove pointless crtc hw.enable check Ville Syrjala
@ 2025-10-09 21:13 ` Ville Syrjala
  2025-10-09 21:13 ` [PATCH 8/8] drm/i915: Unify the logic in {skl,glk}_plane_has_*() Ville Syrjala
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Extract glk_plane_has_planar() out from skl_plane_has_planar()
to make the logic a bit less convoluted.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 64b30fad75ee..53130b5e4249 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -2424,7 +2424,7 @@ static bool skl_plane_has_planar(struct intel_display *display,
 	if (display->platform.skylake || display->platform.broxton)
 		return false;
 
-	if (DISPLAY_VER(display) == 9 && pipe == PIPE_C)
+	if (pipe == PIPE_C)
 		return false;
 
 	if (plane_id != PLANE_1 && plane_id != PLANE_2)
@@ -2446,11 +2446,20 @@ static const u32 *skl_get_plane_formats(struct intel_display *display,
 	}
 }
 
+static bool glk_plane_has_planar(struct intel_display *display,
+				 enum pipe pipe, enum plane_id plane_id)
+{
+	if (plane_id != PLANE_1 && plane_id != PLANE_2)
+		return false;
+
+	return true;
+}
+
 static const u32 *glk_get_plane_formats(struct intel_display *display,
 					enum pipe pipe, enum plane_id plane_id,
 					int *num_formats)
 {
-	if (skl_plane_has_planar(display, pipe, plane_id)) {
+	if (glk_plane_has_planar(display, pipe, plane_id)) {
 		*num_formats = ARRAY_SIZE(glk_planar_formats);
 		return glk_planar_formats;
 	} else {
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 8/8] drm/i915: Unify the logic in {skl,glk}_plane_has_*()
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
                   ` (6 preceding siblings ...)
  2025-10-09 21:13 ` [PATCH 7/8] drm/i915: Extract glk_plane_has_planar() Ville Syrjala
@ 2025-10-09 21:13 ` Ville Syrjala
  2025-10-09 22:41 ` ✗ i915.CI.BAT: failure for drm/i915: Some universal plane fixes and cleanups Patchwork
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjala @ 2025-10-09 21:13 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Use the similar logic in skl_plane_has_planar(),
glk_plane_has_planar() and skl_plane_has_rc_ccs() to avoid
having to think too much when comparing the three.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../gpu/drm/i915/display/skl_universal_plane.c   | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 53130b5e4249..d056fc549c7e 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -2427,10 +2427,7 @@ static bool skl_plane_has_planar(struct intel_display *display,
 	if (pipe == PIPE_C)
 		return false;
 
-	if (plane_id != PLANE_1 && plane_id != PLANE_2)
-		return false;
-
-	return true;
+	return plane_id == PLANE_1 || plane_id == PLANE_2;
 }
 
 static const u32 *skl_get_plane_formats(struct intel_display *display,
@@ -2449,10 +2446,7 @@ static const u32 *skl_get_plane_formats(struct intel_display *display,
 static bool glk_plane_has_planar(struct intel_display *display,
 				 enum pipe pipe, enum plane_id plane_id)
 {
-	if (plane_id != PLANE_1 && plane_id != PLANE_2)
-		return false;
-
-	return true;
+	return plane_id == PLANE_1 || plane_id == PLANE_2;
 }
 
 static const u32 *glk_get_plane_formats(struct intel_display *display,
@@ -2699,8 +2693,10 @@ skl_plane_disable_flip_done(struct intel_plane *plane)
 static bool skl_plane_has_rc_ccs(struct intel_display *display,
 				 enum pipe pipe, enum plane_id plane_id)
 {
-	return pipe != PIPE_C &&
-		(plane_id == PLANE_1 || plane_id == PLANE_2);
+	if (pipe == PIPE_C)
+		return false;
+
+	return plane_id == PLANE_1 || plane_id == PLANE_2;
 }
 
 static u8 skl_plane_caps(struct intel_display *display,
-- 
2.49.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 2/8] drm/i915: Drop the min plane width w/a adl+
  2025-10-09 21:13 ` [PATCH 2/8] drm/i915: Drop the min plane width w/a adl+ Ville Syrjala
@ 2025-10-09 22:38   ` Matt Roper
  2025-10-10 23:33     ` Ville Syrjälä
  0 siblings, 1 reply; 15+ messages in thread
From: Matt Roper @ 2025-10-09 22:38 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx, intel-xe

On Fri, Oct 10, 2025 at 12:13:06AM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> ADL+ no longer need the plane min width w/a (Wa_14011264657 or

Nitpick:  For clarity you might want to write this as "ADL-P and beyond"
since ADL-S (which uses display version 12) actually does still need
Wa_14011264657.


Matt

> Wa_14011050563). Don't apply it there. DG2 still needs it.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  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
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation

^ permalink raw reply	[flat|nested] 15+ messages in thread

* ✗ i915.CI.BAT: failure for drm/i915: Some universal plane fixes and cleanups
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
                   ` (7 preceding siblings ...)
  2025-10-09 21:13 ` [PATCH 8/8] drm/i915: Unify the logic in {skl,glk}_plane_has_*() Ville Syrjala
@ 2025-10-09 22:41 ` Patchwork
  2025-10-12 19:39 ` ✓ i915.CI.BAT: success for drm/i915: Some universal plane fixes and cleanups (rev2) Patchwork
  2025-10-28  9:36 ` [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Juha-Pekka Heikkilä
  10 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-10-09 22:41 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 5903 bytes --]

== Series Details ==

Series: drm/i915: Some universal plane fixes and cleanups
URL   : https://patchwork.freedesktop.org/series/155712/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_17334 -> Patchwork_155712v1
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_155712v1 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_155712v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/index.html

Participating hosts (44 -> 42)
------------------------------

  Missing    (2): fi-glk-j4005 fi-snb-2520m 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_155712v1:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@gem_migrate:
    - bat-arlh-2:         [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-arlh-2/igt@i915_selftest@live@gem_migrate.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-arlh-2/igt@i915_selftest@live@gem_migrate.html

  
Known issues
------------

  Here are the changes found in Patchwork_155712v1 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live:
    - bat-arlh-2:         [PASS][3] -> [INCOMPLETE][4] ([i915#14803] / [i915#14838])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-arlh-2/igt@i915_selftest@live.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-arlh-2/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-mtlp-9:         [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-mtlp-9/igt@i915_selftest@live@workarounds.html

  
#### Possible fixes ####

  * igt@i915_selftest@live:
    - bat-dg2-8:          [DMESG-FAIL][7] ([i915#12061]) -> [PASS][8] +1 other test pass
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-dg2-8/igt@i915_selftest@live.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-dg2-8/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-arls-5:         [DMESG-FAIL][9] ([i915#12061]) -> [PASS][10] +1 other test pass
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-arls-5/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-arls-5/igt@i915_selftest@live@workarounds.html
    - bat-dg2-9:          [DMESG-FAIL][11] ([i915#12061]) -> [PASS][12] +1 other test pass
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-dg2-9/igt@i915_selftest@live@workarounds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-dg2-9/igt@i915_selftest@live@workarounds.html
    - bat-dg2-14:         [DMESG-FAIL][13] ([i915#12061]) -> [PASS][14] +1 other test pass
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-dg2-14/igt@i915_selftest@live@workarounds.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-dg2-14/igt@i915_selftest@live@workarounds.html
    - bat-arls-6:         [DMESG-FAIL][15] ([i915#12061]) -> [PASS][16] +1 other test pass
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-arls-6/igt@i915_selftest@live@workarounds.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-arls-6/igt@i915_selftest@live@workarounds.html

  * igt@kms_hdmi_inject@inject-audio:
    - fi-tgl-1115g4:      [FAIL][17] ([i915#14867]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html

  
#### Warnings ####

  * igt@i915_selftest@live:
    - bat-atsm-1:         [DMESG-FAIL][19] ([i915#12061] / [i915#13929]) -> [DMESG-FAIL][20] ([i915#12061] / [i915#14204])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-atsm-1/igt@i915_selftest@live.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-atsm-1/igt@i915_selftest@live.html

  * igt@i915_selftest@live@mman:
    - bat-atsm-1:         [DMESG-FAIL][21] ([i915#13929]) -> [DMESG-FAIL][22] ([i915#14204])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17334/bat-atsm-1/igt@i915_selftest@live@mman.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/bat-atsm-1/igt@i915_selftest@live@mman.html

  
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#13929]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13929
  [i915#14204]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14204
  [i915#14803]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14803
  [i915#14838]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14838
  [i915#14867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14867


Build changes
-------------

  * Linux: CI_DRM_17334 -> Patchwork_155712v1

  CI-20190529: 20190529
  CI_DRM_17334: 23e7752f903fec07634c72b778a733cf4ed17656 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8581: 8581
  Patchwork_155712v1: 23e7752f903fec07634c72b778a733cf4ed17656 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v1/index.html

[-- Attachment #2: Type: text/html, Size: 7386 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 2/8] drm/i915: Drop the min plane width w/a adl+
  2025-10-09 22:38   ` Matt Roper
@ 2025-10-10 23:33     ` Ville Syrjälä
  0 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjälä @ 2025-10-10 23:33 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-gfx, intel-xe

On Thu, Oct 09, 2025 at 03:38:19PM -0700, Matt Roper wrote:
> On Fri, Oct 10, 2025 at 12:13:06AM +0300, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > ADL+ no longer need the plane min width w/a (Wa_14011264657 or
> 
> Nitpick:  For clarity you might want to write this as "ADL-P and beyond"
> since ADL-S (which uses display version 12) actually does still need
> Wa_14011264657.

I always follow the bspec convention: ADL is the real ADL (ADL-P/N,
RPL-something or another). Bspec doesn't even know what ADL-P is.

And ADL-S I don't even think about. It's just a TGL in my book.
Except in those rare special cases where there is a real difference,
like with the PHYs.

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* ✓ i915.CI.BAT: success for drm/i915: Some universal plane fixes and cleanups (rev2)
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
                   ` (8 preceding siblings ...)
  2025-10-09 22:41 ` ✗ i915.CI.BAT: failure for drm/i915: Some universal plane fixes and cleanups Patchwork
@ 2025-10-12 19:39 ` Patchwork
  2025-10-28  9:36 ` [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Juha-Pekka Heikkilä
  10 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-10-12 19:39 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 5997 bytes --]

== Series Details ==

Series: drm/i915: Some universal plane fixes and cleanups (rev2)
URL   : https://patchwork.freedesktop.org/series/155712/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_17343 -> Patchwork_155712v2
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/index.html

Participating hosts (43 -> 43)
------------------------------

  Additional (1): fi-glk-j4005 
  Missing    (1): fi-snb-2520m 

Known issues
------------

  Here are the changes found in Patchwork_155712v2 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@dmabuf@all-tests:
    - bat-apl-1:          [PASS][1] -> [ABORT][2] ([i915#12904]) +1 other test abort
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-apl-1/igt@dmabuf@all-tests.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-apl-1/igt@dmabuf@all-tests.html

  * igt@gem_huc_copy@huc-copy:
    - fi-glk-j4005:       NOTRUN -> [SKIP][3] ([i915#2190])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/fi-glk-j4005/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - fi-glk-j4005:       NOTRUN -> [SKIP][4] ([i915#4613]) +3 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/fi-glk-j4005/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@i915_module_load@load:
    - bat-mtlp-9:         [PASS][5] -> [DMESG-WARN][6] ([i915#13494])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-mtlp-9/igt@i915_module_load@load.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-mtlp-9/igt@i915_module_load@load.html

  * igt@i915_selftest@live:
    - bat-twl-1:          [PASS][7] -> [ABORT][8] ([i915#14365]) +1 other test abort
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-twl-1/igt@i915_selftest@live.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-twl-1/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-arls-5:         [PASS][11] -> [DMESG-FAIL][12] ([i915#12061]) +1 other test dmesg-fail
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-arls-5/igt@i915_selftest@live@workarounds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-arls-5/igt@i915_selftest@live@workarounds.html

  * igt@kms_psr@psr-primary-page-flip:
    - fi-glk-j4005:       NOTRUN -> [SKIP][13] +11 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/fi-glk-j4005/igt@kms_psr@psr-primary-page-flip.html

  
#### Possible fixes ####

  * igt@i915_selftest@live:
    - bat-mtlp-8:         [DMESG-FAIL][14] ([i915#12061]) -> [PASS][15] +1 other test pass
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-mtlp-8/igt@i915_selftest@live.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-mtlp-8/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-arls-6:         [DMESG-FAIL][16] ([i915#12061]) -> [PASS][17] +1 other test pass
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-arls-6/igt@i915_selftest@live@workarounds.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-arls-6/igt@i915_selftest@live@workarounds.html

  * igt@kms_hdmi_inject@inject-audio:
    - fi-tgl-1115g4:      [FAIL][18] ([i915#14867]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html

  
#### Warnings ####

  * igt@i915_selftest@live:
    - bat-atsm-1:         [DMESG-FAIL][20] ([i915#12061] / [i915#14204]) -> [DMESG-FAIL][21] ([i915#12061] / [i915#13929])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-atsm-1/igt@i915_selftest@live.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-atsm-1/igt@i915_selftest@live.html

  * igt@i915_selftest@live@mman:
    - bat-atsm-1:         [DMESG-FAIL][22] ([i915#14204]) -> [DMESG-FAIL][23] ([i915#13929])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17343/bat-atsm-1/igt@i915_selftest@live@mman.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/bat-atsm-1/igt@i915_selftest@live@mman.html

  
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
  [i915#13494]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13494
  [i915#13929]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13929
  [i915#14204]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14204
  [i915#14365]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14365
  [i915#14867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14867
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613


Build changes
-------------

  * Linux: CI_DRM_17343 -> Patchwork_155712v2

  CI-20190529: 20190529
  CI_DRM_17343: 8fcdbd2480bd7d0f6ce819561685462e94c4ed48 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8582: 8582
  Patchwork_155712v2: 8fcdbd2480bd7d0f6ce819561685462e94c4ed48 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_155712v2/index.html

[-- Attachment #2: Type: text/html, Size: 7426 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups
  2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
                   ` (9 preceding siblings ...)
  2025-10-12 19:39 ` ✓ i915.CI.BAT: success for drm/i915: Some universal plane fixes and cleanups (rev2) Patchwork
@ 2025-10-28  9:36 ` Juha-Pekka Heikkilä
  2025-10-28 20:58   ` Ville Syrjälä
  10 siblings, 1 reply; 15+ messages in thread
From: Juha-Pekka Heikkilä @ 2025-10-28  9:36 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx, intel-xe

Set is

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>

Only thing I was wondering about is that cbcr handling with that plane
min width but I assume you've tested it works as we're not getting
much of ci results for these.

/Juha-Pekka

On Fri, Oct 10, 2025 at 12:13 AM Ville Syrjala
<ville.syrjala@linux.intel.com> wrote:
>
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Fix up some of the universal plane min size handling, and do
> a bit of random cleanup.
>
> Ville Syrjälä (8):
>   drm/i915: Rewrite icl_min_plane_width()
>   drm/i915: Drop the min plane width w/a adl+
>   drm/i915: Implement .min_plane_width() for PTL+
>   drm/i915: Start checking plane min size for the chroma plane
>   drm/i915: Introduce intel_plane_min_height()
>   drm/i915: Remove pointless crtc hw.enable check
>   drm/i915: Extract glk_plane_has_planar()
>   drm/i915: Unify the logic in {skl,glk}_plane_has_*()
>
>  .../drm/i915/display/skl_universal_plane.c    | 94 +++++++++----------
>  1 file changed, 44 insertions(+), 50 deletions(-)
>
> --
> 2.49.1
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups
  2025-10-28  9:36 ` [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Juha-Pekka Heikkilä
@ 2025-10-28 20:58   ` Ville Syrjälä
  0 siblings, 0 replies; 15+ messages in thread
From: Ville Syrjälä @ 2025-10-28 20:58 UTC (permalink / raw)
  To: Juha-Pekka Heikkilä; +Cc: intel-gfx, intel-xe

On Tue, Oct 28, 2025 at 11:36:18AM +0200, Juha-Pekka Heikkilä wrote:
> Set is
> 
> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> 
> Only thing I was wondering about is that cbcr handling with that plane
> min width but I assume you've tested it works as we're not getting
> much of ci results for these.

The actual limits aren't changing here so not much to test in that
sense. I've never actually tested to see what happens if the plane is
below that w/a min width, but IIRC from reading the hsd the problem
was more along the linds of extra power draw rather than underrun/etc.

> 
> /Juha-Pekka
> 
> On Fri, Oct 10, 2025 at 12:13 AM Ville Syrjala
> <ville.syrjala@linux.intel.com> wrote:
> >
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Fix up some of the universal plane min size handling, and do
> > a bit of random cleanup.
> >
> > Ville Syrjälä (8):
> >   drm/i915: Rewrite icl_min_plane_width()
> >   drm/i915: Drop the min plane width w/a adl+
> >   drm/i915: Implement .min_plane_width() for PTL+
> >   drm/i915: Start checking plane min size for the chroma plane
> >   drm/i915: Introduce intel_plane_min_height()
> >   drm/i915: Remove pointless crtc hw.enable check
> >   drm/i915: Extract glk_plane_has_planar()
> >   drm/i915: Unify the logic in {skl,glk}_plane_has_*()
> >
> >  .../drm/i915/display/skl_universal_plane.c    | 94 +++++++++----------
> >  1 file changed, 44 insertions(+), 50 deletions(-)
> >
> > --
> > 2.49.1
> >

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-10-28 20:59 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-09 21:13 [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Ville Syrjala
2025-10-09 21:13 ` [PATCH 1/8] drm/i915: Rewrite icl_min_plane_width() Ville Syrjala
2025-10-09 21:13 ` [PATCH 2/8] drm/i915: Drop the min plane width w/a adl+ Ville Syrjala
2025-10-09 22:38   ` Matt Roper
2025-10-10 23:33     ` Ville Syrjälä
2025-10-09 21:13 ` [PATCH 3/8] drm/i915: Implement .min_plane_width() for PTL+ Ville Syrjala
2025-10-09 21:13 ` [PATCH 4/8] drm/i915: Start checking plane min size for the chroma plane Ville Syrjala
2025-10-09 21:13 ` [PATCH 5/8] drm/i915: Introduce intel_plane_min_height() Ville Syrjala
2025-10-09 21:13 ` [PATCH 6/8] drm/i915: Remove pointless crtc hw.enable check Ville Syrjala
2025-10-09 21:13 ` [PATCH 7/8] drm/i915: Extract glk_plane_has_planar() Ville Syrjala
2025-10-09 21:13 ` [PATCH 8/8] drm/i915: Unify the logic in {skl,glk}_plane_has_*() Ville Syrjala
2025-10-09 22:41 ` ✗ i915.CI.BAT: failure for drm/i915: Some universal plane fixes and cleanups Patchwork
2025-10-12 19:39 ` ✓ i915.CI.BAT: success for drm/i915: Some universal plane fixes and cleanups (rev2) Patchwork
2025-10-28  9:36 ` [PATCH 0/8] drm/i915: Some universal plane fixes and cleanups Juha-Pekka Heikkilä
2025-10-28 20:58   ` Ville Syrjälä

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).