All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring
@ 2025-09-08  7:35 Luca Coelho
  2025-09-08  7:35 ` [PATCH 1/6] drm/i915/wm: clarify watermark ops with comments Luca Coelho
                   ` (7 more replies)
  0 siblings, 8 replies; 22+ messages in thread
From: Luca Coelho @ 2025-09-08  7:35 UTC (permalink / raw)
  To: intel-gfx

Hi,

Here are some initial clean-ups and small refactoring in preparation
for further refactoring of the watermark code.

Please review.

Cheers,
Luca.


Luca Coelho (6):
  drm/i915/wm: clarify watermark ops with comments
  drm/i915/wm: move intel_sagv_init() to avoid forward declaration
  drm/i915/wm: remove stale FIXME in skl_needs_memory_bw_wa()
  drm/i915/wm: convert x/y-tiling bools to an enum
  drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a
    switch-case
  drm/i915/wm: move method selection and calculation to a separate
    function

 .../gpu/drm/i915/display/intel_display_core.h |   6 +-
 drivers/gpu/drm/i915/display/skl_watermark.c  | 162 +++++++++++-------
 2 files changed, 106 insertions(+), 62 deletions(-)

-- 
2.50.1


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

* [PATCH 1/6] drm/i915/wm: clarify watermark ops with comments
  2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
@ 2025-09-08  7:35 ` Luca Coelho
  2025-09-16  8:52   ` Govindapillai, Vinod
  2025-09-08  7:35 ` [PATCH 2/6] drm/i915/wm: move intel_sagv_init() to avoid forward declaration Luca Coelho
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Luca Coelho @ 2025-09-08  7:35 UTC (permalink / raw)
  To: intel-gfx

Some of the ops in struct intel_wm_funcs are used only for legacy
watermark management, while others are only for SKL+ or both.  Clarify
that in the struct definition.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_core.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 8c226406c5cd..938971591470 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -78,7 +78,7 @@ struct intel_display_funcs {
 
 /* functions used for watermark calcs for display. */
 struct intel_wm_funcs {
-	/* update_wm is for legacy wm management */
+	/* these are only for legacy wm management */
 	void (*update_wm)(struct intel_display *display);
 	int (*compute_watermarks)(struct intel_atomic_state *state,
 				  struct intel_crtc *crtc);
@@ -88,8 +88,12 @@ struct intel_wm_funcs {
 					 struct intel_crtc *crtc);
 	void (*optimize_watermarks)(struct intel_atomic_state *state,
 				    struct intel_crtc *crtc);
+
+	/* these are for SKL+ wm management */
 	int (*compute_global_watermarks)(struct intel_atomic_state *state);
 	void (*get_hw_state)(struct intel_display *display);
+
+	/* this is used by both legacy and SKL+ */
 	void (*sanitize)(struct intel_display *display);
 };
 
-- 
2.50.1


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

* [PATCH 2/6] drm/i915/wm: move intel_sagv_init() to avoid forward declaration
  2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
  2025-09-08  7:35 ` [PATCH 1/6] drm/i915/wm: clarify watermark ops with comments Luca Coelho
@ 2025-09-08  7:35 ` Luca Coelho
  2025-09-16  8:53   ` Govindapillai, Vinod
  2025-09-08  7:35 ` [PATCH 3/6] drm/i915/wm: remove stale FIXME in skl_needs_memory_bw_wa() Luca Coelho
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Luca Coelho @ 2025-09-08  7:35 UTC (permalink / raw)
  To: intel-gfx

There's no need to have a forward-declaration for skl_sagv_disable(),
so move the intel_sagv_init() function below the called function to
prevent it.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 60 ++++++++++----------
 1 file changed, 29 insertions(+), 31 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index d74cbb43ae6f..3b409442db37 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -53,8 +53,6 @@ struct intel_dbuf_state {
 #define intel_atomic_get_new_dbuf_state(state) \
 	to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state, &to_intel_display(state)->dbuf.obj))
 
-static void skl_sagv_disable(struct intel_display *display);
-
 /* Stores plane specific WM parameters */
 struct skl_wm_params {
 	bool x_tiled, y_tiled;
@@ -130,35 +128,6 @@ intel_sagv_block_time(struct intel_display *display)
 	}
 }
 
-static void intel_sagv_init(struct intel_display *display)
-{
-	if (!HAS_SAGV(display))
-		display->sagv.status = I915_SAGV_NOT_CONTROLLED;
-
-	/*
-	 * Probe to see if we have working SAGV control.
-	 * For icl+ this was already determined by intel_bw_init_hw().
-	 */
-	if (DISPLAY_VER(display) < 11)
-		skl_sagv_disable(display);
-
-	drm_WARN_ON(display->drm, display->sagv.status == I915_SAGV_UNKNOWN);
-
-	display->sagv.block_time_us = intel_sagv_block_time(display);
-
-	drm_dbg_kms(display->drm, "SAGV supported: %s, original SAGV block time: %u us\n",
-		    str_yes_no(intel_has_sagv(display)), display->sagv.block_time_us);
-
-	/* avoid overflow when adding with wm0 latency/etc. */
-	if (drm_WARN(display->drm, display->sagv.block_time_us > U16_MAX,
-		     "Excessive SAGV block time %u, ignoring\n",
-		     display->sagv.block_time_us))
-		display->sagv.block_time_us = 0;
-
-	if (!intel_has_sagv(display))
-		display->sagv.block_time_us = 0;
-}
-
 /*
  * SAGV dynamically adjusts the system agent voltage and clock frequencies
  * depending on power and performance requirements. The display engine access
@@ -233,6 +202,35 @@ static void skl_sagv_disable(struct intel_display *display)
 	display->sagv.status = I915_SAGV_DISABLED;
 }
 
+static void intel_sagv_init(struct intel_display *display)
+{
+	if (!HAS_SAGV(display))
+		display->sagv.status = I915_SAGV_NOT_CONTROLLED;
+
+	/*
+	 * Probe to see if we have working SAGV control.
+	 * For icl+ this was already determined by intel_bw_init_hw().
+	 */
+	if (DISPLAY_VER(display) < 11)
+		skl_sagv_disable(display);
+
+	drm_WARN_ON(display->drm, display->sagv.status == I915_SAGV_UNKNOWN);
+
+	display->sagv.block_time_us = intel_sagv_block_time(display);
+
+	drm_dbg_kms(display->drm, "SAGV supported: %s, original SAGV block time: %u us\n",
+		    str_yes_no(intel_has_sagv(display)), display->sagv.block_time_us);
+
+	/* avoid overflow when adding with wm0 latency/etc. */
+	if (drm_WARN(display->drm, display->sagv.block_time_us > U16_MAX,
+		     "Excessive SAGV block time %u, ignoring\n",
+		     display->sagv.block_time_us))
+		display->sagv.block_time_us = 0;
+
+	if (!intel_has_sagv(display))
+		display->sagv.block_time_us = 0;
+}
+
 static void skl_sagv_pre_plane_update(struct intel_atomic_state *state)
 {
 	struct intel_display *display = to_intel_display(state);
-- 
2.50.1


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

* [PATCH 3/6] drm/i915/wm: remove stale FIXME in skl_needs_memory_bw_wa()
  2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
  2025-09-08  7:35 ` [PATCH 1/6] drm/i915/wm: clarify watermark ops with comments Luca Coelho
  2025-09-08  7:35 ` [PATCH 2/6] drm/i915/wm: move intel_sagv_init() to avoid forward declaration Luca Coelho
@ 2025-09-08  7:35 ` Luca Coelho
  2025-09-16  9:21   ` Govindapillai, Vinod
  2025-09-08  7:35 ` [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum Luca Coelho
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Luca Coelho @ 2025-09-08  7:35 UTC (permalink / raw)
  To: intel-gfx

This FIXME has been there forever and apparently the _proper code_ has
never been added, and, since it's a very old platform alreday, most
likely never will.  It hasn't been a problem to keep the workaround
for all cases, so let's drop the FIXME tag.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 3b409442db37..0ce3420a919e 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -83,8 +83,8 @@ u8 intel_enabled_dbuf_slices_mask(struct intel_display *display)
 }
 
 /*
- * FIXME: We still don't have the proper code detect if we need to apply the WA,
- * so assume we'll always need it in order to avoid underruns.
+ * We don't have the proper code detect if we need to apply the WA, so
+ * assume we'll always need it in order to avoid underruns.
  */
 static bool skl_needs_memory_bw_wa(struct intel_display *display)
 {
-- 
2.50.1


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

* [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum
  2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
                   ` (2 preceding siblings ...)
  2025-09-08  7:35 ` [PATCH 3/6] drm/i915/wm: remove stale FIXME in skl_needs_memory_bw_wa() Luca Coelho
@ 2025-09-08  7:35 ` Luca Coelho
  2025-09-08 12:43   ` Gustavo Sousa
  2025-09-19  8:36   ` Ville Syrjälä
  2025-09-08  7:35 ` [PATCH 5/6] drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a switch-case Luca Coelho
                   ` (3 subsequent siblings)
  7 siblings, 2 replies; 22+ messages in thread
From: Luca Coelho @ 2025-09-08  7:35 UTC (permalink / raw)
  To: intel-gfx

There are currently two booleans to define three tiling modes, which
is bad practice because it allows representing an invalid mode.  In
order to simplify this, convert these two booleans into one
enumeration with three possible tiling modes.

Additionally, introduce the concept of Y "family" of tiling, which
groups Y, Yf and 4 tiling, since they're effectively treated in the
same way in the watermark calculations.  Describe the grouping in the
enumeration definition.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 35 ++++++++++++++------
 1 file changed, 24 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 0ce3420a919e..dd4bed02c3c0 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -53,9 +53,16 @@ struct intel_dbuf_state {
 #define intel_atomic_get_new_dbuf_state(state) \
 	to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state, &to_intel_display(state)->dbuf.obj))
 
+/* Tiling mode groups relevant to WM calculations */
+enum wm_tiling_mode {
+	WM_TILING_LINEAR,
+	WM_TILING_X_TILED,	/* mostly like linear */
+	WM_TILING_Y_FAMILY,	/* includes Y, Yf and 4 tiling */
+};
+
 /* Stores plane specific WM parameters */
 struct skl_wm_params {
-	bool x_tiled, y_tiled;
+	enum wm_tiling_mode tiling;
 	bool rc_surface;
 	bool is_planar;
 	u32 width;
@@ -618,7 +625,8 @@ static unsigned int skl_wm_latency(struct intel_display *display, int level,
 	     display->platform.cometlake) && skl_watermark_ipc_enabled(display))
 		latency += 4;
 
-	if (skl_needs_memory_bw_wa(display) && wp && wp->x_tiled)
+	if (skl_needs_memory_bw_wa(display) &&
+	    wp && wp->tiling == WM_TILING_X_TILED)
 		latency += 15;
 
 	return latency;
@@ -1674,9 +1682,14 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
 		return -EINVAL;
 	}
 
-	wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED;
-	wp->y_tiled = modifier != I915_FORMAT_MOD_X_TILED &&
-		intel_fb_is_tiled_modifier(modifier);
+	if (modifier == I915_FORMAT_MOD_X_TILED)
+		wp->tiling = WM_TILING_X_TILED;
+	else if (modifier != I915_FORMAT_MOD_X_TILED &&
+		 intel_fb_is_tiled_modifier(modifier))
+		wp->tiling = WM_TILING_Y_FAMILY;
+	else
+		wp->tiling = WM_TILING_LINEAR;
+
 	wp->rc_surface = intel_fb_is_ccs_modifier(modifier);
 	wp->is_planar = intel_format_info_is_yuv_semiplanar(format, modifier);
 
@@ -1716,7 +1729,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
 		wp->y_min_scanlines *= 2;
 
 	wp->plane_bytes_per_line = wp->width * wp->cpp;
-	if (wp->y_tiled) {
+	if (wp->tiling == WM_TILING_Y_FAMILY) {
 		interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line *
 					   wp->y_min_scanlines,
 					   wp->dbuf_block_size);
@@ -1732,7 +1745,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
 		interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line,
 					   wp->dbuf_block_size);
 
-		if (!wp->x_tiled || DISPLAY_VER(display) >= 10)
+		if (wp->tiling != WM_TILING_X_TILED || DISPLAY_VER(display) >= 10)
 			interm_pbpl++;
 
 		wp->plane_blocks_per_line = u32_to_fixed16(interm_pbpl);
@@ -1820,7 +1833,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
 				 latency,
 				 wp->plane_blocks_per_line);
 
-	if (wp->y_tiled) {
+	if (wp->tiling == WM_TILING_Y_FAMILY) {
 		selected_result = max_fixed16(method2, wp->y_tile_minimum);
 	} else {
 		if ((wp->cpp * crtc_state->hw.pipe_mode.crtc_htotal /
@@ -1870,7 +1883,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
 
 		/* Display WA #1126: skl,bxt,kbl */
 		if (level >= 1 && level <= 7) {
-			if (wp->y_tiled) {
+			if (wp->tiling == WM_TILING_Y_FAMILY) {
 				blocks += fixed16_to_u32_round_up(wp->y_tile_minimum);
 				lines += wp->y_min_scanlines;
 			} else {
@@ -1889,7 +1902,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
 	}
 
 	if (DISPLAY_VER(display) >= 11) {
-		if (wp->y_tiled) {
+		if (wp->tiling == WM_TILING_Y_FAMILY) {
 			int extra_lines;
 
 			if (lines % wp->y_min_scanlines == 0)
@@ -2015,7 +2028,7 @@ static void skl_compute_transition_wm(struct intel_display *display,
 	 */
 	wm0_blocks = wm0->blocks - 1;
 
-	if (wp->y_tiled) {
+	if (wp->tiling == WM_TILING_Y_FAMILY) {
 		trans_y_tile_min =
 			(u16)mul_round_up_u32_fixed16(2, wp->y_tile_minimum);
 		blocks = max(wm0_blocks, trans_y_tile_min) + trans_offset;
-- 
2.50.1


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

* [PATCH 5/6] drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a switch-case
  2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
                   ` (3 preceding siblings ...)
  2025-09-08  7:35 ` [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum Luca Coelho
@ 2025-09-08  7:35 ` Luca Coelho
  2025-09-08 12:51   ` Gustavo Sousa
  2025-09-08  7:35 ` [PATCH 6/6] drm/i915/wm: move method selection and calculation to a separate function Luca Coelho
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Luca Coelho @ 2025-09-08  7:35 UTC (permalink / raw)
  To: intel-gfx

Make the code a bit clearer by using a switch-case to check the tiling
mode in skl_compute_plane_wm(), because all the possible states and
the calculations they use are explicitly handled.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 24 +++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index dd4bed02c3c0..21f8d52ec1d2 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -1833,21 +1833,39 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
 				 latency,
 				 wp->plane_blocks_per_line);
 
-	if (wp->tiling == WM_TILING_Y_FAMILY) {
+	switch (wp->tiling) {
+	case WM_TILING_Y_FAMILY:
 		selected_result = max_fixed16(method2, wp->y_tile_minimum);
-	} else {
+		break;
+
+	case WM_TILING_LINEAR:
+	case WM_TILING_X_TILED:
+		/*
+		 * Special case for unrealistically small horizontal
+		 * total with plane downscaling.
+		 */
 		if ((wp->cpp * crtc_state->hw.pipe_mode.crtc_htotal /
 		     wp->dbuf_block_size < 1) &&
-		     (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
+		    (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
 			selected_result = method2;
 		} else if (latency >= wp->linetime_us) {
+			/*
+			 * With display version 9, we use the minimum
+			 * of both methods.
+			 */
 			if (DISPLAY_VER(display) == 9)
 				selected_result = min_fixed16(method1, method2);
 			else
 				selected_result = method2;
 		} else {
+			/* everything else with linear/X-tiled uses method 1 */
 			selected_result = method1;
 		}
+		break;
+
+	default:
+		drm_err(display->drm, "Invalid tiling mode\n", wp->tiling);
+		break;
 	}
 
 	blocks = fixed16_to_u32_round_up(selected_result);
-- 
2.50.1


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

* [PATCH 6/6] drm/i915/wm: move method selection and calculation to a separate function
  2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
                   ` (4 preceding siblings ...)
  2025-09-08  7:35 ` [PATCH 5/6] drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a switch-case Luca Coelho
@ 2025-09-08  7:35 ` Luca Coelho
  2025-09-19 18:00   ` Ville Syrjälä
  2025-09-08 17:20 ` ✓ i915.CI.BAT: success for drm/i915/wm: some clean-ups and a bit of refactoring Patchwork
  2025-09-09  2:47 ` ✗ i915.CI.Full: failure " Patchwork
  7 siblings, 1 reply; 22+ messages in thread
From: Luca Coelho @ 2025-09-08  7:35 UTC (permalink / raw)
  To: intel-gfx

Isolate the code that handles method selection and calculation, so
skl_compute_plane_wm() doesn't get too long.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 51 ++++++++++++--------
 1 file changed, 31 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 21f8d52ec1d2..33853a18ee9c 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -1806,25 +1806,14 @@ static bool xe3_auto_min_alloc_capable(struct intel_plane *plane, int level)
 	return DISPLAY_VER(display) >= 30 && level == 0 && plane->id != PLANE_CURSOR;
 }
 
-static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
-				 struct intel_plane *plane,
-				 int level,
-				 unsigned int latency,
-				 const struct skl_wm_params *wp,
-				 const struct skl_wm_level *result_prev,
-				 struct skl_wm_level *result /* out */)
+static uint_fixed_16_16_t
+skl_wm_run_method(struct intel_display *display,
+		  const struct intel_crtc_state *crtc_state,
+		  const struct skl_wm_params *wp,
+		  unsigned int latency)
 {
-	struct intel_display *display = to_intel_display(crtc_state);
 	uint_fixed_16_16_t method1, method2;
 	uint_fixed_16_16_t selected_result;
-	u32 blocks, lines, min_ddb_alloc = 0;
-
-	if (latency == 0 ||
-	    (use_minimal_wm0_only(crtc_state, plane) && level > 0)) {
-		/* reject it */
-		result->min_ddb_alloc = U16_MAX;
-		return;
-	}
 
 	method1 = skl_wm_method1(display, wp->plane_pixel_rate,
 				 wp->cpp, latency, wp->dbuf_block_size);
@@ -1837,7 +1826,9 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
 	case WM_TILING_Y_FAMILY:
 		selected_result = max_fixed16(method2, wp->y_tile_minimum);
 		break;
-
+	default:
+		MISSING_CASE(wp->tiling);
+		fallthrough;
 	case WM_TILING_LINEAR:
 	case WM_TILING_X_TILED:
 		/*
@@ -1862,12 +1853,32 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
 			selected_result = method1;
 		}
 		break;
+	}
 
-	default:
-		drm_err(display->drm, "Invalid tiling mode\n", wp->tiling);
-		break;
+	return selected_result;
+}
+
+static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
+				 struct intel_plane *plane,
+				 int level,
+				 unsigned int latency,
+				 const struct skl_wm_params *wp,
+				 const struct skl_wm_level *result_prev,
+				 struct skl_wm_level *result /* out */)
+{
+	struct intel_display *display = to_intel_display(crtc_state);
+	uint_fixed_16_16_t selected_result;
+	u32 blocks, lines, min_ddb_alloc = 0;
+
+	if (latency == 0 ||
+	    (use_minimal_wm0_only(crtc_state, plane) && level > 0)) {
+		/* reject it */
+		result->min_ddb_alloc = U16_MAX;
+		return;
 	}
 
+	selected_result = skl_wm_run_method(display, crtc_state, wp, latency);
+
 	blocks = fixed16_to_u32_round_up(selected_result);
 	if (DISPLAY_VER(display) < 30)
 		blocks++;
-- 
2.50.1


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

* Re: [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum
  2025-09-08  7:35 ` [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum Luca Coelho
@ 2025-09-08 12:43   ` Gustavo Sousa
  2025-09-08 12:53     ` Luca Coelho
  2025-09-19  8:36   ` Ville Syrjälä
  1 sibling, 1 reply; 22+ messages in thread
From: Gustavo Sousa @ 2025-09-08 12:43 UTC (permalink / raw)
  To: Luca Coelho, intel-gfx

Quoting Luca Coelho (2025-09-08 04:35:33-03:00)
>There are currently two booleans to define three tiling modes, which
>is bad practice because it allows representing an invalid mode.  In
>order to simplify this, convert these two booleans into one
>enumeration with three possible tiling modes.
>
>Additionally, introduce the concept of Y "family" of tiling, which
>groups Y, Yf and 4 tiling, since they're effectively treated in the
>same way in the watermark calculations.  Describe the grouping in the
>enumeration definition.
>
>Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
>---
> drivers/gpu/drm/i915/display/skl_watermark.c | 35 ++++++++++++++------
> 1 file changed, 24 insertions(+), 11 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
>index 0ce3420a919e..dd4bed02c3c0 100644
>--- a/drivers/gpu/drm/i915/display/skl_watermark.c
>+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
>@@ -53,9 +53,16 @@ struct intel_dbuf_state {
> #define intel_atomic_get_new_dbuf_state(state) \
>         to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state, &to_intel_display(state)->dbuf.obj))
> 
>+/* Tiling mode groups relevant to WM calculations */
>+enum wm_tiling_mode {
>+        WM_TILING_LINEAR,
>+        WM_TILING_X_TILED,        /* mostly like linear */
>+        WM_TILING_Y_FAMILY,        /* includes Y, Yf and 4 tiling */
>+};
>+
> /* Stores plane specific WM parameters */
> struct skl_wm_params {
>-        bool x_tiled, y_tiled;
>+        enum wm_tiling_mode tiling;
>         bool rc_surface;
>         bool is_planar;
>         u32 width;
>@@ -618,7 +625,8 @@ static unsigned int skl_wm_latency(struct intel_display *display, int level,
>              display->platform.cometlake) && skl_watermark_ipc_enabled(display))
>                 latency += 4;
> 
>-        if (skl_needs_memory_bw_wa(display) && wp && wp->x_tiled)
>+        if (skl_needs_memory_bw_wa(display) &&
>+            wp && wp->tiling == WM_TILING_X_TILED)
>                 latency += 15;
> 
>         return latency;
>@@ -1674,9 +1682,14 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
>                 return -EINVAL;
>         }
> 
>-        wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED;
>-        wp->y_tiled = modifier != I915_FORMAT_MOD_X_TILED &&
>-                intel_fb_is_tiled_modifier(modifier);
>+        if (modifier == I915_FORMAT_MOD_X_TILED)
>+                wp->tiling = WM_TILING_X_TILED;
>+        else if (modifier != I915_FORMAT_MOD_X_TILED &&
>+                 intel_fb_is_tiled_modifier(modifier))
>+                wp->tiling = WM_TILING_Y_FAMILY;
>+        else
>+                wp->tiling = WM_TILING_LINEAR;
>+

Hm...  I feel like x_tiled and y_tiled, just like other members of
struct skl_wm_params, are more about represeting *properties* of the
framebuffer/plane that are relevant to the algorithm rather than the
tiling mode itself.  Invalid combinations of values would reflect a
problem outside of the watermark calculation.  So, I'm not sure we
really need an enumeration here.  If, in the future, we end up needing
to know a tiling-related property that could be common to different
tiling modes, the enumeration would not work for us.

On the other hand, we do reduce the number of members in struct
skl_wm_params.

So, I have mixed feelings about this change.

>         wp->rc_surface = intel_fb_is_ccs_modifier(modifier);
>         wp->is_planar = intel_format_info_is_yuv_semiplanar(format, modifier);
> 
>@@ -1716,7 +1729,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
>                 wp->y_min_scanlines *= 2;
> 
>         wp->plane_bytes_per_line = wp->width * wp->cpp;
>-        if (wp->y_tiled) {
>+        if (wp->tiling == WM_TILING_Y_FAMILY) {
>                 interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line *
>                                            wp->y_min_scanlines,
>                                            wp->dbuf_block_size);
>@@ -1732,7 +1745,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
>                 interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line,
>                                            wp->dbuf_block_size);
> 
>-                if (!wp->x_tiled || DISPLAY_VER(display) >= 10)
>+                if (wp->tiling != WM_TILING_X_TILED || DISPLAY_VER(display) >= 10)
>                         interm_pbpl++;
> 
>                 wp->plane_blocks_per_line = u32_to_fixed16(interm_pbpl);
>@@ -1820,7 +1833,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>                                  latency,
>                                  wp->plane_blocks_per_line);
> 
>-        if (wp->y_tiled) {
>+        if (wp->tiling == WM_TILING_Y_FAMILY) {
>                 selected_result = max_fixed16(method2, wp->y_tile_minimum);
>         } else {
>                 if ((wp->cpp * crtc_state->hw.pipe_mode.crtc_htotal /
>@@ -1870,7 +1883,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
> 
>                 /* Display WA #1126: skl,bxt,kbl */
>                 if (level >= 1 && level <= 7) {
>-                        if (wp->y_tiled) {
>+                        if (wp->tiling == WM_TILING_Y_FAMILY) {
>                                 blocks += fixed16_to_u32_round_up(wp->y_tile_minimum);
>                                 lines += wp->y_min_scanlines;
>                         } else {
>@@ -1889,7 +1902,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>         }
> 
>         if (DISPLAY_VER(display) >= 11) {
>-                if (wp->y_tiled) {
>+                if (wp->tiling == WM_TILING_Y_FAMILY) {
>                         int extra_lines;
> 
>                         if (lines % wp->y_min_scanlines == 0)
>@@ -2015,7 +2028,7 @@ static void skl_compute_transition_wm(struct intel_display *display,
>          */
>         wm0_blocks = wm0->blocks - 1;
> 
>-        if (wp->y_tiled) {
>+        if (wp->tiling == WM_TILING_Y_FAMILY) {
>                 trans_y_tile_min =
>                         (u16)mul_round_up_u32_fixed16(2, wp->y_tile_minimum);
>                 blocks = max(wm0_blocks, trans_y_tile_min) + trans_offset;
>-- 
>2.50.1
>

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

* Re: [PATCH 5/6] drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a switch-case
  2025-09-08  7:35 ` [PATCH 5/6] drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a switch-case Luca Coelho
@ 2025-09-08 12:51   ` Gustavo Sousa
  2025-09-08 12:57     ` Luca Coelho
  0 siblings, 1 reply; 22+ messages in thread
From: Gustavo Sousa @ 2025-09-08 12:51 UTC (permalink / raw)
  To: Luca Coelho, intel-gfx

Quoting Luca Coelho (2025-09-08 04:35:34-03:00)
>Make the code a bit clearer by using a switch-case to check the tiling
>mode in skl_compute_plane_wm(), because all the possible states and
>the calculations they use are explicitly handled.
>
>Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
>---
> drivers/gpu/drm/i915/display/skl_watermark.c | 24 +++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
>index dd4bed02c3c0..21f8d52ec1d2 100644
>--- a/drivers/gpu/drm/i915/display/skl_watermark.c
>+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
>@@ -1833,21 +1833,39 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>                                  latency,
>                                  wp->plane_blocks_per_line);
> 
>-        if (wp->tiling == WM_TILING_Y_FAMILY) {
>+        switch (wp->tiling) {
>+        case WM_TILING_Y_FAMILY:
>                 selected_result = max_fixed16(method2, wp->y_tile_minimum);
>-        } else {
>+                break;
>+
>+        case WM_TILING_LINEAR:
>+        case WM_TILING_X_TILED:
>+                /*
>+                 * Special case for unrealistically small horizontal
>+                 * total with plane downscaling.
>+                 */
>                 if ((wp->cpp * crtc_state->hw.pipe_mode.crtc_htotal /
>                      wp->dbuf_block_size < 1) &&
>-                     (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
>+                    (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
>                         selected_result = method2;
>                 } else if (latency >= wp->linetime_us) {
>+                        /*
>+                         * With display version 9, we use the minimum
>+                         * of both methods.
>+                         */

Hm... Isn't this saying what is already clear in the code below?

>                         if (DISPLAY_VER(display) == 9)
>                                 selected_result = min_fixed16(method1, method2);
>                         else
>                                 selected_result = method2;
>                 } else {
>+                        /* everything else with linear/X-tiled uses method 1 */
>                         selected_result = method1;
>                 }
>+                break;
>+
>+        default:
>+                drm_err(display->drm, "Invalid tiling mode\n", wp->tiling);
>+                break;

If we decide to go with the enumeration solution, I think we should
change this into a warning and use some default behavior here (perhaps
WM_TILING_LINEAR?). Otherwise, selected_result would be used
uninitialized.

--
Gustavo Sousa

>         }
> 
>         blocks = fixed16_to_u32_round_up(selected_result);
>-- 
>2.50.1
>

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

* Re: [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum
  2025-09-08 12:43   ` Gustavo Sousa
@ 2025-09-08 12:53     ` Luca Coelho
  0 siblings, 0 replies; 22+ messages in thread
From: Luca Coelho @ 2025-09-08 12:53 UTC (permalink / raw)
  To: Gustavo Sousa, Luca Coelho, intel-gfx

On Mon, 2025-09-08 at 09:43 -0300, Gustavo Sousa wrote:
> Quoting Luca Coelho (2025-09-08 04:35:33-03:00)
> > There are currently two booleans to define three tiling modes, which
> > is bad practice because it allows representing an invalid mode.  In
> > order to simplify this, convert these two booleans into one
> > enumeration with three possible tiling modes.
> > 
> > Additionally, introduce the concept of Y "family" of tiling, which
> > groups Y, Yf and 4 tiling, since they're effectively treated in the
> > same way in the watermark calculations.  Describe the grouping in the
> > enumeration definition.
> > 
> > Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/skl_watermark.c | 35 ++++++++++++++------
> > 1 file changed, 24 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> > index 0ce3420a919e..dd4bed02c3c0 100644
> > --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> > +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> > @@ -53,9 +53,16 @@ struct intel_dbuf_state {
> > #define intel_atomic_get_new_dbuf_state(state) \
> >         to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state, &to_intel_display(state)->dbuf.obj))
> > 
> > +/* Tiling mode groups relevant to WM calculations */
> > +enum wm_tiling_mode {
> > +        WM_TILING_LINEAR,
> > +        WM_TILING_X_TILED,        /* mostly like linear */
> > +        WM_TILING_Y_FAMILY,        /* includes Y, Yf and 4 tiling */
> > +};
> > +
> > /* Stores plane specific WM parameters */
> > struct skl_wm_params {
> > -        bool x_tiled, y_tiled;
> > +        enum wm_tiling_mode tiling;
> >         bool rc_surface;
> >         bool is_planar;
> >         u32 width;
> > @@ -618,7 +625,8 @@ static unsigned int skl_wm_latency(struct intel_display *display, int level,
> >              display->platform.cometlake) && skl_watermark_ipc_enabled(display))
> >                 latency += 4;
> > 
> > -        if (skl_needs_memory_bw_wa(display) && wp && wp->x_tiled)
> > +        if (skl_needs_memory_bw_wa(display) &&
> > +            wp && wp->tiling == WM_TILING_X_TILED)
> >                 latency += 15;
> > 
> >         return latency;
> > @@ -1674,9 +1682,14 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
> >                 return -EINVAL;
> >         }
> > 
> > -        wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED;
> > -        wp->y_tiled = modifier != I915_FORMAT_MOD_X_TILED &&
> > -                intel_fb_is_tiled_modifier(modifier);
> > +        if (modifier == I915_FORMAT_MOD_X_TILED)
> > +                wp->tiling = WM_TILING_X_TILED;
> > +        else if (modifier != I915_FORMAT_MOD_X_TILED &&
> > +                 intel_fb_is_tiled_modifier(modifier))
> > +                wp->tiling = WM_TILING_Y_FAMILY;
> > +        else
> > +                wp->tiling = WM_TILING_LINEAR;
> > +
> 
> Hm...  I feel like x_tiled and y_tiled, just like other members of
> struct skl_wm_params, are more about represeting *properties* of the
> framebuffer/plane that are relevant to the algorithm rather than the
> tiling mode itself.  Invalid combinations of values would reflect a
> problem outside of the watermark calculation.  So, I'm not sure we
> really need an enumeration here.  If, in the future, we end up needing
> to know a tiling-related property that could be common to different
> tiling modes, the enumeration would not work for us.

This was mainly to make some sense out of the different tiling modes
that affect watermark calculations.  If you check newer bspecs, there's
no mention of Y-tiling anymore, only 4-tiling, which superseeded y-
tiling.  It was quite confusing to figure this all out, not clear from
the code at all.  Additionally, in the watermark code, there has been
mention of linear, which sort of included x-tiling as well.

With the enumeration, we not only remove the invalid combinations (e.g.
x-tiled and y-tiled both being set to true), but also make it clear
that these are all different values for the "tiling" attribute for
watermark calculations.


> On the other hand, we do reduce the number of members in struct
> skl_wm_params.
> 
> So, I have mixed feelings about this change.

It's not only the reduction of members, but also clarity in the code,
IMHO and avoidance of impossible combinations.  With one of the next
patches I convert some of this stuff into a switch-case, so it becomes
clearer to see how each one is handled.

--
Cheers,
Luca.

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

* Re: [PATCH 5/6] drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a switch-case
  2025-09-08 12:51   ` Gustavo Sousa
@ 2025-09-08 12:57     ` Luca Coelho
  0 siblings, 0 replies; 22+ messages in thread
From: Luca Coelho @ 2025-09-08 12:57 UTC (permalink / raw)
  To: Gustavo Sousa, Luca Coelho, intel-gfx

On Mon, 2025-09-08 at 09:51 -0300, Gustavo Sousa wrote:
> Quoting Luca Coelho (2025-09-08 04:35:34-03:00)
> > Make the code a bit clearer by using a switch-case to check the tiling
> > mode in skl_compute_plane_wm(), because all the possible states and
> > the calculations they use are explicitly handled.
> > 
> > Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/skl_watermark.c | 24 +++++++++++++++++---
> > 1 file changed, 21 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> > index dd4bed02c3c0..21f8d52ec1d2 100644
> > --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> > +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> > @@ -1833,21 +1833,39 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
> >                                  latency,
> >                                  wp->plane_blocks_per_line);
> > 
> > -        if (wp->tiling == WM_TILING_Y_FAMILY) {
> > +        switch (wp->tiling) {
> > +        case WM_TILING_Y_FAMILY:
> >                 selected_result = max_fixed16(method2, wp->y_tile_minimum);
> > -        } else {
> > +                break;
> > +
> > +        case WM_TILING_LINEAR:
> > +        case WM_TILING_X_TILED:
> > +                /*
> > +                 * Special case for unrealistically small horizontal
> > +                 * total with plane downscaling.
> > +                 */
> >                 if ((wp->cpp * crtc_state->hw.pipe_mode.crtc_htotal /
> >                      wp->dbuf_block_size < 1) &&
> > -                     (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
> > +                    (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
> >                         selected_result = method2;
> >                 } else if (latency >= wp->linetime_us) {
> > +                        /*
> > +                         * With display version 9, we use the minimum
> > +                         * of both methods.
> > +                         */
> 
> Hm... Isn't this saying what is already clear in the code below?

Very true.  I had more text here, describing the method 1 case below
too, but after removing that, this became mostly irrelevant.  I'll
remove it.


> 
> >                         if (DISPLAY_VER(display) == 9)
> >                                 selected_result = min_fixed16(method1, method2);
> >                         else
> >                                 selected_result = method2;
> >                 } else {
> > +                        /* everything else with linear/X-tiled uses method 1 */
> >                         selected_result = method1;
> >                 }
> > +                break;
> > +
> > +        default:
> > +                drm_err(display->drm, "Invalid tiling mode\n", wp->tiling);
> > +                break;
> 
> If we decide to go with the enumeration solution, I think we should
> change this into a warning and use some default behavior here (perhaps
> WM_TILING_LINEAR?). Otherwise, selected_result would be used
> uninitialized.

Right, I moved this to a fallthrough in a later patch.

--
Cheers,
Luca.

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

* ✓ i915.CI.BAT: success for drm/i915/wm: some clean-ups and a bit of refactoring
  2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
                   ` (5 preceding siblings ...)
  2025-09-08  7:35 ` [PATCH 6/6] drm/i915/wm: move method selection and calculation to a separate function Luca Coelho
@ 2025-09-08 17:20 ` Patchwork
  2025-09-09  2:47 ` ✗ i915.CI.Full: failure " Patchwork
  7 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2025-09-08 17:20 UTC (permalink / raw)
  To: Luca Coelho; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/wm: some clean-ups and a bit of refactoring
URL   : https://patchwork.freedesktop.org/series/154166/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_17150 -> Patchwork_154166v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

  Missing    (1): fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_lmem_swapping@parallel-random-engines:
    - bat-mtlp-9:         NOTRUN -> [SKIP][1] ([i915#4613]) +3 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_mmap@basic:
    - bat-mtlp-9:         NOTRUN -> [SKIP][2] ([i915#4083])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@gem_mmap@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-mtlp-9:         NOTRUN -> [SKIP][3] ([i915#4079]) +1 other test skip
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-mtlp-9:         NOTRUN -> [SKIP][4] ([i915#4077]) +2 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@gem_tiled_fence_blits@basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-mtlp-9:         NOTRUN -> [SKIP][5] ([i915#11681] / [i915#6621])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@i915_pm_rps@basic-api.html

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

  * igt@i915_selftest@live@workarounds:
    - bat-dg2-11:         NOTRUN -> [DMESG-FAIL][8] ([i915#12061])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-dg2-11/igt@i915_selftest@live@workarounds.html

  * igt@intel_hwmon@hwmon-read:
    - bat-mtlp-9:         NOTRUN -> [SKIP][9] ([i915#7707]) +1 other test skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@intel_hwmon@hwmon-read.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-mtlp-9:         NOTRUN -> [SKIP][10] ([i915#5190])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-mtlp-9:         NOTRUN -> [SKIP][11] ([i915#4212]) +8 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-mtlp-9:         NOTRUN -> [SKIP][12] ([i915#4213]) +1 other test skip
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-mtlp-9:         NOTRUN -> [SKIP][13] ([i915#3555] / [i915#3840] / [i915#9159])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-mtlp-9:         NOTRUN -> [SKIP][14]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_psr@psr-primary-mmap-gtt:
    - bat-mtlp-9:         NOTRUN -> [SKIP][15] ([i915#4077] / [i915#9688]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@kms_psr@psr-primary-mmap-gtt.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-mtlp-9:         NOTRUN -> [SKIP][16] ([i915#3555] / [i915#8809])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-gtt:
    - bat-mtlp-9:         NOTRUN -> [SKIP][17] ([i915#3708] / [i915#4077]) +1 other test skip
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-read:
    - bat-mtlp-9:         NOTRUN -> [SKIP][18] ([i915#3708]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-write:
    - bat-mtlp-9:         NOTRUN -> [SKIP][19] ([i915#10216] / [i915#3708])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_module_load@load:
    - bat-mtlp-9:         [ABORT][20] ([i915#13494]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/bat-mtlp-9/igt@i915_module_load@load.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-mtlp-9/igt@i915_module_load@load.html

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

  * igt@i915_selftest@live@execlists:
    - bat-arlh-2:         [INCOMPLETE][24] -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/bat-arlh-2/igt@i915_selftest@live@execlists.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-arlh-2/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@uncore:
    - bat-dg2-11:         [ABORT][26] ([i915#14201]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/bat-dg2-11/igt@i915_selftest@live@uncore.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-dg2-11/igt@i915_selftest@live@uncore.html

  * igt@i915_selftest@live@workarounds:
    - bat-dg2-9:          [DMESG-FAIL][28] ([i915#12061]) -> [PASS][29] +1 other test pass
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/bat-dg2-9/igt@i915_selftest@live@workarounds.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-dg2-9/igt@i915_selftest@live@workarounds.html

  
#### Warnings ####

  * igt@i915_selftest@live:
    - bat-dg2-11:         [ABORT][30] ([i915#14201]) -> [DMESG-FAIL][31] ([i915#12061])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/bat-dg2-11/igt@i915_selftest@live.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/bat-dg2-11/igt@i915_selftest@live.html

  
  [i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#13494]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13494
  [i915#14201]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14201
  [i915#14803]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14803
  [i915#14838]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14838
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
  [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
  [i915#9159]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9159
  [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688


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

  * Linux: CI_DRM_17150 -> Patchwork_154166v1

  CI-20190529: 20190529
  CI_DRM_17150: 78cc74214b6f200319b53d36c4c0ce6974af8d5b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8524: 8524
  Patchwork_154166v1: 78cc74214b6f200319b53d36c4c0ce6974af8d5b @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

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

* ✗ i915.CI.Full: failure for drm/i915/wm: some clean-ups and a bit of refactoring
  2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
                   ` (6 preceding siblings ...)
  2025-09-08 17:20 ` ✓ i915.CI.BAT: success for drm/i915/wm: some clean-ups and a bit of refactoring Patchwork
@ 2025-09-09  2:47 ` Patchwork
  7 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2025-09-09  2:47 UTC (permalink / raw)
  To: Luca Coelho; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/wm: some clean-ups and a bit of refactoring
URL   : https://patchwork.freedesktop.org/series/154166/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_17150_full -> Patchwork_154166v1_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_154166v1_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_154166v1_full, 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.

  

Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@perf@polling@1-vcs1:
    - shard-mtlp:         [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-mtlp-8/igt@perf@polling@1-vcs1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-mtlp-4/igt@perf@polling@1-vcs1.html

  
New tests
---------

  New tests have been introduced between CI_DRM_17150_full and Patchwork_154166v1_full:

### New IGT tests (184) ###

  * igt@gem_exec_fence@invalid-timeline-fence-array:
    - Statuses : 7 pass(s)
    - Exec time: [0.00, 0.01] s

  * igt@gem_exec_fence@syncobj-backward-timeline-chain-engines:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.17] s

  * igt@gem_exec_fence@syncobj-stationary-timeline-chain-engines:
    - Statuses : 4 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.16] s

  * igt@gem_exec_fence@syncobj-timeline-chain-engines:
    - Statuses : 6 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.18] s

  * igt@gem_exec_fence@syncobj-timeline-export:
    - Statuses : 6 pass(s)
    - Exec time: [0.00, 0.04] s

  * igt@gem_exec_fence@syncobj-timeline-invalid-flags:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@gem_exec_fence@syncobj-timeline-invalid-wait:
    - Statuses : 4 pass(s)
    - Exec time: [0.00, 0.01] s

  * igt@gem_exec_fence@syncobj-timeline-multiple-ext-nodes:
    - Statuses : 6 pass(s)
    - Exec time: [0.00, 0.01] s

  * igt@gem_exec_fence@syncobj-timeline-repeat:
    - Statuses : 6 pass(s)
    - Exec time: [0.24, 0.61] s

  * igt@gem_exec_fence@syncobj-timeline-signal:
    - Statuses : 5 pass(s)
    - Exec time: [0.01, 0.03] s

  * igt@gem_exec_fence@syncobj-timeline-unused-fence:
    - Statuses : 4 pass(s)
    - Exec time: [0.00, 0.02] s

  * igt@gem_exec_fence@syncobj-timeline-wait:
    - Statuses : 7 pass(s)
    - Exec time: [0.03, 1.47] s

  * igt@gem_mmap_offset@blt-coherency:
    - Statuses : 7 pass(s)
    - Exec time: [0.00, 0.04] s

  * igt@i915_selftest@live@slpc:
    - Statuses : 7 pass(s)
    - Exec time: [1.15, 14.11] s

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-a-hdmi-a-1:
    - Statuses : 2 pass(s)
    - Exec time: [7.16, 11.64] s

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-1:
    - Statuses : 2 pass(s)
    - Exec time: [7.08, 9.62] s

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [7.16, 44.31] s

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [44.01] s

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-b-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [7.09, 40.65] s

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [40.66] s

  * igt@kms_atomic_transition@plane-all-transition-fencing@pipe-a-hdmi-a-1:
    - Statuses : 4 pass(s)
    - Exec time: [1.17, 4.34] s

  * igt@kms_atomic_transition@plane-all-transition-fencing@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [4.36] s

  * igt@kms_atomic_transition@plane-all-transition-fencing@pipe-b-hdmi-a-1:
    - Statuses : 4 pass(s)
    - Exec time: [1.31, 4.43] s

  * igt@kms_atomic_transition@plane-all-transition-fencing@pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [4.31] s

  * igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@pipe-a-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [1.34, 4.27] s

  * igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [4.04] s

  * igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@pipe-b-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [1.32, 4.31] s

  * igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing@pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [4.40] s

  * igt@kms_atomic_transition@plane-all-transition-nonblocking@pipe-a-hdmi-a-1:
    - Statuses : 5 pass(s)
    - Exec time: [1.16, 4.23] s

  * igt@kms_atomic_transition@plane-all-transition-nonblocking@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [4.35] s

  * igt@kms_atomic_transition@plane-all-transition-nonblocking@pipe-b-hdmi-a-1:
    - Statuses : 5 pass(s)
    - Exec time: [1.31, 4.33] s

  * igt@kms_atomic_transition@plane-all-transition-nonblocking@pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [4.52] s

  * igt@kms_atomic_transition@plane-all-transition@pipe-a-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [1.34, 4.25] s

  * igt@kms_atomic_transition@plane-all-transition@pipe-b-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [1.32, 4.31] s

  * igt@kms_atomic_transition@plane-primary-toggle-with-vblank-wait@pipe-a-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.23] s

  * igt@kms_atomic_transition@plane-primary-toggle-with-vblank-wait@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.25] s

  * igt@kms_atomic_transition@plane-primary-toggle-with-vblank-wait@pipe-b-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.36] s

  * igt@kms_atomic_transition@plane-primary-toggle-with-vblank-wait@pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.25] s

  * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [0.79, 1.02] s

  * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.88] s

  * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-b-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [0.58, 0.95] s

  * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.63] s

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind-fencing@pipe-a-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [0.06, 0.12] s

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind-fencing@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.16] s

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind-fencing@pipe-b-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [0.16, 0.28] s

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind-fencing@pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.38] s

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind@pipe-a-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [0.06, 0.10] s

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind@pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.15] s

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind@pipe-b-hdmi-a-1:
    - Statuses : 3 pass(s)
    - Exec time: [0.16, 0.25] s

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind@pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.39] s

  * igt@kms_cursor_crc@cursor-sliding-128x128@pipe-d-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [4.15] s

  * igt@kms_pm_backlight@bad-brightness:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 0.37] s

  * igt@kms_pm_backlight@bad-brightness@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.32] s

  * igt@kms_pm_backlight@basic-brightness:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 0.56] s

  * igt@kms_pm_backlight@basic-brightness@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.51] s

  * igt@kms_pm_backlight@fade:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 2.74] s

  * igt@kms_pm_backlight@fade-with-dpms:
    - Statuses : 1 pass(s) 4 skip(s)
    - Exec time: [0.0, 4.85] s

  * igt@kms_pm_backlight@fade-with-dpms@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [2.71] s

  * igt@kms_pm_backlight@fade-with-suspend:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 4.02] s

  * igt@kms_pm_backlight@fade-with-suspend@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [2.67] s

  * igt@kms_pm_backlight@fade@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [2.69] s

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - Statuses : 6 skip(s)
    - Exec time: [0.0, 8.50] s

  * igt@kms_pm_dc@dc5-dpms:
    - Statuses : 1 dmesg-warn(s) 3 pass(s) 1 skip(s)
    - Exec time: [0.0, 2.08] s

  * igt@kms_pm_dc@dc5-dpms-negative:
    - Statuses : 3 pass(s) 2 skip(s)
    - Exec time: [0.0, 4.23] s

  * igt@kms_pm_dc@dc5-psr:
    - Statuses : 1 pass(s) 5 skip(s)
    - Exec time: [0.0, 2.97] s

  * igt@kms_pm_dc@dc6-dpms:
    - Statuses : 1 fail(s) 1 pass(s) 5 skip(s)
    - Exec time: [0.0, 3.34] s

  * igt@kms_pm_dc@dc6-psr:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 2.97] s

  * igt@kms_pm_dc@dc9-dpms:
    - Statuses : 2 pass(s) 2 skip(s)
    - Exec time: [0.0, 3.28] s

  * igt@kms_pm_lpsp@kms-lpsp:
    - Statuses : 1 pass(s) 6 skip(s)
    - Exec time: [0.0, 0.43] s

  * igt@kms_pm_lpsp@screens-disabled:
    - Statuses : 7 skip(s)
    - Exec time: [0.0, 0.16] s

  * igt@kms_writeback@writeback-check-output:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_writeback@writeback-fb-id:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_writeback@writeback-invalid-parameters:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  * igt@kms_writeback@writeback-pixel-formats:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@32bits-limit:
    - Statuses : 4 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@device-signal-unordered:
    - Statuses : 7 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@device-submit-unordered:
    - Statuses : 4 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-available-unsubmitted:
    - Statuses : 6 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-available-unsubmitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-available-unsubmitted-submitted:
    - Statuses : 6 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-submitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-unsubmitted:
    - Statuses : 6 pass(s)
    - Exec time: [0.10] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-unsubmitted-signaled:
    - Statuses : 6 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-unsubmitted-submitted:
    - Statuses : 5 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-for-submit-unsubmitted-submitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-all-submitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-for-submit-available-unsubmitted:
    - Statuses : 5 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-for-submit-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-for-submit-unsubmitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-for-submit-unsubmitted-submitted:
    - Statuses : 6 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-multi-wait-submitted:
    - Statuses : 5 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-single-wait-all-for-submit-available-unsubmitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-single-wait-all-for-submit-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-single-wait-all-for-submit-unsubmitted:
    - Statuses : 6 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-single-wait-all-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-single-wait-for-submit-available-unsubmitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-single-wait-for-submit-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-single-wait-for-submit-unsubmitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@etime-single-wait-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@host-signal-ordered:
    - Statuses : 6 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@host-signal-points:
    - Statuses : 4 pass(s)
    - Exec time: [0.00, 0.01] s

  * igt@syncobj_timeline@invalid-multi-wait-all-unsubmitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-multi-wait-all-unsubmitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-multi-wait-all-unsubmitted-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-multi-wait-all-unsubmitted-submitted-signaled:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-multi-wait-unsubmitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-multi-wait-unsubmitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-multi-wait-unsubmitted-submitted:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-multi-wait-unsubmitted-submitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-query-bad-pad:
    - Statuses : 7 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-query-illegal-handle:
    - Statuses : 7 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-query-one-illegal-handle:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-query-zero-handles:
    - Statuses : 5 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-signal-bad-pad:
    - Statuses : 5 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-signal-illegal-handle:
    - Statuses : 7 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-signal-illegal-point:
    - Statuses : 5 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-signal-one-illegal-handle:
    - Statuses : 4 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-signal-zero-handles:
    - Statuses : 7 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-single-wait-all-unsubmitted:
    - Statuses : 4 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-single-wait-unsubmitted:
    - Statuses : 6 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-transfer-bad-pad:
    - Statuses : 6 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-transfer-illegal-handle:
    - Statuses : 7 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-transfer-non-existent-point:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@invalid-wait-bad-flags:
    - Statuses : 6 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@invalid-wait-illegal-handle:
    - Statuses : 5 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@multi-wait-all-available-signaled:
    - Statuses : 5 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-all-available-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@multi-wait-all-available-submitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@multi-wait-all-for-submit-available-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-all-for-submit-available-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-all-for-submit-available-submitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-all-for-submit-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@multi-wait-all-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@multi-wait-available-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-available-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-available-submitted-signaled:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-available-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-available-submitted:
    - Statuses : 5 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-available-submitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-available-unsubmitted-signaled:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-available-unsubmitted-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-available-unsubmitted-submitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-signaled:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-submitted-signaled:
    - Statuses : 5 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-unsubmitted-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-for-submit-unsubmitted-submitted-signaled:
    - Statuses : 5 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@multi-wait-submitted-signaled:
    - Statuses : 5 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@reset-during-wait-for-submit:
    - Statuses : 7 pass(s)
    - Exec time: [0.10] s

  * igt@syncobj_timeline@reset-multiple-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.00] s

  * igt@syncobj_timeline@reset-signaled:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@reset-unsignaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@signal:
    - Statuses : 5 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@signal-array:
    - Statuses : 7 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@signal-point-0:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@single-wait-all-available-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@single-wait-all-available-submitted:
    - Statuses : 5 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@single-wait-all-for-submit-available-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@single-wait-all-for-submit-available-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@single-wait-all-for-submit-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@single-wait-all-signaled:
    - Statuses : 5 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@single-wait-available-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@single-wait-available-submitted:
    - Statuses : 5 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@single-wait-for-submit-available-signaled:
    - Statuses : 4 pass(s)
    - Exec time: [0.0] s

  * igt@syncobj_timeline@single-wait-for-submit-available-submitted:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@single-wait-for-submit-signaled:
    - Statuses : 7 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@single-wait-signaled:
    - Statuses :
    - Exec time: [None] s

  * igt@syncobj_timeline@transfer-timeline-point:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@syncobj_timeline@wait-all-complex:
    - Statuses : 7 pass(s)
    - Exec time: [0.21, 0.22] s

  * igt@syncobj_timeline@wait-all-delayed-signal:
    - Statuses : 4 pass(s)
    - Exec time: [0.10] s

  * igt@syncobj_timeline@wait-all-for-submit-complex:
    - Statuses : 7 pass(s)
    - Exec time: [0.21, 0.22] s

  * igt@syncobj_timeline@wait-all-for-submit-delayed-submit:
    - Statuses : 7 pass(s)
    - Exec time: [0.10] s

  * igt@syncobj_timeline@wait-all-for-submit-snapshot:
    - Statuses : 7 pass(s)
    - Exec time: [0.08, 0.09] s

  * igt@syncobj_timeline@wait-all-interrupted:
    - Statuses : 6 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@wait-all-snapshot:
    - Statuses : 7 pass(s)
    - Exec time: [0.08, 0.09] s

  * igt@syncobj_timeline@wait-any-complex:
    - Statuses : 6 pass(s)
    - Exec time: [0.06] s

  * igt@syncobj_timeline@wait-any-interrupted:
    - Statuses : 6 pass(s)
    - Exec time: [0.10, 0.11] s

  * igt@syncobj_timeline@wait-any-snapshot:
    - Statuses : 7 pass(s)
    - Exec time: [0.08, 0.09] s

  * igt@syncobj_timeline@wait-delayed-signal:
    - Statuses : 5 pass(s)
    - Exec time: [0.10] s

  * igt@syncobj_timeline@wait-for-submit-complex:
    - Statuses : 7 pass(s)
    - Exec time: [0.06, 0.07] s

  * igt@syncobj_timeline@wait-for-submit-delayed-submit:
    - Statuses : 6 pass(s)
    - Exec time: [0.10] s

  * igt@syncobj_timeline@wait-for-submit-snapshot:
    - Statuses : 5 pass(s)
    - Exec time: [0.08] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@device_reset@unbind-cold-reset-rebind:
    - shard-dg2-9:        NOTRUN -> [SKIP][3] ([i915#11078])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@device_reset@unbind-cold-reset-rebind.html

  * igt@fbdev@read:
    - shard-rkl:          [PASS][4] -> [SKIP][5] ([i915#14544] / [i915#2582])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@fbdev@read.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@fbdev@read.html

  * igt@gem_busy@semaphore:
    - shard-dg2-9:        NOTRUN -> [SKIP][6] ([i915#3936])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_busy@semaphore.html

  * igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0:
    - shard-dg2:          [PASS][7] -> [INCOMPLETE][8] ([i915#12392] / [i915#13356])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-3/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-5/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html

  * igt@gem_close_race@multigpu-basic-process:
    - shard-dg2:          NOTRUN -> [SKIP][9] ([i915#7697])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_close_race@multigpu-basic-process.html

  * igt@gem_create@create-ext-cpu-access-sanity-check:
    - shard-tglu-1:       NOTRUN -> [SKIP][10] ([i915#6335])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@gem_create@create-ext-cpu-access-sanity-check.html
    - shard-rkl:          NOTRUN -> [SKIP][11] ([i915#6335])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@gem_create@create-ext-cpu-access-sanity-check.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-tglu:         NOTRUN -> [SKIP][12] ([i915#280])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-tglu:         NOTRUN -> [SKIP][13] ([i915#4525])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@gem_exec_balancer@parallel-balancer.html

  * igt@gem_exec_big@single:
    - shard-tglu:         NOTRUN -> [ABORT][14] ([i915#11713] / [i915#14756])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@gem_exec_big@single.html

  * igt@gem_exec_fence@submit:
    - shard-dg2:          NOTRUN -> [SKIP][15] ([i915#4812]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_exec_fence@submit.html

  * igt@gem_exec_flush@basic-wb-prw-default:
    - shard-dg2-9:        NOTRUN -> [SKIP][16] ([i915#3539] / [i915#4852]) +1 other test skip
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_exec_flush@basic-wb-prw-default.html

  * igt@gem_exec_flush@basic-wb-rw-before-default:
    - shard-dg2:          NOTRUN -> [SKIP][17] ([i915#3539] / [i915#4852])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_exec_flush@basic-wb-rw-before-default.html

  * igt@gem_exec_reloc@basic-cpu-gtt-active:
    - shard-dg2:          NOTRUN -> [SKIP][18] ([i915#3281]) +5 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_exec_reloc@basic-cpu-gtt-active.html

  * igt@gem_exec_reloc@basic-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][19] ([i915#3281])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@gem_exec_reloc@basic-gtt.html

  * igt@gem_exec_reloc@basic-gtt-noreloc:
    - shard-dg2-9:        NOTRUN -> [SKIP][20] ([i915#3281]) +2 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_exec_reloc@basic-gtt-noreloc.html

  * igt@gem_exec_reloc@basic-wc-cpu-noreloc:
    - shard-rkl:          NOTRUN -> [SKIP][21] ([i915#3281])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@gem_exec_reloc@basic-wc-cpu-noreloc.html

  * igt@gem_exec_suspend@basic-s0:
    - shard-dg2:          [PASS][22] -> [INCOMPLETE][23] ([i915#13356]) +1 other test incomplete
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-8/igt@gem_exec_suspend@basic-s0.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-3/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-rkl:          [PASS][24] -> [INCOMPLETE][25] ([i915#13356]) +1 other test incomplete
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_exec_suspend@basic-s3.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-3/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_exec_whisper@basic-contexts:
    - shard-rkl:          [PASS][26] -> [DMESG-WARN][27] ([i915#12964]) +13 other tests dmesg-warn
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_exec_whisper@basic-contexts.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_exec_whisper@basic-contexts.html

  * igt@gem_exec_whisper@basic-queues-priority:
    - shard-rkl:          [PASS][28] -> [DMESG-WARN][29] ([i915#12917] / [i915#12964])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_exec_whisper@basic-queues-priority.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_exec_whisper@basic-queues-priority.html

  * igt@gem_gtt_cpu_tlb:
    - shard-dg1:          NOTRUN -> [SKIP][30] ([i915#4077]) +1 other test skip
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@gem_gtt_cpu_tlb.html

  * igt@gem_huc_copy@huc-copy:
    - shard-glk:          NOTRUN -> [SKIP][31] ([i915#2190])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk8/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@heavy-verify-multi-ccs:
    - shard-glk:          NOTRUN -> [SKIP][32] ([i915#4613]) +5 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk8/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-dg2-9:        NOTRUN -> [TIMEOUT][33] ([i915#5493]) +1 other test timeout
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_lmem_swapping@smem-oom.html

  * igt@gem_lmem_swapping@verify:
    - shard-tglu:         NOTRUN -> [SKIP][34] ([i915#4613])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@gem_lmem_swapping@verify.html

  * igt@gem_lmem_swapping@verify-random:
    - shard-rkl:          NOTRUN -> [SKIP][35] ([i915#4613])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@gem_lmem_swapping@verify-random.html
    - shard-tglu-1:       NOTRUN -> [SKIP][36] ([i915#4613])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap_gtt@big-bo-tiledx:
    - shard-dg2-9:        NOTRUN -> [SKIP][37] ([i915#4077]) +3 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_mmap_gtt@big-bo-tiledx.html

  * igt@gem_mmap_gtt@medium-copy-xy:
    - shard-dg2:          NOTRUN -> [SKIP][38] ([i915#4077]) +5 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_mmap_gtt@medium-copy-xy.html

  * igt@gem_mmap_offset@clear-via-pagefault:
    - shard-mtlp:         [PASS][39] -> [ABORT][40] ([i915#14809]) +1 other test abort
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-mtlp-4/igt@gem_mmap_offset@clear-via-pagefault.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-mtlp-3/igt@gem_mmap_offset@clear-via-pagefault.html

  * igt@gem_mmap_wc@close:
    - shard-dg2-9:        NOTRUN -> [SKIP][41] ([i915#4083]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_mmap_wc@close.html

  * igt@gem_mmap_wc@write-gtt-read-wc:
    - shard-dg2:          NOTRUN -> [SKIP][42] ([i915#4083]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_mmap_wc@write-gtt-read-wc.html

  * igt@gem_pread@exhaustion:
    - shard-dg2:          NOTRUN -> [SKIP][43] ([i915#3282])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_pread@exhaustion.html
    - shard-tglu-1:       NOTRUN -> [WARN][44] ([i915#2658])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@gem_pread@exhaustion.html

  * igt@gem_pxp@create-protected-buffer:
    - shard-dg2:          NOTRUN -> [SKIP][45] ([i915#4270]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_pxp@create-protected-buffer.html

  * igt@gem_pxp@protected-encrypted-src-copy-not-readible:
    - shard-rkl:          [PASS][46] -> [TIMEOUT][47] ([i915#12917] / [i915#12964]) +1 other test timeout
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html

  * igt@gem_pxp@protected-raw-src-copy-not-readible:
    - shard-dg1:          NOTRUN -> [SKIP][48] ([i915#4270])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@gem_pxp@protected-raw-src-copy-not-readible.html
    - shard-dg2-9:        NOTRUN -> [SKIP][49] ([i915#4270]) +1 other test skip
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_pxp@protected-raw-src-copy-not-readible.html

  * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
    - shard-dg2-9:        NOTRUN -> [SKIP][50] ([i915#5190] / [i915#8428]) +1 other test skip
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html

  * igt@gem_render_copy@yf-tiled-ccs-to-y-tiled:
    - shard-dg2:          NOTRUN -> [SKIP][51] ([i915#5190] / [i915#8428]) +3 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gem_render_copy@yf-tiled-ccs-to-y-tiled.html

  * igt@gem_softpin@evict-snoop:
    - shard-dg2-9:        NOTRUN -> [SKIP][52] ([i915#4885])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_softpin@evict-snoop.html

  * igt@gem_userptr_blits@create-destroy-unsync:
    - shard-dg2-9:        NOTRUN -> [SKIP][53] ([i915#3297])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_userptr_blits@create-destroy-unsync.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-dg1:          NOTRUN -> [SKIP][54] ([i915#3297])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@relocations:
    - shard-dg2-9:        NOTRUN -> [SKIP][55] ([i915#3281] / [i915#3297])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gem_userptr_blits@relocations.html

  * igt@gen7_exec_parse@basic-rejected:
    - shard-dg2:          NOTRUN -> [SKIP][56] +5 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gen7_exec_parse@basic-rejected.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-dg1:          NOTRUN -> [SKIP][57] ([i915#2527])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@gen9_exec_parse@bb-chained.html
    - shard-dg2-9:        NOTRUN -> [SKIP][58] ([i915#2856]) +1 other test skip
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@bb-large:
    - shard-glk:          NOTRUN -> [FAIL][59] ([i915#14806])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk8/igt@gen9_exec_parse@bb-large.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-tglu:         NOTRUN -> [SKIP][60] ([i915#2527] / [i915#2856])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@gen9_exec_parse@bb-oversize.html

  * igt@gen9_exec_parse@bb-start-cmd:
    - shard-tglu-1:       NOTRUN -> [SKIP][61] ([i915#2527] / [i915#2856])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@gen9_exec_parse@bb-start-cmd.html

  * igt@gen9_exec_parse@bb-start-param:
    - shard-dg2:          NOTRUN -> [SKIP][62] ([i915#2856]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@gen9_exec_parse@bb-start-param.html

  * igt@i915_drm_fdinfo@most-busy-check-all@vecs0:
    - shard-dg2:          NOTRUN -> [SKIP][63] ([i915#14073]) +7 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@i915_drm_fdinfo@most-busy-check-all@vecs0.html

  * igt@i915_module_load@reload-no-display:
    - shard-snb:          [PASS][64] -> [DMESG-WARN][65] ([i915#14545])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-snb1/igt@i915_module_load@reload-no-display.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-snb5/igt@i915_module_load@reload-no-display.html
    - shard-dg2-9:        NOTRUN -> [DMESG-WARN][66] ([i915#13029] / [i915#14545])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@i915_module_load@reload-no-display.html

  * igt@i915_module_load@resize-bar:
    - shard-dg1:          NOTRUN -> [SKIP][67] ([i915#7178])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@i915_module_load@resize-bar.html
    - shard-dg2-9:        NOTRUN -> [DMESG-WARN][68] ([i915#14545])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_freq_api@freq-reset-multiple:
    - shard-tglu-1:       NOTRUN -> [SKIP][69] ([i915#8399])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@i915_pm_freq_api@freq-reset-multiple.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-tglu:         NOTRUN -> [SKIP][70] ([i915#14498])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          [PASS][71] -> [INCOMPLETE][72] ([i915#13729] / [i915#13821])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-snb5/igt@i915_pm_rps@reset.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-snb4/igt@i915_pm_rps@reset.html

  * igt@i915_pm_sseu@full-enable:
    - shard-dg1:          NOTRUN -> [SKIP][73] ([i915#4387])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@i915_pm_sseu@full-enable.html
    - shard-dg2-9:        NOTRUN -> [SKIP][74] ([i915#4387])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@i915_pm_sseu@full-enable.html

  * igt@i915_power@sanity:
    - shard-mtlp:         [PASS][75] -> [SKIP][76] ([i915#7984])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-mtlp-3/igt@i915_power@sanity.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-mtlp-6/igt@i915_power@sanity.html

  * igt@i915_selftest@live@gt_pm:
    - shard-rkl:          [PASS][77] -> [DMESG-FAIL][78] ([i915#12942]) +1 other test dmesg-fail
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@i915_selftest@live@gt_pm.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@workarounds:
    - shard-dg2:          [PASS][79] -> [DMESG-FAIL][80] ([i915#12061]) +1 other test dmesg-fail
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-11/igt@i915_selftest@live@workarounds.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-7/igt@i915_selftest@live@workarounds.html

  * igt@i915_suspend@debugfs-reader:
    - shard-glk:          NOTRUN -> [INCOMPLETE][81] ([i915#4817]) +1 other test incomplete
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk1/igt@i915_suspend@debugfs-reader.html

  * igt@i915_suspend@forcewake:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][82] ([i915#4817])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk10/igt@i915_suspend@forcewake.html

  * igt@kms_addfb_basic@basic-x-tiled-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][83] ([i915#4212]) +1 other test skip
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_addfb_basic@basic-x-tiled-legacy.html

  * igt@kms_atomic_transition@plane-toggle-modeset-transition:
    - shard-glk10:        NOTRUN -> [SKIP][84] +340 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk10/igt@kms_atomic_transition@plane-toggle-modeset-transition.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-90:
    - shard-tglu:         NOTRUN -> [SKIP][85] ([i915#5286]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-180:
    - shard-dg1:          NOTRUN -> [SKIP][86] ([i915#4538] / [i915#5286]) +1 other test skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@4-tiled-addfb:
    - shard-rkl:          NOTRUN -> [SKIP][87] ([i915#5286])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_big_fb@4-tiled-addfb.html
    - shard-tglu-1:       NOTRUN -> [SKIP][88] ([i915#5286])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_big_fb@4-tiled-addfb.html

  * igt@kms_big_fb@linear-8bpp-rotate-90:
    - shard-dg2-9:        NOTRUN -> [SKIP][89] +2 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_big_fb@linear-8bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][90] ([i915#3638])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-270:
    - shard-dg2:          NOTRUN -> [SKIP][91] ([i915#4538] / [i915#5190]) +4 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][92] ([i915#4538])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
    - shard-dg2-9:        NOTRUN -> [SKIP][93] ([i915#4538] / [i915#5190]) +2 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-270:
    - shard-tglu:         NOTRUN -> [SKIP][94] +30 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@kms_big_fb@yf-tiled-8bpp-rotate-270.html

  * igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-dg2-9:        NOTRUN -> [SKIP][95] ([i915#10307] / [i915#6095]) +24 other tests skip
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][96] ([i915#10307] / [i915#10434] / [i915#6095])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][97] ([i915#10307] / [i915#6095]) +136 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][98] ([i915#6095]) +51 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][99] ([i915#6095]) +34 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
    - shard-dg2-9:        NOTRUN -> [SKIP][100] ([i915#12805])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-c-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][101] ([i915#6095]) +16 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-7/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-c-hdmi-a-3.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1:
    - shard-tglu-1:       NOTRUN -> [SKIP][102] ([i915#6095]) +19 other tests skip
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][103] ([i915#14098] / [i915#6095]) +38 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-8/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-dg1:          NOTRUN -> [SKIP][104] ([i915#6095]) +183 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][105] ([i915#12313])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
    - shard-dg2:          NOTRUN -> [SKIP][106] ([i915#12313])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
    - shard-rkl:          NOTRUN -> [SKIP][107] ([i915#12313])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][108] ([i915#13783]) +4 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3.html

  * igt@kms_chamelium_edid@hdmi-mode-timings:
    - shard-dg1:          NOTRUN -> [SKIP][109] ([i915#11151] / [i915#7828]) +1 other test skip
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_chamelium_edid@hdmi-mode-timings.html

  * igt@kms_chamelium_frames@dp-crc-multiple:
    - shard-dg2-9:        NOTRUN -> [SKIP][110] ([i915#11151] / [i915#7828]) +3 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_chamelium_frames@dp-crc-multiple.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - shard-dg2:          NOTRUN -> [SKIP][111] ([i915#11151] / [i915#7828]) +3 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe:
    - shard-rkl:          NOTRUN -> [SKIP][112] ([i915#11151] / [i915#7828])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
    - shard-tglu-1:       NOTRUN -> [SKIP][113] ([i915#11151] / [i915#7828])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html

  * igt@kms_chamelium_hpd@vga-hpd-fast:
    - shard-tglu:         NOTRUN -> [SKIP][114] ([i915#11151] / [i915#7828]) +2 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_chamelium_hpd@vga-hpd-fast.html

  * igt@kms_color@ctm-negative:
    - shard-rkl:          [PASS][115] -> [SKIP][116] ([i915#12655] / [i915#14544])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_color@ctm-negative.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_color@ctm-negative.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg2-9:        NOTRUN -> [SKIP][117] ([i915#7118] / [i915#9424])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@lic-type-0@pipe-a-dp-3:
    - shard-dg2:          NOTRUN -> [FAIL][118] ([i915#7173]) +2 other tests fail
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-11/igt@kms_content_protection@lic-type-0@pipe-a-dp-3.html

  * igt@kms_content_protection@lic-type-1:
    - shard-dg2-9:        NOTRUN -> [SKIP][119] ([i915#9424])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_content_protection@lic-type-1.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg2:          NOTRUN -> [SKIP][120] ([i915#9424])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_content_protection@mei-interface.html
    - shard-tglu-1:       NOTRUN -> [SKIP][121] ([i915#6944] / [i915#9424])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-onscreen-256x256:
    - shard-rkl:          [PASS][122] -> [SKIP][123] ([i915#14544]) +33 other tests skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_cursor_crc@cursor-onscreen-256x256.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-256x256.html

  * igt@kms_cursor_crc@cursor-onscreen-max-size:
    - shard-dg2:          NOTRUN -> [SKIP][124] ([i915#3555]) +3 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_cursor_crc@cursor-onscreen-max-size.html

  * igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [FAIL][125] ([i915#13566])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-dg2-9:        NOTRUN -> [SKIP][126] ([i915#13049])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-random-max-size:
    - shard-tglu:         NOTRUN -> [SKIP][127] ([i915#3555])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_cursor_crc@cursor-random-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-256x85:
    - shard-tglu-1:       NOTRUN -> [FAIL][128] ([i915#13566]) +1 other test fail
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-256x85.html

  * igt@kms_cursor_crc@cursor-sliding-32x32:
    - shard-dg2-9:        NOTRUN -> [SKIP][129] ([i915#3555]) +1 other test skip
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_cursor_crc@cursor-sliding-32x32.html

  * igt@kms_cursor_crc@cursor-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][130] ([i915#12358] / [i915#14152] / [i915#7882])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk9/igt@kms_cursor_crc@cursor-suspend.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [INCOMPLETE][131] ([i915#12358] / [i915#14152])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk9/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - shard-dg1:          NOTRUN -> [SKIP][132] ([i915#4103] / [i915#4213])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - shard-dg2-9:        NOTRUN -> [SKIP][133] ([i915#4103] / [i915#4213])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
    - shard-glk10:        NOTRUN -> [SKIP][134] ([i915#11190]) +4 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk10/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-dg2-9:        NOTRUN -> [SKIP][135] ([i915#13046] / [i915#5354])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size:
    - shard-dg2:          NOTRUN -> [SKIP][136] ([i915#13046] / [i915#5354]) +2 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size.html
    - shard-rkl:          NOTRUN -> [SKIP][137] +3 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][138] ([i915#3804])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-dg2:          NOTRUN -> [SKIP][139] ([i915#13749])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-dg2:          [PASS][140] -> [SKIP][141] ([i915#13749])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-11/igt@kms_dp_link_training@non-uhbr-sst.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-7/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-dg2-9:        NOTRUN -> [SKIP][142] ([i915#13748])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dsc@dsc-basic:
    - shard-dg2:          NOTRUN -> [SKIP][143] ([i915#3555] / [i915#3840])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_dsc@dsc-basic.html
    - shard-tglu-1:       NOTRUN -> [SKIP][144] ([i915#3555] / [i915#3840])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_dsc@dsc-basic.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-tglu:         NOTRUN -> [SKIP][145] ([i915#3840])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-rkl:          [PASS][146] -> [SKIP][147] ([i915#14544] / [i915#14561])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_fbcon_fbt@fbc.html
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-dg1:          NOTRUN -> [SKIP][148] ([i915#3469])
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_fbcon_fbt@psr-suspend.html
    - shard-dg2-9:        NOTRUN -> [SKIP][149] ([i915#3469])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@psr1:
    - shard-tglu:         NOTRUN -> [SKIP][150] ([i915#658])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
    - shard-dg1:          NOTRUN -> [SKIP][151] ([i915#9934]) +2 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop:
    - shard-tglu-1:       NOTRUN -> [SKIP][152] ([i915#9934])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_flip@2x-flip-vs-dpms-on-nop.html

  * igt@kms_flip@2x-flip-vs-panning-vs-hang:
    - shard-tglu:         NOTRUN -> [SKIP][153] ([i915#3637] / [i915#9934])
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_flip@2x-flip-vs-panning-vs-hang.html

  * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][154] ([i915#9934]) +3 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
    - shard-rkl:          NOTRUN -> [SKIP][155] ([i915#9934])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
    - shard-tglu-1:       NOTRUN -> [SKIP][156] ([i915#3637] / [i915#9934])
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
    - shard-dg2-9:        NOTRUN -> [SKIP][157] ([i915#9934]) +4 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@blocking-absolute-wf_vblank@a-hdmi-a1:
    - shard-rkl:          NOTRUN -> [DMESG-WARN][158] ([i915#12964]) +3 other tests dmesg-warn
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_flip@blocking-absolute-wf_vblank@a-hdmi-a1.html

  * igt@kms_flip@flip-vs-modeset-vs-hang:
    - shard-rkl:          [PASS][159] -> [SKIP][160] ([i915#14544] / [i915#3637]) +2 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_flip@flip-vs-modeset-vs-hang.html
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_flip@flip-vs-modeset-vs-hang.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][161] ([i915#2672]) +2 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling:
    - shard-rkl:          [PASS][162] -> [SKIP][163] ([i915#14544] / [i915#3555]) +4 other tests skip
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling.html
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
    - shard-tglu:         NOTRUN -> [SKIP][164] ([i915#2672] / [i915#3555]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode:
    - shard-tglu:         NOTRUN -> [SKIP][165] ([i915#2587] / [i915#2672]) +1 other test skip
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling:
    - shard-dg2-9:        NOTRUN -> [SKIP][166] ([i915#2672] / [i915#3555]) +1 other test skip
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html
    - shard-dg1:          NOTRUN -> [SKIP][167] ([i915#2672] / [i915#3555])
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode:
    - shard-dg2-9:        NOTRUN -> [SKIP][168] ([i915#2672]) +1 other test skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html
    - shard-dg1:          NOTRUN -> [SKIP][169] ([i915#2587] / [i915#2672])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][170] ([i915#2672] / [i915#3555])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode:
    - shard-tglu-1:       NOTRUN -> [SKIP][171] ([i915#2587] / [i915#2672])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling:
    - shard-dg2:          [PASS][172] -> [DMESG-WARN][173] ([i915#13890]) +1 other test dmesg-warn
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-5/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling.html
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-11/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling:
    - shard-dg2:          NOTRUN -> [SKIP][174] ([i915#2672] / [i915#3555] / [i915#5190])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][175] ([i915#2672])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt:
    - shard-rkl:          [PASS][176] -> [SKIP][177] ([i915#14544] / [i915#1849] / [i915#5354]) +7 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt.html
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][178] ([i915#8708]) +10 other tests skip
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-plflip-blt:
    - shard-dg2:          NOTRUN -> [SKIP][179] ([i915#5354]) +12 other tests skip
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-plflip-blt.html
    - shard-rkl:          NOTRUN -> [SKIP][180] ([i915#1825]) +4 other tests skip
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][181] ([i915#3458]) +7 other tests skip
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff:
    - shard-tglu-1:       NOTRUN -> [SKIP][182] +22 other tests skip
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][183] ([i915#3458])
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt:
    - shard-dg2-9:        NOTRUN -> [SKIP][184] ([i915#3458]) +5 other tests skip
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][185] ([i915#3023])
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2-9:        NOTRUN -> [SKIP][186] ([i915#8708]) +4 other tests skip
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-wc.html
    - shard-dg1:          NOTRUN -> [SKIP][187] ([i915#8708])
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-onoff:
    - shard-dg2-9:        NOTRUN -> [SKIP][188] ([i915#5354]) +12 other tests skip
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
    - shard-dg1:          NOTRUN -> [SKIP][189] +6 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-dg2:          NOTRUN -> [SKIP][190] ([i915#3555] / [i915#8228])
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_invalid_mode@clock-too-high:
    - shard-rkl:          [PASS][191] -> [SKIP][192] ([i915#14544] / [i915#3555] / [i915#8826])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_invalid_mode@clock-too-high.html
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_invalid_mode@clock-too-high.html

  * igt@kms_panel_fitting@legacy:
    - shard-dg2-9:        NOTRUN -> [SKIP][193] ([i915#6301])
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane@plane-panning-bottom-right:
    - shard-rkl:          [PASS][194] -> [SKIP][195] ([i915#14544] / [i915#8825])
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane@plane-panning-bottom-right.html
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane@plane-panning-bottom-right.html

  * igt@kms_plane_alpha_blend@alpha-basic:
    - shard-rkl:          [PASS][196] -> [SKIP][197] ([i915#14544] / [i915#7294]) +1 other test skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane_alpha_blend@alpha-basic.html
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane_alpha_blend@alpha-basic.html
    - shard-glk:          NOTRUN -> [FAIL][198] ([i915#12178])
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk3/igt@kms_plane_alpha_blend@alpha-basic.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][199] ([i915#7862]) +1 other test fail
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk3/igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1.html

  * igt@kms_plane_alpha_blend@constant-alpha-max:
    - shard-glk:          NOTRUN -> [FAIL][200] ([i915#10647] / [i915#12169])
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk8/igt@kms_plane_alpha_blend@constant-alpha-max.html

  * igt@kms_plane_alpha_blend@constant-alpha-max@pipe-a-hdmi-a-2:
    - shard-glk:          NOTRUN -> [FAIL][201] ([i915#10647]) +1 other test fail
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk8/igt@kms_plane_alpha_blend@constant-alpha-max@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers:
    - shard-rkl:          [PASS][202] -> [SKIP][203] ([i915#14544] / [i915#8152]) +1 other test skip
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers.html
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-c:
    - shard-tglu:         NOTRUN -> [SKIP][204] ([i915#12247]) +4 other tests skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-c.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75:
    - shard-rkl:          [PASS][205] -> [SKIP][206] ([i915#14544] / [i915#3555] / [i915#6953] / [i915#8152])
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75.html
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75@pipe-b:
    - shard-rkl:          [PASS][207] -> [SKIP][208] ([i915#12247] / [i915#14544] / [i915#8152]) +3 other tests skip
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75@pipe-b.html
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75@pipe-b.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
    - shard-rkl:          [PASS][209] -> [SKIP][210] ([i915#12247] / [i915#14544] / [i915#6953] / [i915#8152])
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a:
    - shard-rkl:          [PASS][211] -> [SKIP][212] ([i915#12247] / [i915#14544]) +3 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a.html
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a.html

  * igt@kms_pm_dc@dc5-dpms-negative (NEW):
    - shard-snb:          NOTRUN -> [SKIP][213] +1 other test skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-snb6/igt@kms_pm_dc@dc5-dpms-negative.html

  * igt@kms_pm_dc@dc6-dpms (NEW):
    - shard-rkl:          [FAIL][214] ([i915#9295]) -> [SKIP][215] ([i915#3361])
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-2/igt@kms_pm_dc@dc6-dpms.html
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-8/igt@kms_pm_dc@dc6-dpms.html
    - shard-dg2-9:        NOTRUN -> [SKIP][216] ([i915#14104])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc6-psr (NEW):
    - shard-rkl:          [SKIP][217] ([i915#9685]) -> [SKIP][218] ([i915#14544] / [i915#9685])
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_pm_dc@dc6-psr.html
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_dc@dc9-dpms (NEW):
    - shard-rkl:          [SKIP][219] ([i915#14544] / [i915#4281]) -> [SKIP][220] ([i915#4281])
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_pm_dc@dc9-dpms.html
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_lpsp@kms-lpsp (NEW):
    - shard-rkl:          [SKIP][221] ([i915#3828]) -> [SKIP][222] ([i915#9340])
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-7/igt@kms_pm_lpsp@kms-lpsp.html
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-5/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-dg2:          NOTRUN -> [SKIP][223] ([i915#9519])
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-rkl:          [PASS][224] -> [SKIP][225] ([i915#9519]) +1 other test skip
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-7/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_prime@basic-crc-vgem:
    - shard-dg2:          NOTRUN -> [SKIP][226] ([i915#6524] / [i915#6805])
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_prime@basic-crc-vgem.html

  * igt@kms_prime@basic-modeset-hybrid:
    - shard-tglu:         NOTRUN -> [SKIP][227] ([i915#6524])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_prime@basic-modeset-hybrid.html

  * igt@kms_properties@plane-properties-legacy:
    - shard-rkl:          [PASS][228] -> [SKIP][229] ([i915#11521] / [i915#14544]) +1 other test skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_properties@plane-properties-legacy.html
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_properties@plane-properties-legacy.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf:
    - shard-dg2:          NOTRUN -> [SKIP][230] ([i915#11520]) +3 other tests skip
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][231] ([i915#11520]) +10 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk6/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
    - shard-rkl:          NOTRUN -> [SKIP][232] ([i915#11520])
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
    - shard-tglu-1:       NOTRUN -> [SKIP][233] ([i915#11520]) +1 other test skip
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
    - shard-dg1:          NOTRUN -> [SKIP][234] ([i915#11520]) +1 other test skip
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-tglu:         NOTRUN -> [SKIP][235] ([i915#11520]) +3 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb:
    - shard-glk10:        NOTRUN -> [SKIP][236] ([i915#11520]) +9 other tests skip
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk10/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-dg2-9:        NOTRUN -> [SKIP][237] ([i915#11520]) +3 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-dg2:          NOTRUN -> [SKIP][238] ([i915#9683])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_psr2_su@frontbuffer-xrgb8888.html
    - shard-tglu-1:       NOTRUN -> [SKIP][239] ([i915#9683])
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@fbc-psr-dpms:
    - shard-tglu-1:       NOTRUN -> [SKIP][240] ([i915#9732]) +3 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_psr@fbc-psr-dpms.html

  * igt@kms_psr@fbc-psr-sprite-plane-move:
    - shard-tglu:         NOTRUN -> [SKIP][241] ([i915#9732]) +6 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-7/igt@kms_psr@fbc-psr-sprite-plane-move.html

  * igt@kms_psr@fbc-psr2-cursor-mmap-gtt:
    - shard-glk:          NOTRUN -> [SKIP][242] +446 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk9/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html

  * igt@kms_psr@fbc-psr2-sprite-blt:
    - shard-dg2-9:        NOTRUN -> [SKIP][243] ([i915#1072] / [i915#9732]) +9 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_psr@fbc-psr2-sprite-blt.html

  * igt@kms_psr@fbc-psr2-sprite-mmap-cpu:
    - shard-rkl:          NOTRUN -> [SKIP][244] ([i915#1072] / [i915#9732])
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_psr@fbc-psr2-sprite-mmap-cpu.html

  * igt@kms_psr@pr-cursor-plane-onoff:
    - shard-dg1:          NOTRUN -> [SKIP][245] ([i915#1072] / [i915#9732]) +4 other tests skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@kms_psr@pr-cursor-plane-onoff.html

  * igt@kms_psr@pr-primary-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][246] ([i915#1072] / [i915#9732]) +9 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_psr@pr-primary-mmap-gtt.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-tglu:         NOTRUN -> [SKIP][247] ([i915#9685]) +1 other test skip
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
    - shard-dg2:          NOTRUN -> [SKIP][248] ([i915#5190])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@sprite-rotation-90:
    - shard-dg2-9:        NOTRUN -> [SKIP][249] ([i915#12755])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@kms_rotation_crc@sprite-rotation-90.html

  * igt@kms_selftest@drm_framebuffer:
    - shard-glk:          NOTRUN -> [ABORT][250] ([i915#13179]) +1 other test abort
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk5/igt@kms_selftest@drm_framebuffer.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-tglu-1:       NOTRUN -> [SKIP][251] ([i915#3555]) +1 other test skip
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_vblank@ts-continuation-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][252] ([i915#12276]) +1 other test incomplete
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk8/igt@kms_vblank@ts-continuation-suspend.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-tglu:         NOTRUN -> [SKIP][253] ([i915#9906]) +1 other test skip
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-8/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@kms_writeback@writeback-fb-id (NEW):
    - shard-glk:          NOTRUN -> [SKIP][254] ([i915#2437]) +2 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk8/igt@kms_writeback@writeback-fb-id.html

  * igt@kms_writeback@writeback-fb-id-xrgb2101010:
    - shard-dg2:          NOTRUN -> [SKIP][255] ([i915#2437] / [i915#9412])
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@kms_writeback@writeback-fb-id-xrgb2101010.html

  * igt@kms_writeback@writeback-invalid-parameters (NEW):
    - shard-rkl:          [SKIP][256] ([i915#2437]) -> [SKIP][257] ([i915#14544] / [i915#2437])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_writeback@writeback-invalid-parameters.html
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@perf@global-sseu-config:
    - shard-dg2-9:        NOTRUN -> [SKIP][258] ([i915#7387])
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@perf@global-sseu-config.html

  * igt@perf@polling@0-rcs0:
    - shard-tglu:         [PASS][259] -> [FAIL][260] ([i915#10538]) +1 other test fail
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-tglu-8/igt@perf@polling@0-rcs0.html
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-2/igt@perf@polling@0-rcs0.html
    - shard-mtlp:         [PASS][261] -> [FAIL][262] ([i915#10538]) +1 other test fail
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-mtlp-8/igt@perf@polling@0-rcs0.html
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-mtlp-4/igt@perf@polling@0-rcs0.html

  * igt@perf_pmu@frequency:
    - shard-dg1:          NOTRUN -> [FAIL][263] ([i915#12549] / [i915#6806]) +1 other test fail
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@perf_pmu@frequency.html

  * igt@perf_pmu@frequency@gt0:
    - shard-dg2-9:        NOTRUN -> [FAIL][264] ([i915#12549] / [i915#6806]) +1 other test fail
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@perf_pmu@frequency@gt0.html

  * igt@perf_pmu@module-unload:
    - shard-glk:          NOTRUN -> [FAIL][265] ([i915#14433])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk8/igt@perf_pmu@module-unload.html

  * igt@perf_pmu@most-busy-check-all:
    - shard-rkl:          [PASS][266] -> [FAIL][267] ([i915#4349]) +1 other test fail
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-5/igt@perf_pmu@most-busy-check-all.html
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@perf_pmu@most-busy-check-all.html

  * igt@prime_vgem@basic-fence-mmap:
    - shard-dg2-9:        NOTRUN -> [SKIP][268] ([i915#3708] / [i915#4077])
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-9/igt@prime_vgem@basic-fence-mmap.html
    - shard-dg1:          NOTRUN -> [SKIP][269] ([i915#3708] / [i915#4077])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][270] ([i915#3708] / [i915#4077])
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@prime_vgem@basic-gtt.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-dg2:          NOTRUN -> [SKIP][271] ([i915#9917]) +1 other test skip
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-6/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each:
    - shard-rkl:          NOTRUN -> [SKIP][272] ([i915#9917])
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@sriov_basic@enable-vfs-bind-unbind-each.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each@numvfs-2:
    - shard-tglu-1:       NOTRUN -> [FAIL][273] ([i915#12910]) +8 other tests fail
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-1/igt@sriov_basic@enable-vfs-bind-unbind-each@numvfs-2.html

  * igt@sysfs_heartbeat_interval@precise@vcs0:
    - shard-rkl:          [PASS][274] -> [FAIL][275] ([i915#14783]) +1 other test fail
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-5/igt@sysfs_heartbeat_interval@precise@vcs0.html
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-3/igt@sysfs_heartbeat_interval@precise@vcs0.html

  
#### Possible fixes ####

  * igt@fbdev@pan:
    - shard-rkl:          [SKIP][276] ([i915#14544] / [i915#2582]) -> [PASS][277]
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@fbdev@pan.html
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@fbdev@pan.html

  * igt@gem_eio@throttle:
    - shard-rkl:          [DMESG-WARN][278] ([i915#12964]) -> [PASS][279] +14 other tests pass
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-2/igt@gem_eio@throttle.html
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-8/igt@gem_eio@throttle.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-glk:          [INCOMPLETE][280] ([i915#13196] / [i915#13356]) -> [PASS][281] +1 other test pass
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-glk8/igt@gem_exec_suspend@basic-s3.html
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk1/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_pxp@verify-pxp-execution-after-suspend-resume:
    - shard-rkl:          [TIMEOUT][282] ([i915#12917] / [i915#12964]) -> [PASS][283]
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-2/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-8/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-rkl:          [INCOMPLETE][284] ([i915#13356]) -> [PASS][285]
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_workarounds@suspend-resume-context.html
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@gem_workarounds@suspend-resume-context.html

  * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1 (NEW):
    - shard-dg2:          [FAIL][286] ([i915#5956]) -> [PASS][287] +1 other test pass
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-4/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-4/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
    - shard-tglu:         [FAIL][288] -> [PASS][289] +1 other test pass
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-tglu-3/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-tglu-4/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html

  * igt@kms_color@ctm-blue-to-red:
    - shard-rkl:          [SKIP][290] ([i915#12655] / [i915#14544]) -> [PASS][291]
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_color@ctm-blue-to-red.html
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_color@ctm-blue-to-red.html

  * igt@kms_cursor_crc@cursor-onscreen-128x42:
    - shard-rkl:          [FAIL][292] ([i915#13566]) -> [PASS][293]
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-7/igt@kms_cursor_crc@cursor-onscreen-128x42.html
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-128x42.html

  * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic:
    - shard-rkl:          [SKIP][294] ([i915#11190] / [i915#14544]) -> [PASS][295] +2 other tests pass
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-rkl:          [FAIL][296] ([i915#2346]) -> [PASS][297]
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_dither@fb-8bpc-vs-panel-8bpc:
    - shard-dg2:          [SKIP][298] ([i915#3555]) -> [PASS][299]
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-1/igt@kms_dither@fb-8bpc-vs-panel-8bpc.html
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-11/igt@kms_dither@fb-8bpc-vs-panel-8bpc.html

  * igt@kms_flip@bo-too-big:
    - shard-rkl:          [SKIP][300] ([i915#14544] / [i915#3637]) -> [PASS][301] +6 other tests pass
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_flip@bo-too-big.html
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_flip@bo-too-big.html

  * igt@kms_flip@plain-flip-ts-check-interruptible@a-hdmi-a1:
    - shard-rkl:          [FAIL][302] ([i915#14600]) -> [PASS][303] +1 other test pass
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-4/igt@kms_flip@plain-flip-ts-check-interruptible@a-hdmi-a1.html
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_flip@plain-flip-ts-check-interruptible@a-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling:
    - shard-rkl:          [SKIP][304] ([i915#14544] / [i915#3555]) -> [PASS][305] +2 other tests pass
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite:
    - shard-rkl:          [SKIP][306] ([i915#14544] / [i915#1849] / [i915#5354]) -> [PASS][307] +2 other tests pass
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-blt:
    - shard-glk:          [SKIP][308] -> [PASS][309] +5 other tests pass
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-glk8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-blt.html
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk9/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-dg2:          [SKIP][310] ([i915#3555] / [i915#8228]) -> [PASS][311] +2 other tests pass
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-5/igt@kms_hdr@static-toggle-suspend.html
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-11/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_invalid_mode@int-max-clock:
    - shard-rkl:          [SKIP][312] ([i915#14544] / [i915#3555] / [i915#8826]) -> [PASS][313]
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_invalid_mode@int-max-clock.html
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_invalid_mode@int-max-clock.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-dg2:          [SKIP][314] ([i915#12388]) -> [PASS][315]
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-3/igt@kms_joiner@basic-force-big-joiner.html
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-10/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_plane_alpha_blend@constant-alpha-min:
    - shard-rkl:          [SKIP][316] ([i915#14544] / [i915#7294]) -> [PASS][317]
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_plane_alpha_blend@constant-alpha-min.html
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_plane_alpha_blend@constant-alpha-min.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats:
    - shard-rkl:          [SKIP][318] ([i915#14544] / [i915#3555] / [i915#8152]) -> [PASS][319] +1 other test pass
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats.html
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-a:
    - shard-rkl:          [SKIP][320] ([i915#12247] / [i915#14544]) -> [PASS][321] +5 other tests pass
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-a.html
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-a.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers:
    - shard-rkl:          [SKIP][322] ([i915#14544] / [i915#8152]) -> [PASS][323] +1 other test pass
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers.html
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers@pipe-b:
    - shard-rkl:          [SKIP][324] ([i915#12247] / [i915#14544] / [i915#8152]) -> [PASS][325] +5 other tests pass
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers@pipe-b.html
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-modifiers@pipe-b.html

  * igt@kms_plane_scaling@planes-upscale-20x20:
    - shard-rkl:          [SKIP][326] ([i915#14544] / [i915#6953] / [i915#8152]) -> [PASS][327]
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-20x20.html
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_plane_scaling@planes-upscale-20x20.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5:
    - shard-rkl:          [SKIP][328] ([i915#12247] / [i915#14544] / [i915#3555] / [i915#6953] / [i915#8152]) -> [PASS][329]
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5.html
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-rkl:          [SKIP][330] ([i915#14544] / [i915#9519]) -> [PASS][331]
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@fences-dpms:
    - shard-rkl:          [SKIP][332] ([i915#14544] / [i915#1849]) -> [PASS][333]
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_pm_rpm@fences-dpms.html
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_pm_rpm@fences-dpms.html

  * igt@kms_pm_rpm@i2c:
    - shard-dg1:          [DMESG-WARN][334] ([i915#4423]) -> [PASS][335] +2 other tests pass
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-16/igt@kms_pm_rpm@i2c.html
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-18/igt@kms_pm_rpm@i2c.html

  * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-dg2:          [SKIP][336] ([i915#9519]) -> [PASS][337]
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-5/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-rkl:          [SKIP][338] ([i915#9519]) -> [PASS][339] +1 other test pass
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp.html
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-glk:          [INCOMPLETE][340] ([i915#10553]) -> [PASS][341]
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-glk8/igt@kms_pm_rpm@system-suspend-modeset.html
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk9/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@kms_vblank@wait-forked-busy-hang:
    - shard-rkl:          [SKIP][342] ([i915#14544]) -> [PASS][343] +35 other tests pass
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_vblank@wait-forked-busy-hang.html
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_vblank@wait-forked-busy-hang.html

  * igt@kms_vrr@negative-basic:
    - shard-dg2:          [SKIP][344] ([i915#3555] / [i915#9906]) -> [PASS][345]
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-5/igt@kms_vrr@negative-basic.html
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-11/igt@kms_vrr@negative-basic.html

  
#### Warnings ####

  * igt@gem_ccs@block-multicopy-compressed:
    - shard-rkl:          [SKIP][346] ([i915#9323]) -> [SKIP][347] ([i915#14544] / [i915#9323])
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_ccs@block-multicopy-compressed.html
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_ccs@block-multicopy-compressed.html

  * igt@gem_ccs@ctrl-surf-copy:
    - shard-rkl:          [SKIP][348] ([i915#3555] / [i915#9323]) -> [SKIP][349] ([i915#14544] / [i915#3555] / [i915#9323])
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_ccs@ctrl-surf-copy.html
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_ccs@ctrl-surf-copy.html

  * igt@gem_create@create-ext-cpu-access-big:
    - shard-rkl:          [SKIP][350] ([i915#14544] / [i915#6335]) -> [SKIP][351] ([i915#6335])
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_create@create-ext-cpu-access-big.html
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@gem_create@create-ext-cpu-access-big.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-rkl:          [SKIP][352] ([i915#280]) -> [SKIP][353] ([i915#14544] / [i915#280])
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_ctx_sseu@invalid-args.html
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-rkl:          [SKIP][354] ([i915#4525]) -> [SKIP][355] ([i915#14544] / [i915#4525]) +1 other test skip
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_exec_balancer@parallel-balancer.html
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_exec_balancer@parallel-balancer.html

  * igt@gem_exec_balancer@parallel-out-fence:
    - shard-rkl:          [SKIP][356] ([i915#14544] / [i915#4525]) -> [SKIP][357] ([i915#4525])
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_exec_balancer@parallel-out-fence.html
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@gem_exec_balancer@parallel-out-fence.html

  * igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
    - shard-rkl:          [SKIP][358] ([i915#14544] / [i915#3281]) -> [SKIP][359] ([i915#3281]) +7 other tests skip
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html

  * igt@gem_exec_reloc@basic-gtt-wc-noreloc:
    - shard-rkl:          [SKIP][360] ([i915#3281]) -> [SKIP][361] ([i915#14544] / [i915#3281]) +2 other tests skip
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html

  * igt@gem_lmem_evict@dontneed-evict-race:
    - shard-rkl:          [SKIP][362] ([i915#14544] / [i915#4613] / [i915#7582]) -> [SKIP][363] ([i915#4613] / [i915#7582])
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_lmem_evict@dontneed-evict-race.html
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@gem_lmem_evict@dontneed-evict-race.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-rkl:          [SKIP][364] ([i915#14544] / [i915#4613]) -> [SKIP][365] ([i915#4613]) +1 other test skip
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random.html
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-rkl:          [SKIP][366] ([i915#4613]) -> [SKIP][367] ([i915#14544] / [i915#4613]) +2 other tests skip
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_lmem_swapping@parallel-multi.html
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_lmem_swapping@parallel-multi.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg1:          [ABORT][368] -> [TIMEOUT][369] ([i915#5493]) +1 other test timeout
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-14/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-15/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@gem_partial_pwrite_pread@reads:
    - shard-rkl:          [SKIP][370] ([i915#14544] / [i915#3282]) -> [SKIP][371] ([i915#3282]) +5 other tests skip
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_partial_pwrite_pread@reads.html
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@gem_partial_pwrite_pread@reads.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-uncached:
    - shard-rkl:          [SKIP][372] ([i915#3282]) -> [SKIP][373] ([i915#14544] / [i915#3282]) +5 other tests skip
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html

  * igt@gem_pxp@hw-rejects-pxp-buffer:
    - shard-rkl:          [TIMEOUT][374] ([i915#12917] / [i915#12964]) -> [SKIP][375] ([i915#13717])
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-4/igt@gem_pxp@hw-rejects-pxp-buffer.html
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-8/igt@gem_pxp@hw-rejects-pxp-buffer.html

  * igt@gem_pxp@verify-pxp-stale-buf-execution:
    - shard-rkl:          [TIMEOUT][376] ([i915#12917] / [i915#12964]) -> [SKIP][377] ([i915#4270])
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_pxp@verify-pxp-stale-buf-execution.html
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@gem_pxp@verify-pxp-stale-buf-execution.html

  * igt@gem_set_tiling_vs_blt@tiled-to-untiled:
    - shard-rkl:          [SKIP][378] ([i915#8411]) -> [SKIP][379] ([i915#14544] / [i915#8411]) +1 other test skip
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html

  * igt@gem_userptr_blits@coherency-unsync:
    - shard-rkl:          [SKIP][380] ([i915#14544] / [i915#3297]) -> [SKIP][381] ([i915#3297]) +1 other test skip
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gem_userptr_blits@coherency-unsync.html
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@gem_userptr_blits@coherency-unsync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-rkl:          [SKIP][382] ([i915#3297]) -> [SKIP][383] ([i915#14544] / [i915#3297]) +1 other test skip
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gem_userptr_blits@dmabuf-unsync.html
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gen9_exec_parse@basic-rejected:
    - shard-rkl:          [SKIP][384] ([i915#14544] / [i915#2527]) -> [SKIP][385] ([i915#2527]) +2 other tests skip
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@gen9_exec_parse@basic-rejected.html
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@gen9_exec_parse@basic-rejected.html

  * igt@gen9_exec_parse@secure-batches:
    - shard-rkl:          [SKIP][386] ([i915#2527]) -> [SKIP][387] ([i915#14544] / [i915#2527]) +1 other test skip
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@gen9_exec_parse@secure-batches.html
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@gen9_exec_parse@secure-batches.html

  * igt@i915_pm_freq_api@freq-basic-api:
    - shard-rkl:          [SKIP][388] ([i915#8399]) -> [SKIP][389] ([i915#14544] / [i915#8399])
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@i915_pm_freq_api@freq-basic-api.html
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@i915_pm_freq_api@freq-basic-api.html

  * igt@i915_pm_freq_api@freq-reset-multiple:
    - shard-rkl:          [SKIP][390] ([i915#14544] / [i915#8399]) -> [SKIP][391] ([i915#8399])
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@i915_pm_freq_api@freq-reset-multiple.html
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@i915_pm_freq_api@freq-reset-multiple.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-rkl:          [SKIP][392] ([i915#14498]) -> [SKIP][393] ([i915#14498] / [i915#14544])
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@i915_pm_rc6_residency@rc6-idle.html
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-rkl:          [SKIP][394] ([i915#14544]) -> [SKIP][395] ([i915#9531])
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-rkl:          [SKIP][396] ([i915#14544]) -> [SKIP][397] ([i915#1769] / [i915#3555])
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-0:
    - shard-rkl:          [SKIP][398] ([i915#5286]) -> [SKIP][399] ([i915#14544]) +3 other tests skip
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-180:
    - shard-dg1:          [SKIP][400] ([i915#4538] / [i915#5286]) -> [SKIP][401] ([i915#4423] / [i915#4538] / [i915#5286])
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-19/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-19/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-rkl:          [SKIP][402] ([i915#14544]) -> [SKIP][403] ([i915#5286]) +1 other test skip
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - shard-rkl:          [SKIP][404] ([i915#3638]) -> [SKIP][405] ([i915#14544])
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_big_fb@linear-16bpp-rotate-270.html
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_big_fb@linear-16bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-270:
    - shard-rkl:          [SKIP][406] ([i915#14544]) -> [SKIP][407] ([i915#3638]) +1 other test skip
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-180:
    - shard-rkl:          [SKIP][408] -> [SKIP][409] ([i915#14544]) +11 other tests skip
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-rkl:          [SKIP][410] ([i915#14544]) -> [SKIP][411] +10 other tests skip
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs:
    - shard-rkl:          [SKIP][412] ([i915#14098] / [i915#6095]) -> [SKIP][413] ([i915#14544]) +9 other tests skip
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][414] ([i915#6095]) -> [SKIP][415] ([i915#14098] / [i915#6095])
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs@pipe-b-hdmi-a-2.html
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-3/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
    - shard-rkl:          [SKIP][416] ([i915#12313]) -> [SKIP][417] ([i915#14544])
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
    - shard-dg1:          [SKIP][418] ([i915#12313] / [i915#4423]) -> [SKIP][419] ([i915#12313])
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-19/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-19/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-rkl:          [SKIP][420] ([i915#14544]) -> [SKIP][421] ([i915#14098] / [i915#6095]) +6 other tests skip
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
    - shard-rkl:          [SKIP][422] ([i915#14544]) -> [SKIP][423] ([i915#12313]) +2 other tests skip
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html

  * igt@kms_chamelium_frames@hdmi-crc-multiple:
    - shard-rkl:          [SKIP][424] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][425] ([i915#11151] / [i915#7828]) +5 other tests skip
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_chamelium_frames@hdmi-crc-multiple.html
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_chamelium_frames@hdmi-crc-multiple.html

  * igt@kms_chamelium_hpd@vga-hpd-fast:
    - shard-rkl:          [SKIP][426] ([i915#11151] / [i915#7828]) -> [SKIP][427] ([i915#11151] / [i915#14544] / [i915#7828]) +7 other tests skip
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_chamelium_hpd@vga-hpd-fast.html
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_chamelium_hpd@vga-hpd-fast.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-rkl:          [SKIP][428] ([i915#3116]) -> [SKIP][429] ([i915#14544])
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_content_protection@dp-mst-type-1.html
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-dg2:          [SKIP][430] ([i915#7118] / [i915#9424]) -> [FAIL][431] ([i915#7173])
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-4/igt@kms_content_protection@legacy.html
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-10/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-0:
    - shard-dg2:          [SKIP][432] ([i915#9424]) -> [FAIL][433] ([i915#7173])
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-5/igt@kms_content_protection@lic-type-0.html
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-11/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-rkl:          [SKIP][434] ([i915#14544]) -> [SKIP][435] ([i915#9424])
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_content_protection@mei-interface.html
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_content_protection@mei-interface.html
    - shard-dg1:          [SKIP][436] ([i915#9433]) -> [SKIP][437] ([i915#9424])
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-12/igt@kms_content_protection@mei-interface.html
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-18/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@srm:
    - shard-dg2:          [SKIP][438] ([i915#7118]) -> [FAIL][439] ([i915#7173])
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-6/igt@kms_content_protection@srm.html
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-11/igt@kms_content_protection@srm.html

  * igt@kms_content_protection@type1:
    - shard-dg2:          [SKIP][440] ([i915#7118] / [i915#9424]) -> [SKIP][441] ([i915#7118] / [i915#7162] / [i915#9424])
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-3/igt@kms_content_protection@type1.html
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-10/igt@kms_content_protection@type1.html
    - shard-rkl:          [SKIP][442] ([i915#7118] / [i915#9424]) -> [SKIP][443] ([i915#14544])
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_content_protection@type1.html
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-rkl:          [SKIP][444] ([i915#14544]) -> [SKIP][445] ([i915#3555]) +2 other tests skip
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-32x10.html
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_cursor_crc@cursor-offscreen-32x10.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-rkl:          [SKIP][446] ([i915#13049]) -> [SKIP][447] ([i915#14544])
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_cursor_crc@cursor-offscreen-512x512.html
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-rkl:          [SKIP][448] ([i915#14544]) -> [SKIP][449] ([i915#13049]) +1 other test skip
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_cursor_crc@cursor-random-512x512.html
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-rkl:          [SKIP][450] ([i915#3555]) -> [SKIP][451] ([i915#14544]) +2 other tests skip
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-rkl:          [SKIP][452] ([i915#14544]) -> [FAIL][453] ([i915#2346])
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-rkl:          [SKIP][454] ([i915#14544]) -> [SKIP][455] ([i915#4103])
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-dg1:          [SKIP][456] ([i915#9723]) -> [SKIP][457] ([i915#4423] / [i915#9723])
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-18/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-13/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dp_aux_dev:
    - shard-rkl:          [SKIP][458] ([i915#1257] / [i915#14544]) -> [SKIP][459] ([i915#1257])
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_dp_aux_dev.html
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_dp_aux_dev.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-rkl:          [SKIP][460] ([i915#13749]) -> [SKIP][461] ([i915#14544])
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_dp_link_training@non-uhbr-sst.html
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dsc@dsc-basic:
    - shard-rkl:          [SKIP][462] ([i915#11190] / [i915#14544]) -> [SKIP][463] ([i915#3555] / [i915#3840])
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_dsc@dsc-basic.html
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_dsc@dsc-basic.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-rkl:          [SKIP][464] ([i915#3840]) -> [SKIP][465] ([i915#14544])
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_dsc@dsc-fractional-bpp.html
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-rkl:          [SKIP][466] ([i915#3555] / [i915#3840]) -> [SKIP][467] ([i915#14544])
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_dsc@dsc-with-bpc-formats.html
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-rkl:          [SKIP][468] ([i915#9337]) -> [SKIP][469] ([i915#14544] / [i915#9337])
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_feature_discovery@dp-mst.html
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_feature_discovery@psr1:
    - shard-rkl:          [SKIP][470] ([i915#658]) -> [SKIP][471] ([i915#14544] / [i915#658])
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_feature_discovery@psr1.html
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop:
    - shard-rkl:          [SKIP][472] ([i915#14544] / [i915#9934]) -> [SKIP][473] ([i915#9934]) +2 other tests skip
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_flip@2x-flip-vs-dpms-on-nop.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-rkl:          [SKIP][474] ([i915#9934]) -> [SKIP][475] ([i915#14544] / [i915#9934]) +4 other tests skip
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_flip@2x-modeset-vs-vblank-race.html
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-glk:          [INCOMPLETE][476] ([i915#12745] / [i915#4839] / [i915#6113]) -> [INCOMPLETE][477] ([i915#12745] / [i915#4839])
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-glk1/igt@kms_flip@flip-vs-suspend-interruptible.html
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-glk6/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling:
    - shard-rkl:          [SKIP][478] ([i915#2672] / [i915#3555]) -> [SKIP][479] ([i915#14544] / [i915#3555])
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
    - shard-rkl:          [SKIP][480] ([i915#14544] / [i915#3555]) -> [SKIP][481] ([i915#2672] / [i915#3555]) +2 other tests skip
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-dg1:          [SKIP][482] ([i915#8708]) -> [SKIP][483] ([i915#4423] / [i915#8708])
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-19/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt.html
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-19/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-4:
    - shard-rkl:          [SKIP][484] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][485] ([i915#5439])
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt:
    - shard-rkl:          [SKIP][486] ([i915#1825]) -> [SKIP][487] ([i915#14544] / [i915#1849] / [i915#5354]) +28 other tests skip
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt.html
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-rkl:          [SKIP][488] ([i915#5439]) -> [SKIP][489] ([i915#14544] / [i915#1849] / [i915#5354])
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@pipe-fbc-rte:
    - shard-rkl:          [SKIP][490] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][491] ([i915#9766])
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-rkl:          [SKIP][492] ([i915#3023]) -> [SKIP][493] ([i915#14544] / [i915#1849] / [i915#5354]) +15 other tests skip
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render:
    - shard-dg2:          [SKIP][494] ([i915#3458]) -> [SKIP][495] ([i915#10433] / [i915#3458])
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render.html
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite:
    - shard-dg2:          [SKIP][496] ([i915#10433] / [i915#3458]) -> [SKIP][497] ([i915#3458])
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite.html
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][498] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][499] ([i915#1825]) +25 other tests skip
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu:
    - shard-dg1:          [SKIP][500] ([i915#4423]) -> [SKIP][501] +2 other tests skip
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
    - shard-rkl:          [SKIP][502] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][503] ([i915#3023]) +11 other tests skip
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-dg2:          [SKIP][504] ([i915#12713]) -> [SKIP][505] ([i915#13331])
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg2-1/igt@kms_hdr@brightness-with-hdr.html
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg2-11/igt@kms_hdr@brightness-with-hdr.html
    - shard-rkl:          [SKIP][506] ([i915#12713]) -> [SKIP][507] ([i915#1187] / [i915#12713])
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-5/igt@kms_hdr@brightness-with-hdr.html
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-3/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@static-toggle:
    - shard-rkl:          [SKIP][508] ([i915#14544]) -> [SKIP][509] ([i915#3555] / [i915#8228]) +1 other test skip
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_hdr@static-toggle.html
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_hdr@static-toggle.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-rkl:          [SKIP][510] ([i915#10656]) -> [SKIP][511] ([i915#10656] / [i915#14544])
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_joiner@basic-big-joiner.html
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-rkl:          [SKIP][512] ([i915#12388]) -> [SKIP][513] ([i915#12388] / [i915#14544])
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_joiner@basic-force-big-joiner.html
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-rkl:          [SKIP][514] ([i915#12394]) -> [SKIP][515] ([i915#12394] / [i915#14544])
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][516] ([i915#4816]) -> [SKIP][517] ([i915#4070] / [i915#4816])
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-5/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-dg1:          [SKIP][518] ([i915#13958] / [i915#4423]) -> [SKIP][519] ([i915#13958])
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-16/igt@kms_plane_multiple@2x-tiling-y.html
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-18/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation:
    - shard-rkl:          [SKIP][520] ([i915#12247]) -> [SKIP][521] ([i915#12247] / [i915#14544] / [i915#8152]) +1 other test skip
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation.html
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a:
    - shard-rkl:          [SKIP][522] ([i915#12247]) -> [SKIP][523] ([i915#12247] / [i915#14544])
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a.html
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a.html

  * igt@kms_pm_rpm@pm-tiling:
    - shard-rkl:          [SKIP][524] ([i915#14544]) -> [DMESG-WARN][525] ([i915#12964]) +1 other test dmesg-warn
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_pm_rpm@pm-tiling.html
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_pm_rpm@pm-tiling.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-rkl:          [SKIP][526] ([i915#6524]) -> [SKIP][527] ([i915#14544] / [i915#6524]) +1 other test skip
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_prime@basic-crc-hybrid.html
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area:
    - shard-rkl:          [SKIP][528] ([i915#11520]) -> [SKIP][529] ([i915#11520] / [i915#14544]) +3 other tests skip
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html
   [529]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
    - shard-rkl:          [SKIP][530] ([i915#11520] / [i915#14544]) -> [SKIP][531] ([i915#11520]) +4 other tests skip
   [530]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
   [531]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-rkl:          [SKIP][532] ([i915#14544] / [i915#9683]) -> [SKIP][533] ([i915#9683])
   [532]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_psr2_su@frontbuffer-xrgb8888.html
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@fbc-psr-cursor-blt:
    - shard-rkl:          [SKIP][534] ([i915#1072] / [i915#9732]) -> [SKIP][535] ([i915#1072] / [i915#14544] / [i915#9732]) +14 other tests skip
   [534]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_psr@fbc-psr-cursor-blt.html
   [535]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_psr@fbc-psr-cursor-blt.html

  * igt@kms_psr@fbc-psr-sprite-blt:
    - shard-dg1:          [SKIP][536] ([i915#1072] / [i915#9732]) -> [SKIP][537] ([i915#1072] / [i915#4423] / [i915#9732])
   [536]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-dg1-19/igt@kms_psr@fbc-psr-sprite-blt.html
   [537]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-dg1-19/igt@kms_psr@fbc-psr-sprite-blt.html

  * igt@kms_psr@psr-sprite-plane-move:
    - shard-rkl:          [SKIP][538] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][539] ([i915#1072] / [i915#9732]) +14 other tests skip
   [538]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_psr@psr-sprite-plane-move.html
   [539]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_psr@psr-sprite-plane-move.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-rkl:          [SKIP][540] ([i915#14544] / [i915#3555]) -> [SKIP][541] ([i915#3555])
   [540]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_setmode@invalid-clone-single-crtc.html
   [541]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-4/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_vrr@lobf:
    - shard-rkl:          [SKIP][542] ([i915#14544]) -> [SKIP][543] ([i915#11920])
   [542]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@kms_vrr@lobf.html
   [543]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@kms_vrr@lobf.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-rkl:          [SKIP][544] ([i915#9906]) -> [SKIP][545] ([i915#14544])
   [544]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_vrr@seamless-rr-switch-virtual.html
   [545]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@kms_writeback@writeback-check-output-xrgb2101010:
    - shard-rkl:          [SKIP][546] ([i915#2437] / [i915#9412]) -> [SKIP][547] ([i915#14544] / [i915#2437] / [i915#9412])
   [546]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@kms_writeback@writeback-check-output-xrgb2101010.html
   [547]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@kms_writeback@writeback-check-output-xrgb2101010.html

  * igt@prime_vgem@basic-fence-read:
    - shard-rkl:          [SKIP][548] ([i915#14544] / [i915#3291] / [i915#3708]) -> [SKIP][549] ([i915#3291] / [i915#3708])
   [548]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@prime_vgem@basic-fence-read.html
   [549]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@fence-flip-hang:
    - shard-rkl:          [SKIP][550] ([i915#14544] / [i915#3708]) -> [SKIP][551] ([i915#3708])
   [550]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@prime_vgem@fence-flip-hang.html
   [551]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@prime_vgem@fence-flip-hang.html

  * igt@prime_vgem@fence-read-hang:
    - shard-rkl:          [SKIP][552] ([i915#3708]) -> [SKIP][553] ([i915#14544] / [i915#3708])
   [552]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-8/igt@prime_vgem@fence-read-hang.html
   [553]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-6/igt@prime_vgem@fence-read-hang.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
    - shard-rkl:          [SKIP][554] ([i915#14544] / [i915#9917]) -> [SKIP][555] ([i915#9917])
   [554]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17150/shard-rkl-6/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
   [555]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154166v1/shard-rkl-2/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#10538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10538
  [i915#10553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10553
  [i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
  [i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11521]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11521
  [i915#11713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11713
  [i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
  [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12169
  [i915#12178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12178
  [i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
  [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358
  [i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
  [i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392
  [i915#12394]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12394
  [i915#12549]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12549
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
  [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
  [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
  [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
  [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
  [i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
  [i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917
  [i915#12942]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12942
  [i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
  [i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
  [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
  [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
  [i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
  [i915#13196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13196
  [i915#13331]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13331
  [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
  [i915#13729]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13729
  [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
  [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
  [i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783
  [i915#13821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13821
  [i915#13890]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13890
  [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
  [i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
  [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
  [i915#14104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14104
  [i915#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
  [i915#14433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14433
  [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
  [i915#14561]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14561
  [i915#14600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14600
  [i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
  [i915#14756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14756
  [i915#14783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14783
  [i915#14806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14806
  [i915#14809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14809
  [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2346
  [i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
  [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#3936]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3936
  [i915#4070]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
  [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493
  [i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
  [i915#6806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6806
  [i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
  [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
  [i915#7162]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7162
  [i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
  [i915#7178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7178
  [i915#7294]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7294
  [i915#7387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7387
  [i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7862]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7862
  [i915#7882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7882
  [i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
  [i915#8152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8152
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
  [i915#8826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8826
  [i915#9295]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9295
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
  [i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
  [i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
  [i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
  [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


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

  * Linux: CI_DRM_17150 -> Patchwork_154166v1

  CI-20190529: 20190529
  CI_DRM_17150: 78cc74214b6f200319b53d36c4c0ce6974af8d5b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8524: 8524
  Patchwork_154166v1: 78cc74214b6f200319b53d36c4c0ce6974af8d5b @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [PATCH 1/6] drm/i915/wm: clarify watermark ops with comments
  2025-09-08  7:35 ` [PATCH 1/6] drm/i915/wm: clarify watermark ops with comments Luca Coelho
@ 2025-09-16  8:52   ` Govindapillai, Vinod
  2025-09-22 10:26     ` Luca Coelho
  0 siblings, 1 reply; 22+ messages in thread
From: Govindapillai, Vinod @ 2025-09-16  8:52 UTC (permalink / raw)
  To: intel-gfx@lists.freedesktop.org, Coelho, Luciano

On Mon, 2025-09-08 at 10:35 +0300, Luca Coelho wrote:
> Some of the ops in struct intel_wm_funcs are used only for legacy
> watermark management, while others are only for SKL+ or both.  Clarify
> that in the struct definition.
> 
> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_core.h | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 

Hi Luca,

I am not sure if these comments by itself help in any understanding of the wm handling code better -
rather than browsing through the code! IMO, probably you need to have bit bigger explanation of this
"struct intel_wm_funcs" and the split of legacy/SKL+ usage - before these comments! 

BR
Vinod

> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h
> b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 8c226406c5cd..938971591470 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -78,7 +78,7 @@ struct intel_display_funcs {
>  
>  /* functions used for watermark calcs for display. */
>  struct intel_wm_funcs {
> -	/* update_wm is for legacy wm management */
> +	/* these are only for legacy wm management */
>  	void (*update_wm)(struct intel_display *display);
>  	int (*compute_watermarks)(struct intel_atomic_state *state,
>  				  struct intel_crtc *crtc);
> @@ -88,8 +88,12 @@ struct intel_wm_funcs {
>  					 struct intel_crtc *crtc);
>  	void (*optimize_watermarks)(struct intel_atomic_state *state,
>  				    struct intel_crtc *crtc);
> +
> +	/* these are for SKL+ wm management */
>  	int (*compute_global_watermarks)(struct intel_atomic_state *state);
>  	void (*get_hw_state)(struct intel_display *display);
> +
> +	/* this is used by both legacy and SKL+ */
>  	void (*sanitize)(struct intel_display *display);
>  };
>  


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

* Re: [PATCH 2/6] drm/i915/wm: move intel_sagv_init() to avoid forward declaration
  2025-09-08  7:35 ` [PATCH 2/6] drm/i915/wm: move intel_sagv_init() to avoid forward declaration Luca Coelho
@ 2025-09-16  8:53   ` Govindapillai, Vinod
  0 siblings, 0 replies; 22+ messages in thread
From: Govindapillai, Vinod @ 2025-09-16  8:53 UTC (permalink / raw)
  To: intel-gfx@lists.freedesktop.org, Coelho, Luciano

On Mon, 2025-09-08 at 10:35 +0300, Luca Coelho wrote:
> There's no need to have a forward-declaration for skl_sagv_disable(),
> so move the intel_sagv_init() function below the called function to
> prevent it.
> 
> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> ---
>  drivers/gpu/drm/i915/display/skl_watermark.c | 60 ++++++++++----------
>  1 file changed, 29 insertions(+), 31 deletions(-)
> 

Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>


> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c
> b/drivers/gpu/drm/i915/display/skl_watermark.c
> index d74cbb43ae6f..3b409442db37 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -53,8 +53,6 @@ struct intel_dbuf_state {
>  #define intel_atomic_get_new_dbuf_state(state) \
>  	to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state,
> &to_intel_display(state)->dbuf.obj))
>  
> -static void skl_sagv_disable(struct intel_display *display);
> -
>  /* Stores plane specific WM parameters */
>  struct skl_wm_params {
>  	bool x_tiled, y_tiled;
> @@ -130,35 +128,6 @@ intel_sagv_block_time(struct intel_display *display)
>  	}
>  }
>  
> -static void intel_sagv_init(struct intel_display *display)
> -{
> -	if (!HAS_SAGV(display))
> -		display->sagv.status = I915_SAGV_NOT_CONTROLLED;
> -
> -	/*
> -	 * Probe to see if we have working SAGV control.
> -	 * For icl+ this was already determined by intel_bw_init_hw().
> -	 */
> -	if (DISPLAY_VER(display) < 11)
> -		skl_sagv_disable(display);
> -
> -	drm_WARN_ON(display->drm, display->sagv.status == I915_SAGV_UNKNOWN);
> -
> -	display->sagv.block_time_us = intel_sagv_block_time(display);
> -
> -	drm_dbg_kms(display->drm, "SAGV supported: %s, original SAGV block time: %u us\n",
> -		    str_yes_no(intel_has_sagv(display)), display->sagv.block_time_us);
> -
> -	/* avoid overflow when adding with wm0 latency/etc. */
> -	if (drm_WARN(display->drm, display->sagv.block_time_us > U16_MAX,
> -		     "Excessive SAGV block time %u, ignoring\n",
> -		     display->sagv.block_time_us))
> -		display->sagv.block_time_us = 0;
> -
> -	if (!intel_has_sagv(display))
> -		display->sagv.block_time_us = 0;
> -}
> -
>  /*
>   * SAGV dynamically adjusts the system agent voltage and clock frequencies
>   * depending on power and performance requirements. The display engine access
> @@ -233,6 +202,35 @@ static void skl_sagv_disable(struct intel_display *display)
>  	display->sagv.status = I915_SAGV_DISABLED;
>  }
>  
> +static void intel_sagv_init(struct intel_display *display)
> +{
> +	if (!HAS_SAGV(display))
> +		display->sagv.status = I915_SAGV_NOT_CONTROLLED;
> +
> +	/*
> +	 * Probe to see if we have working SAGV control.
> +	 * For icl+ this was already determined by intel_bw_init_hw().
> +	 */
> +	if (DISPLAY_VER(display) < 11)
> +		skl_sagv_disable(display);
> +
> +	drm_WARN_ON(display->drm, display->sagv.status == I915_SAGV_UNKNOWN);
> +
> +	display->sagv.block_time_us = intel_sagv_block_time(display);
> +
> +	drm_dbg_kms(display->drm, "SAGV supported: %s, original SAGV block time: %u us\n",
> +		    str_yes_no(intel_has_sagv(display)), display->sagv.block_time_us);
> +
> +	/* avoid overflow when adding with wm0 latency/etc. */
> +	if (drm_WARN(display->drm, display->sagv.block_time_us > U16_MAX,
> +		     "Excessive SAGV block time %u, ignoring\n",
> +		     display->sagv.block_time_us))
> +		display->sagv.block_time_us = 0;
> +
> +	if (!intel_has_sagv(display))
> +		display->sagv.block_time_us = 0;
> +}
> +
>  static void skl_sagv_pre_plane_update(struct intel_atomic_state *state)
>  {
>  	struct intel_display *display = to_intel_display(state);


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

* Re: [PATCH 3/6] drm/i915/wm: remove stale FIXME in skl_needs_memory_bw_wa()
  2025-09-08  7:35 ` [PATCH 3/6] drm/i915/wm: remove stale FIXME in skl_needs_memory_bw_wa() Luca Coelho
@ 2025-09-16  9:21   ` Govindapillai, Vinod
  0 siblings, 0 replies; 22+ messages in thread
From: Govindapillai, Vinod @ 2025-09-16  9:21 UTC (permalink / raw)
  To: intel-gfx@lists.freedesktop.org, Coelho, Luciano

On Mon, 2025-09-08 at 10:35 +0300, Luca Coelho wrote:
> This FIXME has been there forever and apparently the _proper code_ has
> never been added, and, since it's a very old platform alreday, most
> likely never will.  It hasn't been a problem to keep the workaround
> for all cases, so let's drop the FIXME tag.
> 
> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> ---
>  drivers/gpu/drm/i915/display/skl_watermark.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>

> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c
> b/drivers/gpu/drm/i915/display/skl_watermark.c
> index 3b409442db37..0ce3420a919e 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -83,8 +83,8 @@ u8 intel_enabled_dbuf_slices_mask(struct intel_display *display)
>  }
>  
>  /*
> - * FIXME: We still don't have the proper code detect if we need to apply the WA,
> - * so assume we'll always need it in order to avoid underruns.
> + * We don't have the proper code detect if we need to apply the WA, so
> + * assume we'll always need it in order to avoid underruns.
>   */
>  static bool skl_needs_memory_bw_wa(struct intel_display *display)
>  {


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

* Re: [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum
  2025-09-08  7:35 ` [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum Luca Coelho
  2025-09-08 12:43   ` Gustavo Sousa
@ 2025-09-19  8:36   ` Ville Syrjälä
  2025-09-22 12:38     ` Luca Coelho
  1 sibling, 1 reply; 22+ messages in thread
From: Ville Syrjälä @ 2025-09-19  8:36 UTC (permalink / raw)
  To: Luca Coelho; +Cc: intel-gfx

On Mon, Sep 08, 2025 at 10:35:33AM +0300, Luca Coelho wrote:
> There are currently two booleans to define three tiling modes, which
> is bad practice because it allows representing an invalid mode.  In
> order to simplify this, convert these two booleans into one
> enumeration with three possible tiling modes.
> 
> Additionally, introduce the concept of Y "family" of tiling, which
> groups Y, Yf and 4 tiling, since they're effectively treated in the
> same way in the watermark calculations.  Describe the grouping in the
> enumeration definition.
> 
> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> ---
>  drivers/gpu/drm/i915/display/skl_watermark.c | 35 ++++++++++++++------
>  1 file changed, 24 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index 0ce3420a919e..dd4bed02c3c0 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -53,9 +53,16 @@ struct intel_dbuf_state {
>  #define intel_atomic_get_new_dbuf_state(state) \
>  	to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state, &to_intel_display(state)->dbuf.obj))
>  
> +/* Tiling mode groups relevant to WM calculations */
> +enum wm_tiling_mode {
> +	WM_TILING_LINEAR,
> +	WM_TILING_X_TILED,	/* mostly like linear */

The _TILED suffix seems redundant here.

> +	WM_TILING_Y_FAMILY,	/* includes Y, Yf and 4 tiling */

I don't really like the "y family" invention. Doesn't really
unconfuse anything for the reader without going back to have
a look at the comment.

I think it would be better to just spell out each tilimg mode.
So I guess something like "WM_TILING_Y_Yf_4"

> +};
> +
>  /* Stores plane specific WM parameters */
>  struct skl_wm_params {
> -	bool x_tiled, y_tiled;
> +	enum wm_tiling_mode tiling;

That'll now be 4 bytes.

>  	bool rc_surface;
>  	bool is_planar;

and we'll have a two byte hole here.

>  	u32 width;
        u8 cpp;

And there's a 3 byte hole already here after the cpp.
Should group the u8 with the bools to avoid so many holes.

We could also shrink y_min_scanlines to a u8 and
stick it into the last 1 byte hole. That'd shrink the whole
struct by 4 bytes.

dbuf_block_size would also fit in a u16, but doesn't look
like we have any other holes where we could stick it. Hmm,
actually 'width' could probably also be shrunk to be a u16.
So could get rid of another 4 bytes here if we really
wanted to.

But I suppose all that repacking should be a separate patch...

> @@ -618,7 +625,8 @@ static unsigned int skl_wm_latency(struct intel_display *display, int level,
>  	     display->platform.cometlake) && skl_watermark_ipc_enabled(display))
>  		latency += 4;
>  
> -	if (skl_needs_memory_bw_wa(display) && wp && wp->x_tiled)
> +	if (skl_needs_memory_bw_wa(display) &&
> +	    wp && wp->tiling == WM_TILING_X_TILED)
>  		latency += 15;
>  
>  	return latency;
> @@ -1674,9 +1682,14 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
>  		return -EINVAL;
>  	}
>  
> -	wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED;
> -	wp->y_tiled = modifier != I915_FORMAT_MOD_X_TILED &&
> -		intel_fb_is_tiled_modifier(modifier);
> +	if (modifier == I915_FORMAT_MOD_X_TILED)
> +		wp->tiling = WM_TILING_X_TILED;
> +	else if (modifier != I915_FORMAT_MOD_X_TILED &&

The modifier check here is redundant with the if-else construct.

> +		 intel_fb_is_tiled_modifier(modifier))
> +		wp->tiling = WM_TILING_Y_FAMILY;
> +	else
> +		wp->tiling = WM_TILING_LINEAR;

In fact we can avoid the entire intel_fb_is_tiled_modifier()
call with something like:

if (mod == LINEAR)
	tiling = LINEAR;
else if (mod == X)
	tiling = X;
else
	tiling = Y_Yf_4;

The wm code always pops up fairly high in cpu profiles, so
anything that makes it lighter is worth considering.

> +
>  	wp->rc_surface = intel_fb_is_ccs_modifier(modifier);
>  	wp->is_planar = intel_format_info_is_yuv_semiplanar(format, modifier);
>  
> @@ -1716,7 +1729,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
>  		wp->y_min_scanlines *= 2;
>  
>  	wp->plane_bytes_per_line = wp->width * wp->cpp;
> -	if (wp->y_tiled) {
> +	if (wp->tiling == WM_TILING_Y_FAMILY) {
>  		interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line *
>  					   wp->y_min_scanlines,
>  					   wp->dbuf_block_size);
> @@ -1732,7 +1745,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
>  		interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line,
>  					   wp->dbuf_block_size);
>  
> -		if (!wp->x_tiled || DISPLAY_VER(display) >= 10)
> +		if (wp->tiling != WM_TILING_X_TILED || DISPLAY_VER(display) >= 10)
>  			interm_pbpl++;
>  
>  		wp->plane_blocks_per_line = u32_to_fixed16(interm_pbpl);
> @@ -1820,7 +1833,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>  				 latency,
>  				 wp->plane_blocks_per_line);
>  
> -	if (wp->y_tiled) {
> +	if (wp->tiling == WM_TILING_Y_FAMILY) {
>  		selected_result = max_fixed16(method2, wp->y_tile_minimum);
>  	} else {
>  		if ((wp->cpp * crtc_state->hw.pipe_mode.crtc_htotal /
> @@ -1870,7 +1883,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>  
>  		/* Display WA #1126: skl,bxt,kbl */
>  		if (level >= 1 && level <= 7) {
> -			if (wp->y_tiled) {
> +			if (wp->tiling == WM_TILING_Y_FAMILY) {
>  				blocks += fixed16_to_u32_round_up(wp->y_tile_minimum);
>  				lines += wp->y_min_scanlines;
>  			} else {
> @@ -1889,7 +1902,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>  	}
>  
>  	if (DISPLAY_VER(display) >= 11) {
> -		if (wp->y_tiled) {
> +		if (wp->tiling == WM_TILING_Y_FAMILY) {
>  			int extra_lines;
>  
>  			if (lines % wp->y_min_scanlines == 0)
> @@ -2015,7 +2028,7 @@ static void skl_compute_transition_wm(struct intel_display *display,
>  	 */
>  	wm0_blocks = wm0->blocks - 1;
>  
> -	if (wp->y_tiled) {
> +	if (wp->tiling == WM_TILING_Y_FAMILY) {
>  		trans_y_tile_min =
>  			(u16)mul_round_up_u32_fixed16(2, wp->y_tile_minimum);
>  		blocks = max(wm0_blocks, trans_y_tile_min) + trans_offset;
> -- 
> 2.50.1

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 6/6] drm/i915/wm: move method selection and calculation to a separate function
  2025-09-08  7:35 ` [PATCH 6/6] drm/i915/wm: move method selection and calculation to a separate function Luca Coelho
@ 2025-09-19 18:00   ` Ville Syrjälä
  2025-09-29  7:21     ` Luca Coelho
  0 siblings, 1 reply; 22+ messages in thread
From: Ville Syrjälä @ 2025-09-19 18:00 UTC (permalink / raw)
  To: Luca Coelho; +Cc: intel-gfx

On Mon, Sep 08, 2025 at 10:35:35AM +0300, Luca Coelho wrote:
> Isolate the code that handles method selection and calculation, so
> skl_compute_plane_wm() doesn't get too long.
> 
> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> ---
>  drivers/gpu/drm/i915/display/skl_watermark.c | 51 ++++++++++++--------
>  1 file changed, 31 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index 21f8d52ec1d2..33853a18ee9c 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -1806,25 +1806,14 @@ static bool xe3_auto_min_alloc_capable(struct intel_plane *plane, int level)
>  	return DISPLAY_VER(display) >= 30 && level == 0 && plane->id != PLANE_CURSOR;
>  }
>  
> -static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
> -				 struct intel_plane *plane,
> -				 int level,
> -				 unsigned int latency,
> -				 const struct skl_wm_params *wp,
> -				 const struct skl_wm_level *result_prev,
> -				 struct skl_wm_level *result /* out */)
> +static uint_fixed_16_16_t
> +skl_wm_run_method(struct intel_display *display,

I was confused what a "run method" is, but I guess "run" is supposed
to be a verb here.

However this thing does a lot more than "run a method", so I don't
really like this.

I susepct it would make more sense to carve up skl_compute_plane_wm()
into several smaller (possibly platform dependent) pieces. Eg.
the result selection part seems like one thing that could extracted
into a small function. The min_ddb_alloc calculation would be another
clear piece that can be extracted.

> +		  const struct intel_crtc_state *crtc_state,
> +		  const struct skl_wm_params *wp,
> +		  unsigned int latency)
>  {
> -	struct intel_display *display = to_intel_display(crtc_state);
>  	uint_fixed_16_16_t method1, method2;
>  	uint_fixed_16_16_t selected_result;
> -	u32 blocks, lines, min_ddb_alloc = 0;
> -
> -	if (latency == 0 ||
> -	    (use_minimal_wm0_only(crtc_state, plane) && level > 0)) {
> -		/* reject it */
> -		result->min_ddb_alloc = U16_MAX;
> -		return;
> -	}
>  
>  	method1 = skl_wm_method1(display, wp->plane_pixel_rate,
>  				 wp->cpp, latency, wp->dbuf_block_size);
> @@ -1837,7 +1826,9 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>  	case WM_TILING_Y_FAMILY:
>  		selected_result = max_fixed16(method2, wp->y_tile_minimum);
>  		break;
> -
> +	default:
> +		MISSING_CASE(wp->tiling);
> +		fallthrough;
>  	case WM_TILING_LINEAR:
>  	case WM_TILING_X_TILED:
>  		/*
> @@ -1862,12 +1853,32 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>  			selected_result = method1;
>  		}
>  		break;
> +	}
>  
> -	default:
> -		drm_err(display->drm, "Invalid tiling mode\n", wp->tiling);
> -		break;
> +	return selected_result;
> +}
> +
> +static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
> +				 struct intel_plane *plane,
> +				 int level,
> +				 unsigned int latency,
> +				 const struct skl_wm_params *wp,
> +				 const struct skl_wm_level *result_prev,
> +				 struct skl_wm_level *result /* out */)
> +{
> +	struct intel_display *display = to_intel_display(crtc_state);
> +	uint_fixed_16_16_t selected_result;
> +	u32 blocks, lines, min_ddb_alloc = 0;
> +
> +	if (latency == 0 ||
> +	    (use_minimal_wm0_only(crtc_state, plane) && level > 0)) {
> +		/* reject it */
> +		result->min_ddb_alloc = U16_MAX;
> +		return;
>  	}
>  
> +	selected_result = skl_wm_run_method(display, crtc_state, wp, latency);
> +
>  	blocks = fixed16_to_u32_round_up(selected_result);
>  	if (DISPLAY_VER(display) < 30)
>  		blocks++;
> -- 
> 2.50.1

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 1/6] drm/i915/wm: clarify watermark ops with comments
  2025-09-16  8:52   ` Govindapillai, Vinod
@ 2025-09-22 10:26     ` Luca Coelho
  0 siblings, 0 replies; 22+ messages in thread
From: Luca Coelho @ 2025-09-22 10:26 UTC (permalink / raw)
  To: Govindapillai, Vinod, intel-gfx@lists.freedesktop.org,
	Coelho, Luciano

On Tue, 2025-09-16 at 08:52 +0000, Govindapillai, Vinod wrote:
> On Mon, 2025-09-08 at 10:35 +0300, Luca Coelho wrote:
> > Some of the ops in struct intel_wm_funcs are used only for legacy
> > watermark management, while others are only for SKL+ or both.  Clarify
> > that in the struct definition.
> > 
> > Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display_core.h | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> 
> Hi Luca,
> 
> I am not sure if these comments by itself help in any understanding of the wm handling code better -
> rather than browsing through the code! IMO, probably you need to have bit bigger explanation of this
> "struct intel_wm_funcs" and the split of legacy/SKL+ usage - before these comments! 

Thanks, Vinod!

This tiny comment doesn't add much, for sure.  But it did help me
quickly figure out which functions are not relevant to newer hardware.

It's a tiny comment that, IMHO, doesn't harm, and if it were there to
start with, my initial attempts at understanding this code would have
been slightly easier.

If you insist, I can drop this patch, but otherwise I think it's useful
enough to be merged as is.  With the other changes I'm planning to make
in this code, hopefully this whole thing will be easier to understand.

--
Cheers,
Luca.



> BR
> Vinod
> 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h
> > b/drivers/gpu/drm/i915/display/intel_display_core.h
> > index 8c226406c5cd..938971591470 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> > @@ -78,7 +78,7 @@ struct intel_display_funcs {
> >  
> >  /* functions used for watermark calcs for display. */
> >  struct intel_wm_funcs {
> > -	/* update_wm is for legacy wm management */
> > +	/* these are only for legacy wm management */
> >  	void (*update_wm)(struct intel_display *display);
> >  	int (*compute_watermarks)(struct intel_atomic_state *state,
> >  				  struct intel_crtc *crtc);
> > @@ -88,8 +88,12 @@ struct intel_wm_funcs {
> >  					 struct intel_crtc *crtc);
> >  	void (*optimize_watermarks)(struct intel_atomic_state *state,
> >  				    struct intel_crtc *crtc);
> > +
> > +	/* these are for SKL+ wm management */
> >  	int (*compute_global_watermarks)(struct intel_atomic_state *state);
> >  	void (*get_hw_state)(struct intel_display *display);
> > +
> > +	/* this is used by both legacy and SKL+ */
> >  	void (*sanitize)(struct intel_display *display);
> >  };
> >  

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

* Re: [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum
  2025-09-19  8:36   ` Ville Syrjälä
@ 2025-09-22 12:38     ` Luca Coelho
  2025-09-22 12:48       ` Ville Syrjälä
  0 siblings, 1 reply; 22+ messages in thread
From: Luca Coelho @ 2025-09-22 12:38 UTC (permalink / raw)
  To: Ville Syrjälä, Luca Coelho; +Cc: intel-gfx

On Fri, 2025-09-19 at 11:36 +0300, Ville Syrjälä wrote:
> On Mon, Sep 08, 2025 at 10:35:33AM +0300, Luca Coelho wrote:
> > There are currently two booleans to define three tiling modes, which
> > is bad practice because it allows representing an invalid mode.  In
> > order to simplify this, convert these two booleans into one
> > enumeration with three possible tiling modes.
> > 
> > Additionally, introduce the concept of Y "family" of tiling, which
> > groups Y, Yf and 4 tiling, since they're effectively treated in the
> > same way in the watermark calculations.  Describe the grouping in the
> > enumeration definition.
> > 
> > Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/skl_watermark.c | 35 ++++++++++++++------
> >  1 file changed, 24 insertions(+), 11 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> > index 0ce3420a919e..dd4bed02c3c0 100644
> > --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> > +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> > @@ -53,9 +53,16 @@ struct intel_dbuf_state {
> >  #define intel_atomic_get_new_dbuf_state(state) \
> >  	to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state, &to_intel_display(state)->dbuf.obj))
> >  
> > +/* Tiling mode groups relevant to WM calculations */
> > +enum wm_tiling_mode {
> > +	WM_TILING_LINEAR,
> > +	WM_TILING_X_TILED,	/* mostly like linear */
> 
> The _TILED suffix seems redundant here.

Indeed.  I'll remove.  I just wanted to differentiate the actually
tiled ones from linear, but that's moot.


> > +	WM_TILING_Y_FAMILY,	/* includes Y, Yf and 4 tiling */
> 
> I don't really like the "y family" invention. Doesn't really
> unconfuse anything for the reader without going back to have
> a look at the comment.
> 
> I think it would be better to just spell out each tilimg mode.
> So I guess something like "WM_TILING_Y_Yf_4"

Yeah, I wasn't entirely happy with "family", but I really couldn't find
any better term.  My idea was to make it generic enough so we wouldn't
have to add a new tiling to the symbol every time we add something new.
Which is what happened with the "Y_TILED" before, and included also Yf
and 4 without any reference to this in the code.  It confused the crap
out of me.

Anyway, your idea is definitely clearer, so I'll change this.


> > +};
> > +
> >  /* Stores plane specific WM parameters */
> >  struct skl_wm_params {
> > -	bool x_tiled, y_tiled;
> > +	enum wm_tiling_mode tiling;
> 
> That'll now be 4 bytes.
> 
> >  	bool rc_surface;
> >  	bool is_planar;
> 
> and we'll have a two byte hole here.
> 
> >  	u32 width;
>         u8 cpp;
> 
> And there's a 3 byte hole already here after the cpp.
> Should group the u8 with the bools to avoid so many holes.
> 
> We could also shrink y_min_scanlines to a u8 and
> stick it into the last 1 byte hole. That'd shrink the whole
> struct by 4 bytes.
> 
> dbuf_block_size would also fit in a u16, but doesn't look
> like we have any other holes where we could stick it. Hmm,
> actually 'width' could probably also be shrunk to be a u16.
> So could get rid of another 4 bytes here if we really
> wanted to.
> 
> But I suppose all that repacking should be a separate patch...

Okay, I'll move the two remaining bools below the u8, so we fill part
of that existing space.  And I'll add a separate patch to reduce the
y_min_scanlines to u8 and fill the existing hole.

I'll leave the dbuf_block_size and width change out for now.  I think 4
bytes extra saving will not be worth the trouble, but I'll keep this in
mind if I eventually encounter other changes to be made with these
elements.


> > @@ -618,7 +625,8 @@ static unsigned int skl_wm_latency(struct intel_display *display, int level,
> >  	     display->platform.cometlake) && skl_watermark_ipc_enabled(display))
> >  		latency += 4;
> >  
> > -	if (skl_needs_memory_bw_wa(display) && wp && wp->x_tiled)
> > +	if (skl_needs_memory_bw_wa(display) &&
> > +	    wp && wp->tiling == WM_TILING_X_TILED)
> >  		latency += 15;
> >  
> >  	return latency;
> > @@ -1674,9 +1682,14 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
> >  		return -EINVAL;
> >  	}
> >  
> > -	wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED;
> > -	wp->y_tiled = modifier != I915_FORMAT_MOD_X_TILED &&
> > -		intel_fb_is_tiled_modifier(modifier);
> > +	if (modifier == I915_FORMAT_MOD_X_TILED)
> > +		wp->tiling = WM_TILING_X_TILED;
> > +	else if (modifier != I915_FORMAT_MOD_X_TILED &&
> 
> The modifier check here is redundant with the if-else construct.

Indeed.


> > +		 intel_fb_is_tiled_modifier(modifier))
> > +		wp->tiling = WM_TILING_Y_FAMILY;
> > +	else
> > +		wp->tiling = WM_TILING_LINEAR;
> 
> In fact we can avoid the entire intel_fb_is_tiled_modifier()
> call with something like:
> 
> if (mod == LINEAR)
> 	tiling = LINEAR;
> else if (mod == X)
> 	tiling = X;
> else
> 	tiling = Y_Yf_4;

Nice, I'll change it.


> The wm code always pops up fairly high in cpu profiles, so
> anything that makes it lighter is worth considering.

Oh, that's good to know.  But this is not happening in the "datapath",
but during modesets, right? Do the modesets really take so long and
happen so often so that avoiding a CPU cycles makes much difference?

--
Cheers,
Luca.

> > +
> >  	wp->rc_surface = intel_fb_is_ccs_modifier(modifier);
> >  	wp->is_planar = intel_format_info_is_yuv_semiplanar(format, modifier);
> >  
> > @@ -1716,7 +1729,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
> >  		wp->y_min_scanlines *= 2;
> >  
> >  	wp->plane_bytes_per_line = wp->width * wp->cpp;
> > -	if (wp->y_tiled) {
> > +	if (wp->tiling == WM_TILING_Y_FAMILY) {
> >  		interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line *
> >  					   wp->y_min_scanlines,
> >  					   wp->dbuf_block_size);
> > @@ -1732,7 +1745,7 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
> >  		interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line,
> >  					   wp->dbuf_block_size);
> >  
> > -		if (!wp->x_tiled || DISPLAY_VER(display) >= 10)
> > +		if (wp->tiling != WM_TILING_X_TILED || DISPLAY_VER(display) >= 10)
> >  			interm_pbpl++;
> >  
> >  		wp->plane_blocks_per_line = u32_to_fixed16(interm_pbpl);
> > @@ -1820,7 +1833,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
> >  				 latency,
> >  				 wp->plane_blocks_per_line);
> >  
> > -	if (wp->y_tiled) {
> > +	if (wp->tiling == WM_TILING_Y_FAMILY) {
> >  		selected_result = max_fixed16(method2, wp->y_tile_minimum);
> >  	} else {
> >  		if ((wp->cpp * crtc_state->hw.pipe_mode.crtc_htotal /
> > @@ -1870,7 +1883,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
> >  
> >  		/* Display WA #1126: skl,bxt,kbl */
> >  		if (level >= 1 && level <= 7) {
> > -			if (wp->y_tiled) {
> > +			if (wp->tiling == WM_TILING_Y_FAMILY) {
> >  				blocks += fixed16_to_u32_round_up(wp->y_tile_minimum);
> >  				lines += wp->y_min_scanlines;
> >  			} else {
> > @@ -1889,7 +1902,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
> >  	}
> >  
> >  	if (DISPLAY_VER(display) >= 11) {
> > -		if (wp->y_tiled) {
> > +		if (wp->tiling == WM_TILING_Y_FAMILY) {
> >  			int extra_lines;
> >  
> >  			if (lines % wp->y_min_scanlines == 0)
> > @@ -2015,7 +2028,7 @@ static void skl_compute_transition_wm(struct intel_display *display,
> >  	 */
> >  	wm0_blocks = wm0->blocks - 1;
> >  
> > -	if (wp->y_tiled) {
> > +	if (wp->tiling == WM_TILING_Y_FAMILY) {
> >  		trans_y_tile_min =
> >  			(u16)mul_round_up_u32_fixed16(2, wp->y_tile_minimum);
> >  		blocks = max(wm0_blocks, trans_y_tile_min) + trans_offset;
> > -- 
> > 2.50.1

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

* Re: [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum
  2025-09-22 12:38     ` Luca Coelho
@ 2025-09-22 12:48       ` Ville Syrjälä
  0 siblings, 0 replies; 22+ messages in thread
From: Ville Syrjälä @ 2025-09-22 12:48 UTC (permalink / raw)
  To: Luca Coelho; +Cc: Luca Coelho, intel-gfx

On Mon, Sep 22, 2025 at 03:38:46PM +0300, Luca Coelho wrote:
> On Fri, 2025-09-19 at 11:36 +0300, Ville Syrjälä wrote:
> > On Mon, Sep 08, 2025 at 10:35:33AM +0300, Luca Coelho wrote:
> > > There are currently two booleans to define three tiling modes, which
> > > is bad practice because it allows representing an invalid mode.  In
> > > order to simplify this, convert these two booleans into one
> > > enumeration with three possible tiling modes.
> > > 
> > > Additionally, introduce the concept of Y "family" of tiling, which
> > > groups Y, Yf and 4 tiling, since they're effectively treated in the
> > > same way in the watermark calculations.  Describe the grouping in the
> > > enumeration definition.
> > > 
> > > Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/skl_watermark.c | 35 ++++++++++++++------
> > >  1 file changed, 24 insertions(+), 11 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> > > index 0ce3420a919e..dd4bed02c3c0 100644
> > > --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> > > +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> > > @@ -53,9 +53,16 @@ struct intel_dbuf_state {
> > >  #define intel_atomic_get_new_dbuf_state(state) \
> > >  	to_intel_dbuf_state(intel_atomic_get_new_global_obj_state(state, &to_intel_display(state)->dbuf.obj))
> > >  
> > > +/* Tiling mode groups relevant to WM calculations */
> > > +enum wm_tiling_mode {
> > > +	WM_TILING_LINEAR,
> > > +	WM_TILING_X_TILED,	/* mostly like linear */
> > 
> > The _TILED suffix seems redundant here.
> 
> Indeed.  I'll remove.  I just wanted to differentiate the actually
> tiled ones from linear, but that's moot.
> 
> 
> > > +	WM_TILING_Y_FAMILY,	/* includes Y, Yf and 4 tiling */
> > 
> > I don't really like the "y family" invention. Doesn't really
> > unconfuse anything for the reader without going back to have
> > a look at the comment.
> > 
> > I think it would be better to just spell out each tilimg mode.
> > So I guess something like "WM_TILING_Y_Yf_4"
> 
> Yeah, I wasn't entirely happy with "family", but I really couldn't find
> any better term.  My idea was to make it generic enough so we wouldn't
> have to add a new tiling to the symbol every time we add something new.
> Which is what happened with the "Y_TILED" before, and included also Yf
> and 4 without any reference to this in the code.  It confused the crap
> out of me.
> 
> Anyway, your idea is definitely clearer, so I'll change this.
> 
> 
> > > +};
> > > +
> > >  /* Stores plane specific WM parameters */
> > >  struct skl_wm_params {
> > > -	bool x_tiled, y_tiled;
> > > +	enum wm_tiling_mode tiling;
> > 
> > That'll now be 4 bytes.
> > 
> > >  	bool rc_surface;
> > >  	bool is_planar;
> > 
> > and we'll have a two byte hole here.
> > 
> > >  	u32 width;
> >         u8 cpp;
> > 
> > And there's a 3 byte hole already here after the cpp.
> > Should group the u8 with the bools to avoid so many holes.
> > 
> > We could also shrink y_min_scanlines to a u8 and
> > stick it into the last 1 byte hole. That'd shrink the whole
> > struct by 4 bytes.
> > 
> > dbuf_block_size would also fit in a u16, but doesn't look
> > like we have any other holes where we could stick it. Hmm,
> > actually 'width' could probably also be shrunk to be a u16.
> > So could get rid of another 4 bytes here if we really
> > wanted to.
> > 
> > But I suppose all that repacking should be a separate patch...
> 
> Okay, I'll move the two remaining bools below the u8, so we fill part
> of that existing space.  And I'll add a separate patch to reduce the
> y_min_scanlines to u8 and fill the existing hole.
> 
> I'll leave the dbuf_block_size and width change out for now.  I think 4
> bytes extra saving will not be worth the trouble, but I'll keep this in
> mind if I eventually encounter other changes to be made with these
> elements.
> 
> 
> > > @@ -618,7 +625,8 @@ static unsigned int skl_wm_latency(struct intel_display *display, int level,
> > >  	     display->platform.cometlake) && skl_watermark_ipc_enabled(display))
> > >  		latency += 4;
> > >  
> > > -	if (skl_needs_memory_bw_wa(display) && wp && wp->x_tiled)
> > > +	if (skl_needs_memory_bw_wa(display) &&
> > > +	    wp && wp->tiling == WM_TILING_X_TILED)
> > >  		latency += 15;
> > >  
> > >  	return latency;
> > > @@ -1674,9 +1682,14 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
> > >  		return -EINVAL;
> > >  	}
> > >  
> > > -	wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED;
> > > -	wp->y_tiled = modifier != I915_FORMAT_MOD_X_TILED &&
> > > -		intel_fb_is_tiled_modifier(modifier);
> > > +	if (modifier == I915_FORMAT_MOD_X_TILED)
> > > +		wp->tiling = WM_TILING_X_TILED;
> > > +	else if (modifier != I915_FORMAT_MOD_X_TILED &&
> > 
> > The modifier check here is redundant with the if-else construct.
> 
> Indeed.
> 
> 
> > > +		 intel_fb_is_tiled_modifier(modifier))
> > > +		wp->tiling = WM_TILING_Y_FAMILY;
> > > +	else
> > > +		wp->tiling = WM_TILING_LINEAR;
> > 
> > In fact we can avoid the entire intel_fb_is_tiled_modifier()
> > call with something like:
> > 
> > if (mod == LINEAR)
> > 	tiling = LINEAR;
> > else if (mod == X)
> > 	tiling = X;
> > else
> > 	tiling = Y_Yf_4;
> 
> Nice, I'll change it.
> 
> 
> > The wm code always pops up fairly high in cpu profiles, so
> > anything that makes it lighter is worth considering.
> 
> Oh, that's good to know.  But this is not happening in the "datapath",
> but during modesets, right? Do the modesets really take so long and
> happen so often so that avoiding a CPU cycles makes much difference?

This happens on every flip. While not a big deal perhaps for sync
flips @60Hz, but with async flips and/or high refresh rates it
starts to matter more.

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 6/6] drm/i915/wm: move method selection and calculation to a separate function
  2025-09-19 18:00   ` Ville Syrjälä
@ 2025-09-29  7:21     ` Luca Coelho
  0 siblings, 0 replies; 22+ messages in thread
From: Luca Coelho @ 2025-09-29  7:21 UTC (permalink / raw)
  To: Ville Syrjälä, Luca Coelho; +Cc: intel-gfx

On Fri, 2025-09-19 at 21:00 +0300, Ville Syrjälä wrote:
> On Mon, Sep 08, 2025 at 10:35:35AM +0300, Luca Coelho wrote:
> > Isolate the code that handles method selection and calculation, so
> > skl_compute_plane_wm() doesn't get too long.
> > 
> > Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/skl_watermark.c | 51 ++++++++++++--------
> >  1 file changed, 31 insertions(+), 20 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> > index 21f8d52ec1d2..33853a18ee9c 100644
> > --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> > +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> > @@ -1806,25 +1806,14 @@ static bool xe3_auto_min_alloc_capable(struct intel_plane *plane, int level)
> >  	return DISPLAY_VER(display) >= 30 && level == 0 && plane->id != PLANE_CURSOR;
> >  }
> >  
> > -static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
> > -				 struct intel_plane *plane,
> > -				 int level,
> > -				 unsigned int latency,
> > -				 const struct skl_wm_params *wp,
> > -				 const struct skl_wm_level *result_prev,
> > -				 struct skl_wm_level *result /* out */)
> > +static uint_fixed_16_16_t
> > +skl_wm_run_method(struct intel_display *display,
> 
> I was confused what a "run method" is, but I guess "run" is supposed
> to be a verb here.
> 
> However this thing does a lot more than "run a method", so I don't
> really like this.
> 
> I susepct it would make more sense to carve up skl_compute_plane_wm()
> into several smaller (possibly platform dependent) pieces. Eg.
> the result selection part seems like one thing that could extracted
> into a small function. The min_ddb_alloc calculation would be another
> clear piece that can be extracted.

Okay, I hear you.  I was not happy at all with "run method" either, but
couldn't find anything better.  I tried to isolate the method selection
and execution, but "skl_wm_select_and_run_method()" would be too long.

In some of my later draft patches on top of this, I'm moving platform
dependent parts into their own functions.  The step in this patch is
"carve out for further processing".

Method 1 is rarely needed nowadays, so skipping the calculation could
improve performance in critical paths.

If you think this doesn't have any performance impact or other issue,
it would be nice to merge it as is, so I can continue carving, trimming
and sorting this whole thing out.  What do you think?

--
Cheers,
Luca.

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

end of thread, other threads:[~2025-09-29  7:22 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-08  7:35 [PATCH 0/6] drm/i915/wm: some clean-ups and a bit of refactoring Luca Coelho
2025-09-08  7:35 ` [PATCH 1/6] drm/i915/wm: clarify watermark ops with comments Luca Coelho
2025-09-16  8:52   ` Govindapillai, Vinod
2025-09-22 10:26     ` Luca Coelho
2025-09-08  7:35 ` [PATCH 2/6] drm/i915/wm: move intel_sagv_init() to avoid forward declaration Luca Coelho
2025-09-16  8:53   ` Govindapillai, Vinod
2025-09-08  7:35 ` [PATCH 3/6] drm/i915/wm: remove stale FIXME in skl_needs_memory_bw_wa() Luca Coelho
2025-09-16  9:21   ` Govindapillai, Vinod
2025-09-08  7:35 ` [PATCH 4/6] drm/i915/wm: convert x/y-tiling bools to an enum Luca Coelho
2025-09-08 12:43   ` Gustavo Sousa
2025-09-08 12:53     ` Luca Coelho
2025-09-19  8:36   ` Ville Syrjälä
2025-09-22 12:38     ` Luca Coelho
2025-09-22 12:48       ` Ville Syrjälä
2025-09-08  7:35 ` [PATCH 5/6] drm/i915/wm: convert tiling mode check in slk_compute_plane_wm() to a switch-case Luca Coelho
2025-09-08 12:51   ` Gustavo Sousa
2025-09-08 12:57     ` Luca Coelho
2025-09-08  7:35 ` [PATCH 6/6] drm/i915/wm: move method selection and calculation to a separate function Luca Coelho
2025-09-19 18:00   ` Ville Syrjälä
2025-09-29  7:21     ` Luca Coelho
2025-09-08 17:20 ` ✓ i915.CI.BAT: success for drm/i915/wm: some clean-ups and a bit of refactoring Patchwork
2025-09-09  2:47 ` ✗ i915.CI.Full: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.