public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH v2 00/10] drm/i915: casf & scaler refactoring
@ 2026-04-11 17:45 Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 01/10] drm/i915/casf: fix comment typos Michał Grzelak
                   ` (11 more replies)
  0 siblings, 12 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

Next version of [1]. This series doesn't unify casf with nearest
neighbor filter code.

Changelog:
v1->v2
- rename intel_casf_scaler_compute_coef()
- check if any scaler was found (Ville)
- apply the rename to nearest neighbor filter (Ville)

BR,
Michał

[1] https://lore.kernel.org/intel-gfx/20260328143212.601656-1-michal.grzelak@intel.com/


Michał Grzelak (10):
  drm/i915/casf: fix comment typos
  drm/i915/casf: rename *_coeff*() into *_coef*()
  drm/i915: rename t into tap
  drm/i915/casf: rename sumcoeff into sum_coeff
  drm/i915/scaler: s/i/scaler_id where appropriate
  drm/i915/scaler: remove id in favor of scaler_id
  drm/i915/scaler: unloop scaler readout that is run once
  drm/i915/scaler: invert loop's breaking logic
  drm/i915/scaler: abstract scaler searching loop
  drm/i915/scaler: eliminate dead code

 drivers/gpu/drm/i915/display/intel_casf.c | 32 +++++-----
 drivers/gpu/drm/i915/display/skl_scaler.c | 74 ++++++++++++-----------
 2 files changed, 55 insertions(+), 51 deletions(-)

-- 
2.45.2


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

* [PATCH v2 01/10] drm/i915/casf: fix comment typos
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 02/10] drm/i915/casf: rename *_coeff*() into *_coef*() Michał Grzelak
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

Remove superfluous whitespace character and fix the spelling.

Cc: Nemesa Garg <nemesa.garg@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/intel_casf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_casf.c b/drivers/gpu/drm/i915/display/intel_casf.c
index c2d2746c5f041..9a306aee21994 100644
--- a/drivers/gpu/drm/i915/display/intel_casf.c
+++ b/drivers/gpu/drm/i915/display/intel_casf.c
@@ -162,7 +162,7 @@ static u32 casf_coeff(const struct intel_crtc_state *crtc_state, int t)
 
 /*
  * 17 phase of 7 taps requires 119 coefficients in 60 dwords per set.
- * To enable casf:  program scaler coefficients with the coeffients
+ * To enable casf: program scaler coefficients with the coefficients
  * that are calculated and stored in pch_pfit.casf.coeff as per
  * SCALER_COEFFICIENT_FORMAT
  */
-- 
2.45.2


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

* [PATCH v2 02/10] drm/i915/casf: rename *_coeff*() into *_coef*()
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 01/10] drm/i915/casf: fix comment typos Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-12 21:49   ` Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 03/10] drm/i915: rename t into tap Michał Grzelak
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

Stick to the notion of already used *_coeff*() instead of *_coef*().
Rename that way convert_sharpness_coef_binary() and
intel_casf_scaler_compute_coef().

v1->v2
- rename intel_casf_scaler_compute_coef()

Cc: Nemesa Garg <nemesa.garg@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/intel_casf.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_casf.c b/drivers/gpu/drm/i915/display/intel_casf.c
index 9a306aee21994..c4fabffa369e3 100644
--- a/drivers/gpu/drm/i915/display/intel_casf.c
+++ b/drivers/gpu/drm/i915/display/intel_casf.c
@@ -88,7 +88,7 @@ static void intel_casf_compute_win_size(struct intel_crtc_state *crtc_state)
 		crtc_state->pch_pfit.casf.win_size = SHARPNESS_FILTER_SIZE_7X7;
 }
 
-static void intel_casf_scaler_compute_coef(struct intel_crtc_state *crtc_state);
+static void intel_casf_scaler_compute_coeff(struct intel_crtc_state *crtc_state);
 
 int intel_casf_compute_config(struct intel_crtc_state *crtc_state)
 {
@@ -118,7 +118,7 @@ int intel_casf_compute_config(struct intel_crtc_state *crtc_state)
 
 	intel_casf_compute_win_size(crtc_state);
 
-	intel_casf_scaler_compute_coef(crtc_state);
+	intel_casf_scaler_compute_coeff(crtc_state);
 
 	return 0;
 }
@@ -196,7 +196,7 @@ static void intel_casf_write_coeff(const struct intel_crtc_state *crtc_state)
 	}
 }
 
-static void convert_sharpness_coef_binary(struct scaler_filter_coeff *coeff,
+static void convert_sharpness_coeff_binary(struct scaler_filter_coeff *coeff,
 					  u16 coefficient)
 {
 	if (coefficient < 25) {
@@ -214,7 +214,7 @@ static void convert_sharpness_coef_binary(struct scaler_filter_coeff *coeff,
 	}
 }
 
-static void intel_casf_scaler_compute_coef(struct intel_crtc_state *crtc_state)
+static void intel_casf_scaler_compute_coeff(struct intel_crtc_state *crtc_state)
 {
 	const u16 *filtercoeff;
 	u16 filter_coeff[SCALER_FILTER_NUM_TAPS];
@@ -233,7 +233,7 @@ static void intel_casf_scaler_compute_coef(struct intel_crtc_state *crtc_state)
 
 	for (i = 0; i < SCALER_FILTER_NUM_TAPS; i++) {
 		filter_coeff[i] = (*(filtercoeff + i) * 100 / sumcoeff);
-		convert_sharpness_coef_binary(&crtc_state->pch_pfit.casf.coeff[i],
+		convert_sharpness_coeff_binary(&crtc_state->pch_pfit.casf.coeff[i],
 					      filter_coeff[i]);
 	}
 }
-- 
2.45.2


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

* [PATCH v2 03/10] drm/i915: rename t into tap
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 01/10] drm/i915/casf: fix comment typos Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 02/10] drm/i915/casf: rename *_coeff*() into *_coef*() Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 04/10] drm/i915/casf: rename sumcoeff into sum_coeff Michał Grzelak
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

Add more description to the casf_coeff()'s argument and
casf_coeff_tap()'s returned value.

Do the same for glk_nearest_filter_coef().

v1->v2
- apply the rename to nearest neighbor filter (Ville)

Cc: Nemesa Garg <nemesa.garg@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/intel_casf.c | 14 +++++++-------
 drivers/gpu/drm/i915/display/skl_scaler.c | 14 +++++++-------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_casf.c b/drivers/gpu/drm/i915/display/intel_casf.c
index c4fabffa369e3..b9643548d1822 100644
--- a/drivers/gpu/drm/i915/display/intel_casf.c
+++ b/drivers/gpu/drm/i915/display/intel_casf.c
@@ -148,12 +148,12 @@ static int casf_coeff_tap(int i)
 	return i % SCALER_FILTER_NUM_TAPS;
 }
 
-static u32 casf_coeff(const struct intel_crtc_state *crtc_state, int t)
+static u32 casf_coeff(const struct intel_crtc_state *crtc_state, int tap)
 {
 	struct scaler_filter_coeff value;
 	u32 coeff;
 
-	value = crtc_state->pch_pfit.casf.coeff[t];
+	value = crtc_state->pch_pfit.casf.coeff[tap];
 	value.sign = 0;
 
 	coeff = value.sign << 15 | value.exp << 12 | value.mantissa << 3;
@@ -183,13 +183,13 @@ static void intel_casf_write_coeff(const struct intel_crtc_state *crtc_state)
 
 	for (i = 0; i < 17 * SCALER_FILTER_NUM_TAPS; i += 2) {
 		u32 tmp;
-		int t;
+		int tap;
 
-		t = casf_coeff_tap(i);
-		tmp = casf_coeff(crtc_state, t);
+		tap = casf_coeff_tap(i);
+		tmp = casf_coeff(crtc_state, tap);
 
-		t = casf_coeff_tap(i + 1);
-		tmp |= casf_coeff(crtc_state, t) << 16;
+		tap = casf_coeff_tap(i + 1);
+		tmp |= casf_coeff(crtc_state, tap) << 16;
 
 		intel_de_write_fw(display, GLK_PS_COEF_DATA_SET(crtc->pipe, id, 0),
 				  tmp);
diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c
index 308b8d363bba0..eceda1a909ccd 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -661,9 +661,9 @@ static int glk_coef_tap(int i)
 	return i % 7;
 }
 
-static u16 glk_nearest_filter_coef(int t)
+static u16 glk_nearest_filter_coef(int tap)
 {
-	return t == 3 ? 0x0800 : 0x3000;
+	return tap == 3 ? 0x0800 : 0x3000;
 }
 
 /*
@@ -715,13 +715,13 @@ static void glk_program_nearest_filter_coefs(struct intel_display *display,
 
 	for (i = 0; i < 17 * 7; i += 2) {
 		u32 tmp;
-		int t;
+		int tap;
 
-		t = glk_coef_tap(i);
-		tmp = glk_nearest_filter_coef(t);
+		tap = glk_coef_tap(i);
+		tmp = glk_nearest_filter_coef(tap);
 
-		t = glk_coef_tap(i + 1);
-		tmp |= glk_nearest_filter_coef(t) << 16;
+		tap = glk_coef_tap(i + 1);
+		tmp |= glk_nearest_filter_coef(tap) << 16;
 
 		intel_de_write_dsb(display, dsb,
 				   GLK_PS_COEF_DATA_SET(pipe, id, set), tmp);
-- 
2.45.2


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

* [PATCH v2 04/10] drm/i915/casf: rename sumcoeff into sum_coeff
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (2 preceding siblings ...)
  2026-04-11 17:45 ` [PATCH v2 03/10] drm/i915: rename t into tap Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 05/10] drm/i915/scaler: s/i/scaler_id where appropriate Michał Grzelak
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

Stick to using snake_case in intel_casf_scaler_compute_coeff() where
it is possible.

Cc: Nemesa Garg <nemesa.garg@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/intel_casf.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_casf.c b/drivers/gpu/drm/i915/display/intel_casf.c
index b9643548d1822..cafd21a036320 100644
--- a/drivers/gpu/drm/i915/display/intel_casf.c
+++ b/drivers/gpu/drm/i915/display/intel_casf.c
@@ -218,7 +218,7 @@ static void intel_casf_scaler_compute_coeff(struct intel_crtc_state *crtc_state)
 {
 	const u16 *filtercoeff;
 	u16 filter_coeff[SCALER_FILTER_NUM_TAPS];
-	u16 sumcoeff = 0;
+	u16 sum_coeff = 0;
 	int i;
 
 	if (crtc_state->pch_pfit.casf.win_size == 0)
@@ -229,10 +229,10 @@ static void intel_casf_scaler_compute_coeff(struct intel_crtc_state *crtc_state)
 		filtercoeff = filtercoeff_3;
 
 	for (i = 0; i < SCALER_FILTER_NUM_TAPS; i++)
-		sumcoeff += *(filtercoeff + i);
+		sum_coeff += *(filtercoeff + i);
 
 	for (i = 0; i < SCALER_FILTER_NUM_TAPS; i++) {
-		filter_coeff[i] = (*(filtercoeff + i) * 100 / sumcoeff);
+		filter_coeff[i] = (*(filtercoeff + i) * 100 / sum_coeff);
 		convert_sharpness_coeff_binary(&crtc_state->pch_pfit.casf.coeff[i],
 					      filter_coeff[i]);
 	}
-- 
2.45.2


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

* [PATCH v2 05/10] drm/i915/scaler: s/i/scaler_id where appropriate
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (3 preceding siblings ...)
  2026-04-11 17:45 ` [PATCH v2 04/10] drm/i915/casf: rename sumcoeff into sum_coeff Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 06/10] drm/i915/scaler: remove id in favor of scaler_id Michał Grzelak
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

Switch from generic iterator naming into more specific scaler_id where
it is possible.

Cc: Nemesa Garg <nemesa.garg@intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/skl_scaler.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c
index eceda1a909ccd..d15e0194ca107 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -950,26 +950,26 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 	struct intel_display *display = to_intel_display(crtc_state);
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
 	struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state;
+	int scaler_id;
 	int id = -1;
-	int i;
 
 	/* find scaler attached to this pipe */
-	for (i = 0; i < crtc->num_scalers; i++) {
+	for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
 		u32 ctl, pos, size;
 
-		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, i));
+		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
 		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) != (PS_SCALER_EN | PS_BINDING_PIPE))
 			continue;
 
-		id = i;
+		id = scaler_id;
 
-		if (scaler_has_casf(display, i))
+		if (scaler_has_casf(display, scaler_id))
 			intel_casf_sharpness_get_config(crtc_state);
 
 		crtc_state->pch_pfit.enabled = true;
 
-		pos = intel_de_read(display, SKL_PS_WIN_POS(crtc->pipe, i));
-		size = intel_de_read(display, SKL_PS_WIN_SZ(crtc->pipe, i));
+		pos = intel_de_read(display, SKL_PS_WIN_POS(crtc->pipe, scaler_id));
+		size = intel_de_read(display, SKL_PS_WIN_SZ(crtc->pipe, scaler_id));
 
 		drm_rect_init(&crtc_state->pch_pfit.dst,
 			      REG_FIELD_GET(PS_WIN_XPOS_MASK, pos),
@@ -977,7 +977,7 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 			      REG_FIELD_GET(PS_WIN_XSIZE_MASK, size),
 			      REG_FIELD_GET(PS_WIN_YSIZE_MASK, size));
 
-		scaler_state->scalers[i].in_use = true;
+		scaler_state->scalers[scaler_id].in_use = true;
 		break;
 	}
 
-- 
2.45.2


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

* [PATCH v2 06/10] drm/i915/scaler: remove id in favor of scaler_id
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (4 preceding siblings ...)
  2026-04-11 17:45 ` [PATCH v2 05/10] drm/i915/scaler: s/i/scaler_id where appropriate Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run once Michał Grzelak
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

id is not really used anywhere in skl_scaler_get_config(). Replace it
with scaler_id.

Return if no scaler was found.

v1->v2
- check if any scaler was found (Ville)

Cc: Nemesa Garg <nemesa.garg@intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/skl_scaler.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c
index d15e0194ca107..6d9080ec74ce0 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -951,7 +951,6 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
 	struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state;
 	int scaler_id;
-	int id = -1;
 
 	/* find scaler attached to this pipe */
 	for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
@@ -961,8 +960,6 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) != (PS_SCALER_EN | PS_BINDING_PIPE))
 			continue;
 
-		id = scaler_id;
-
 		if (scaler_has_casf(display, scaler_id))
 			intel_casf_sharpness_get_config(crtc_state);
 
@@ -981,8 +978,11 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 		break;
 	}
 
-	scaler_state->scaler_id = id;
-	if (id >= 0)
+	if (scaler_id == crtc->num_scalers)
+		return;
+
+	scaler_state->scaler_id = scaler_id;
+	if (scaler_id >= 0)
 		scaler_state->scaler_users |= (1 << SKL_CRTC_INDEX);
 	else
 		scaler_state->scaler_users &= ~(1 << SKL_CRTC_INDEX);
-- 
2.45.2


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

* [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run once
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (5 preceding siblings ...)
  2026-04-11 17:45 ` [PATCH v2 06/10] drm/i915/scaler: remove id in favor of scaler_id Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-14  8:01   ` Garg, Nemesa
  2026-04-11 17:45 ` [PATCH v2 08/10] drm/i915/scaler: invert loop's breaking logic Michał Grzelak
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

Most of the loop's code is run once because of the continue statement at
it's start and break statement at it's end. Kick it out of the loop.

Cc: Nemesa Garg <nemesa.garg@intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/skl_scaler.c | 34 ++++++++++++-----------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c
index 6d9080ec74ce0..e71d9c036a1e7 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -951,36 +951,38 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
 	struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state;
 	int scaler_id;
+	u32 pos, size;
 
 	/* find scaler attached to this pipe */
 	for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
-		u32 ctl, pos, size;
+		u32 ctl;
 
 		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
 		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) != (PS_SCALER_EN | PS_BINDING_PIPE))
 			continue;
 
-		if (scaler_has_casf(display, scaler_id))
-			intel_casf_sharpness_get_config(crtc_state);
-
-		crtc_state->pch_pfit.enabled = true;
-
-		pos = intel_de_read(display, SKL_PS_WIN_POS(crtc->pipe, scaler_id));
-		size = intel_de_read(display, SKL_PS_WIN_SZ(crtc->pipe, scaler_id));
-
-		drm_rect_init(&crtc_state->pch_pfit.dst,
-			      REG_FIELD_GET(PS_WIN_XPOS_MASK, pos),
-			      REG_FIELD_GET(PS_WIN_YPOS_MASK, pos),
-			      REG_FIELD_GET(PS_WIN_XSIZE_MASK, size),
-			      REG_FIELD_GET(PS_WIN_YSIZE_MASK, size));
-
-		scaler_state->scalers[scaler_id].in_use = true;
 		break;
 	}
 
 	if (scaler_id == crtc->num_scalers)
 		return;
 
+	if (scaler_has_casf(display, scaler_id))
+		intel_casf_sharpness_get_config(crtc_state);
+
+	crtc_state->pch_pfit.enabled = true;
+
+	pos = intel_de_read(display, SKL_PS_WIN_POS(crtc->pipe, scaler_id));
+	size = intel_de_read(display, SKL_PS_WIN_SZ(crtc->pipe, scaler_id));
+
+	drm_rect_init(&crtc_state->pch_pfit.dst,
+		      REG_FIELD_GET(PS_WIN_XPOS_MASK, pos),
+		      REG_FIELD_GET(PS_WIN_YPOS_MASK, pos),
+		      REG_FIELD_GET(PS_WIN_XSIZE_MASK, size),
+		      REG_FIELD_GET(PS_WIN_YSIZE_MASK, size));
+
+	scaler_state->scalers[scaler_id].in_use = true;
+
 	scaler_state->scaler_id = scaler_id;
 	if (scaler_id >= 0)
 		scaler_state->scaler_users |= (1 << SKL_CRTC_INDEX);
-- 
2.45.2


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

* [PATCH v2 08/10] drm/i915/scaler: invert loop's breaking logic
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (6 preceding siblings ...)
  2026-04-11 17:45 ` [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run once Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-11 17:45 ` [PATCH v2 09/10] drm/i915/scaler: abstract scaler searching loop Michał Grzelak
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

skl_scaler_get_config()'s loop is skipped when specified condition is
met and broken when the condition is not met. Equivalently, invert the
condition and break the loop.

Cc: Nemesa Garg <nemesa.garg@intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/skl_scaler.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c
index e71d9c036a1e7..4e2f4c4ffc45a 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -958,10 +958,8 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 		u32 ctl;
 
 		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
-		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) != (PS_SCALER_EN | PS_BINDING_PIPE))
-			continue;
-
-		break;
+		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) == (PS_SCALER_EN | PS_BINDING_PIPE))
+			break;
 	}
 
 	if (scaler_id == crtc->num_scalers)
-- 
2.45.2


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

* [PATCH v2 09/10] drm/i915/scaler: abstract scaler searching loop
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (7 preceding siblings ...)
  2026-04-11 17:45 ` [PATCH v2 08/10] drm/i915/scaler: invert loop's breaking logic Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-13 12:45   ` Ville Syrjälä
  2026-04-11 17:45 ` [PATCH v2 10/10] drm/i915/scaler: eliminate dead code Michał Grzelak
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

Add a helper function hiding the search for scaler_id.

Cc: Nemesa Garg <nemesa.garg@intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/skl_scaler.c | 29 ++++++++++++++---------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c
index 4e2f4c4ffc45a..1f47c5fc1802f 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -836,6 +836,21 @@ void skl_pfit_enable(const struct intel_crtc_state *crtc_state)
 			  PS_WIN_XSIZE(width) | PS_WIN_YSIZE(height));
 }
 
+static int skl_pipe_scaler_get_hw_state(struct intel_crtc_state *crtc_state)
+{
+	struct intel_display *display = to_intel_display(crtc_state);
+	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
+	u32 ctl;
+
+	for (int scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
+		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
+		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) == (PS_SCALER_EN | PS_BINDING_PIPE))
+			return scaler_id;
+	}
+
+	return -1;
+}
+
 void
 skl_program_plane_scaler(struct intel_dsb *dsb,
 			 struct intel_plane *plane,
@@ -950,19 +965,11 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 	struct intel_display *display = to_intel_display(crtc_state);
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
 	struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state;
-	int scaler_id;
-	u32 pos, size;
-
 	/* find scaler attached to this pipe */
-	for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
-		u32 ctl;
-
-		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
-		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) == (PS_SCALER_EN | PS_BINDING_PIPE))
-			break;
-	}
+	int scaler_id = skl_pipe_scaler_get_hw_state(crtc_state);
+	u32 pos, size;
 
-	if (scaler_id == crtc->num_scalers)
+	if (scaler_id < 0)
 		return;
 
 	if (scaler_has_casf(display, scaler_id))
-- 
2.45.2


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

* [PATCH v2 10/10] drm/i915/scaler: eliminate dead code
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (8 preceding siblings ...)
  2026-04-11 17:45 ` [PATCH v2 09/10] drm/i915/scaler: abstract scaler searching loop Michał Grzelak
@ 2026-04-11 17:45 ` Michał Grzelak
  2026-04-11 18:41 ` ✓ i915.CI.BAT: success for drm/i915: casf & scaler refactoring (rev2) Patchwork
  2026-04-11 23:56 ` ✗ i915.CI.Full: failure " Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-11 17:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ville Syrjälä, Nemesa Garg, Michał Grzelak

We short-cut skl_scaler_get_config() when skl_pipe_scaler_get_hw_state()
has failed. Remove codepaths that assume scaler_id < 0.

Cc: Nemesa Garg <nemesa.garg@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
 drivers/gpu/drm/i915/display/skl_scaler.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c
index 1f47c5fc1802f..d789a5ac8bab8 100644
--- a/drivers/gpu/drm/i915/display/skl_scaler.c
+++ b/drivers/gpu/drm/i915/display/skl_scaler.c
@@ -989,10 +989,7 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
 	scaler_state->scalers[scaler_id].in_use = true;
 
 	scaler_state->scaler_id = scaler_id;
-	if (scaler_id >= 0)
-		scaler_state->scaler_users |= (1 << SKL_CRTC_INDEX);
-	else
-		scaler_state->scaler_users &= ~(1 << SKL_CRTC_INDEX);
+	scaler_state->scaler_users |= (1 << SKL_CRTC_INDEX);
 }
 
 void adl_scaler_ecc_mask(const struct intel_crtc_state *crtc_state)
-- 
2.45.2


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

* ✓ i915.CI.BAT: success for drm/i915: casf & scaler refactoring (rev2)
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (9 preceding siblings ...)
  2026-04-11 17:45 ` [PATCH v2 10/10] drm/i915/scaler: eliminate dead code Michał Grzelak
@ 2026-04-11 18:41 ` Patchwork
  2026-04-11 23:56 ` ✗ i915.CI.Full: failure " Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2026-04-11 18:41 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: casf & scaler refactoring (rev2)
URL   : https://patchwork.freedesktop.org/series/164028/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_18315 -> Patchwork_164028v2
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (41 -> 40)
------------------------------

  Additional (1): fi-glk-j4005 
  Missing    (2): bat-dg2-13 fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

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

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

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

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

  
#### Possible fixes ####

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

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

  
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613


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

  * Linux: CI_DRM_18315 -> Patchwork_164028v2

  CI-20190529: 20190529
  CI_DRM_18315: dcbfa16156e0733d93e1039011bcbc28e4f9ee15 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8854: 93abaf0170728f69bc27577e5b405f7a2a01b6fd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_164028v2: dcbfa16156e0733d93e1039011bcbc28e4f9ee15 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

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

* ✗ i915.CI.Full: failure for drm/i915: casf & scaler refactoring (rev2)
  2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
                   ` (10 preceding siblings ...)
  2026-04-11 18:41 ` ✓ i915.CI.BAT: success for drm/i915: casf & scaler refactoring (rev2) Patchwork
@ 2026-04-11 23:56 ` Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2026-04-11 23:56 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: casf & scaler refactoring (rev2)
URL   : https://patchwork.freedesktop.org/series/164028/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_18315_full -> Patchwork_164028v2_full
====================================================

Summary
-------

  **FAILURE**

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

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_big@single:
    - shard-mtlp:         [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-mtlp-1/igt@gem_exec_big@single.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-8/igt@gem_exec_big@single.html

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@gem_bad_reloc@negative-reloc-bltcopy:
    - shard-mtlp:         NOTRUN -> [SKIP][4] ([i915#3281]) +3 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gem_bad_reloc@negative-reloc-bltcopy.html

  * igt@gem_ctx_freq@sysfs:
    - shard-mtlp:         [PASS][5] -> [FAIL][6] ([i915#9561]) +1 other test fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-mtlp-7/igt@gem_ctx_freq@sysfs.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-1/igt@gem_ctx_freq@sysfs.html

  * igt@gem_ctx_persistence@heartbeat-stop:
    - shard-dg2:          NOTRUN -> [SKIP][7] ([i915#8555])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@gem_ctx_persistence@heartbeat-stop.html

  * igt@gem_ctx_persistence@saturated-hostile-nopreempt:
    - shard-dg2:          NOTRUN -> [SKIP][8] ([i915#5882]) +7 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@gem_ctx_persistence@saturated-hostile-nopreempt.html

  * igt@gem_ctx_sseu@engines:
    - shard-rkl:          NOTRUN -> [SKIP][9] ([i915#280])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@gem_ctx_sseu@engines.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-tglu-1:       NOTRUN -> [SKIP][10] ([i915#280])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@gem_ctx_sseu@invalid-args.html
    - shard-mtlp:         NOTRUN -> [SKIP][11] ([i915#280])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-dg2:          NOTRUN -> [SKIP][12] ([i915#280])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_exec_balancer@bonded-semaphore:
    - shard-mtlp:         NOTRUN -> [SKIP][13] ([i915#4812])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gem_exec_balancer@bonded-semaphore.html

  * igt@gem_exec_balancer@bonded-true-hang:
    - shard-dg2:          NOTRUN -> [SKIP][14] ([i915#4812])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@gem_exec_balancer@bonded-true-hang.html

  * igt@gem_exec_balancer@parallel-keep-in-fence:
    - shard-rkl:          NOTRUN -> [SKIP][15] ([i915#14544] / [i915#4525])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@gem_exec_balancer@parallel-keep-in-fence.html

  * igt@gem_exec_balancer@parallel-keep-submit-fence:
    - shard-tglu-1:       NOTRUN -> [SKIP][16] ([i915#4525]) +1 other test skip
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@gem_exec_balancer@parallel-keep-submit-fence.html

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-rkl:          NOTRUN -> [SKIP][17] ([i915#4525])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@gem_exec_balancer@parallel-ordering.html

  * igt@gem_exec_flush@basic-batch-kernel-default-cmd:
    - shard-rkl:          NOTRUN -> [SKIP][18] +3 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html

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

  * igt@gem_exec_reloc@basic-wc-read-active:
    - shard-rkl:          NOTRUN -> [SKIP][20] ([i915#3281])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@gem_exec_reloc@basic-wc-read-active.html

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

  * igt@gem_exec_suspend@basic-s3-devices:
    - shard-rkl:          [PASS][23] -> [ABORT][24] ([i915#15131])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-2/igt@gem_exec_suspend@basic-s3-devices.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-1/igt@gem_exec_suspend@basic-s3-devices.html

  * igt@gem_exec_suspend@basic-s3-devices@smem:
    - shard-rkl:          [PASS][25] -> [ABORT][26] ([i915#15542])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-2/igt@gem_exec_suspend@basic-s3-devices@smem.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-1/igt@gem_exec_suspend@basic-s3-devices@smem.html

  * igt@gem_fenced_exec_thrash@2-spare-fences:
    - shard-dg2:          NOTRUN -> [SKIP][27] ([i915#4860]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@gem_fenced_exec_thrash@2-spare-fences.html

  * igt@gem_lmem_swapping@heavy-verify-random-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][28] ([i915#4613]) +3 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@gem_lmem_swapping@heavy-verify-random-ccs.html

  * igt@gem_lmem_swapping@massive-random:
    - shard-rkl:          NOTRUN -> [SKIP][29] ([i915#4613])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@gem_lmem_swapping@massive-random.html

  * igt@gem_lmem_swapping@parallel-random-verify-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][30] ([i915#4613]) +2 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@gem_lmem_swapping@parallel-random-verify-ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][31] ([i915#4613]) +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gem_lmem_swapping@parallel-random-verify-ccs.html

  * igt@gem_mmap@basic:
    - shard-dg2:          NOTRUN -> [SKIP][32] ([i915#4083]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@gem_mmap@basic.html

  * igt@gem_mmap_gtt@basic-read-write-distinct:
    - shard-mtlp:         NOTRUN -> [SKIP][33] ([i915#4077])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gem_mmap_gtt@basic-read-write-distinct.html

  * igt@gem_pread@snoop:
    - shard-dg2:          NOTRUN -> [SKIP][34] ([i915#3282])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@gem_pread@snoop.html

  * igt@gem_pwrite@basic-random:
    - shard-mtlp:         NOTRUN -> [SKIP][35] ([i915#3282]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gem_pwrite@basic-random.html

  * igt@gem_pxp@hw-rejects-pxp-context:
    - shard-rkl:          NOTRUN -> [SKIP][36] ([i915#13717] / [i915#14544])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@gem_pxp@hw-rejects-pxp-context.html

  * igt@gem_readwrite@beyond-eob:
    - shard-rkl:          NOTRUN -> [SKIP][37] ([i915#3282]) +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@gem_readwrite@beyond-eob.html

  * igt@gem_render_copy@y-tiled-ccs-to-x-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][38] ([i915#8428]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gem_render_copy@y-tiled-ccs-to-x-tiled.html

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

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

  * igt@gem_tiling_max_stride:
    - shard-dg2:          NOTRUN -> [SKIP][41] ([i915#4077]) +2 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@gem_tiling_max_stride.html

  * igt@gem_userptr_blits@invalid-mmap-offset-unsync:
    - shard-dg2:          NOTRUN -> [SKIP][42] ([i915#3297])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html

  * igt@gem_userptr_blits@unsync-overlap:
    - shard-tglu-1:       NOTRUN -> [SKIP][43] ([i915#3297]) +1 other test skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@gem_userptr_blits@unsync-overlap.html
    - shard-mtlp:         NOTRUN -> [SKIP][44] ([i915#3297])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gem_userptr_blits@unsync-overlap.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-glk11:        NOTRUN -> [INCOMPLETE][45] ([i915#13356] / [i915#14586])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk11/igt@gem_workarounds@suspend-resume-fd.html

  * igt@gen7_exec_parse@basic-rejected:
    - shard-mtlp:         NOTRUN -> [SKIP][46] +4 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@gen7_exec_parse@basic-rejected.html

  * igt@gen9_exec_parse@basic-rejected-ctx-param:
    - shard-tglu-1:       NOTRUN -> [SKIP][47] ([i915#2527] / [i915#2856])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@gen9_exec_parse@basic-rejected-ctx-param.html

  * igt@gen9_exec_parse@batch-zero-length:
    - shard-dg2:          NOTRUN -> [SKIP][48] ([i915#2856])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@gen9_exec_parse@batch-zero-length.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-tglu:         NOTRUN -> [SKIP][49] ([i915#2527] / [i915#2856]) +1 other test skip
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@gen9_exec_parse@cmd-crossing-page.html

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

  * igt@i915_drm_fdinfo@virtual-busy-idle:
    - shard-mtlp:         NOTRUN -> [SKIP][51] ([i915#14118])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@i915_drm_fdinfo@virtual-busy-idle.html

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

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

  * igt@i915_pm_rpm@debugfs-forcewake-user:
    - shard-dg1:          [PASS][54] -> [SKIP][55] ([i915#4423])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@i915_pm_rpm@debugfs-forcewake-user.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@i915_pm_rpm@debugfs-forcewake-user.html

  * igt@i915_pm_rpm@system-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][56] ([i915#13356])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk3/igt@i915_pm_rpm@system-suspend.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-glk:          NOTRUN -> [INCOMPLETE][57] ([i915#13356] / [i915#15172])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk8/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@i915_pm_rps@min-max-config-loaded:
    - shard-dg2:          NOTRUN -> [SKIP][58] ([i915#11681] / [i915#6621])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@i915_pm_rps@min-max-config-loaded.html

  * igt@i915_pm_sseu@full-enable:
    - shard-tglu-1:       NOTRUN -> [SKIP][59] ([i915#4387])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@i915_pm_sseu@full-enable.html
    - shard-mtlp:         NOTRUN -> [SKIP][60] ([i915#8437])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@i915_pm_sseu@full-enable.html

  * igt@i915_query@hwconfig_table:
    - shard-tglu:         NOTRUN -> [SKIP][61] ([i915#6245])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@i915_query@hwconfig_table.html

  * igt@i915_selftest@live:
    - shard-dg1:          [PASS][62] -> [DMESG-FAIL][63] ([i915#15560])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@i915_selftest@live.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@i915_selftest@live.html

  * igt@i915_selftest@live@gem_contexts:
    - shard-dg1:          [PASS][64] -> [DMESG-FAIL][65] ([i915#15433])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@i915_selftest@live@gem_contexts.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@i915_selftest@live@gem_contexts.html

  * igt@i915_selftest@live@workarounds:
    - shard-dg2:          [PASS][66] -> [DMESG-FAIL][67] ([i915#12061]) +1 other test dmesg-fail
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg2-6/igt@i915_selftest@live@workarounds.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-1/igt@i915_selftest@live@workarounds.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-dg2:          [PASS][68] -> [ABORT][69] ([i915#15131])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg2-8/igt@i915_suspend@basic-s3-without-i915.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-10/igt@i915_suspend@basic-s3-without-i915.html
    - shard-glk:          NOTRUN -> [INCOMPLETE][70] ([i915#4817])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk5/igt@i915_suspend@basic-s3-without-i915.html

  * igt@i915_suspend@forcewake:
    - shard-rkl:          [PASS][71] -> [INCOMPLETE][72] ([i915#4817]) +1 other test incomplete
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-3/igt@i915_suspend@forcewake.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-3/igt@i915_suspend@forcewake.html
    - shard-glk10:        NOTRUN -> [INCOMPLETE][73] ([i915#4817])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk10/igt@i915_suspend@forcewake.html

  * igt@i915_suspend@sysfs-reader:
    - shard-glk11:        NOTRUN -> [INCOMPLETE][74] ([i915#4817])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk11/igt@i915_suspend@sysfs-reader.html

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

  * igt@kms_async_flips@async-flip-suspend-resume:
    - shard-rkl:          [PASS][76] -> [INCOMPLETE][77] ([i915#12761]) +1 other test incomplete
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-3/igt@kms_async_flips@async-flip-suspend-resume.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_async_flips@async-flip-suspend-resume.html

  * igt@kms_atomic@plane-cursor-legacy:
    - shard-dg1:          [PASS][78] -> [DMESG-WARN][79] ([i915#4423]) +5 other tests dmesg-warn
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@kms_atomic@plane-cursor-legacy.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@kms_atomic@plane-cursor-legacy.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-dg2:          NOTRUN -> [SKIP][80] ([i915#9531])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-tglu:         NOTRUN -> [SKIP][81] ([i915#1769] / [i915#3555])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

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

  * igt@kms_big_fb@4-tiled-8bpp-rotate-0:
    - shard-rkl:          NOTRUN -> [SKIP][83] ([i915#5286]) +1 other test skip
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_big_fb@4-tiled-8bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-180:
    - shard-tglu:         NOTRUN -> [SKIP][84] ([i915#5286]) +2 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][85] ([i915#3638]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][86] +2 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][87] ([i915#4538] / [i915#5190]) +4 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_big_fb@yf-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-dg2:          NOTRUN -> [SKIP][88] ([i915#5190]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][89] ([i915#10307] / [i915#6095]) +76 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-5/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-3.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][90] ([i915#6095]) +43 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-3.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][91] ([i915#12313])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][92] ([i915#12313])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][93] ([i915#6095]) +39 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-2/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][94] ([i915#12313])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][95] ([i915#14544] / [i915#6095]) +1 other test skip
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][96] ([i915#14098] / [i915#14544] / [i915#6095]) +1 other test skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-c-hdmi-a-1:
    - shard-glk11:        NOTRUN -> [SKIP][97] +103 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk11/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1:
    - shard-glk:          NOTRUN -> [SKIP][98] +99 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk3/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][99] ([i915#12805])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][100] ([i915#12805])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][101] ([i915#6095]) +19 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/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-rkl:          NOTRUN -> [SKIP][102] ([i915#12805])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][103] ([i915#14098] / [i915#6095]) +23 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][104] ([i915#10307] / [i915#10434] / [i915#6095]) +3 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][105] ([i915#6095]) +9 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-edp-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-hdmi-a-1:
    - shard-tglu-1:       NOTRUN -> [SKIP][106] ([i915#6095]) +39 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][107] ([i915#12313]) +1 other test skip
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][108] ([i915#6095]) +167 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-13/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-3.html

  * igt@kms_chamelium_color@ctm-blue-to-red:
    - shard-rkl:          NOTRUN -> [SKIP][109] ([i915#14544])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_chamelium_color@ctm-blue-to-red.html

  * igt@kms_chamelium_edid@dp-mode-timings:
    - shard-dg2:          NOTRUN -> [SKIP][110] ([i915#11151] / [i915#7828]) +4 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_chamelium_edid@dp-mode-timings.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][111] ([i915#11151] / [i915#14544] / [i915#7828])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_edid@hdmi-mode-timings:
    - shard-tglu-1:       NOTRUN -> [SKIP][112] ([i915#11151] / [i915#7828]) +3 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_chamelium_edid@hdmi-mode-timings.html
    - shard-mtlp:         NOTRUN -> [SKIP][113] ([i915#11151] / [i915#7828]) +1 other test skip
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_chamelium_edid@hdmi-mode-timings.html

  * igt@kms_chamelium_frames@dp-crc-single:
    - shard-tglu:         NOTRUN -> [SKIP][114] ([i915#11151] / [i915#7828]) +1 other test skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_chamelium_frames@dp-crc-single.html

  * igt@kms_chamelium_frames@hdmi-cmp-planar-formats:
    - shard-rkl:          NOTRUN -> [SKIP][115] ([i915#11151] / [i915#7828]) +2 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html

  * igt@kms_content_protection@content-type-change:
    - shard-mtlp:         NOTRUN -> [SKIP][116] ([i915#15865])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_content_protection@content-type-change.html

  * igt@kms_content_protection@dp-mst-type-1-suspend-resume:
    - shard-tglu:         NOTRUN -> [SKIP][117] ([i915#15330]) +1 other test skip
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html

  * igt@kms_content_protection@legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][118] ([i915#15865]) +1 other test skip
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-0-hdcp14:
    - shard-rkl:          NOTRUN -> [SKIP][119] ([i915#15865])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_content_protection@lic-type-0-hdcp14.html

  * igt@kms_content_protection@uevent-hdcp14:
    - shard-dg2:          NOTRUN -> [SKIP][120] ([i915#15865]) +1 other test skip
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_content_protection@uevent-hdcp14.html

  * igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1:
    - shard-rkl:          [PASS][121] -> [FAIL][122] ([i915#13566]) +2 other tests fail
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-2/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-2/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-random-32x10:
    - shard-dg2:          NOTRUN -> [SKIP][123] ([i915#3555])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_cursor_crc@cursor-random-32x10.html

  * igt@kms_cursor_crc@cursor-random-32x32:
    - shard-rkl:          NOTRUN -> [SKIP][124] ([i915#3555])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_cursor_crc@cursor-random-32x32.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-tglu:         NOTRUN -> [SKIP][125] ([i915#13049]) +1 other test skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-64x21:
    - shard-mtlp:         NOTRUN -> [SKIP][126] ([i915#8814])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_cursor_crc@cursor-rapid-movement-64x21.html

  * igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [FAIL][127] ([i915#13566]) +1 other test fail
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-sliding-512x170:
    - shard-rkl:          NOTRUN -> [SKIP][128] ([i915#13049] / [i915#14544])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-512x170.html

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][129] ([i915#13049])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-tglu-1:       NOTRUN -> [SKIP][130] ([i915#4103])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
    - shard-mtlp:         NOTRUN -> [SKIP][131] ([i915#4213])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-dg2:          NOTRUN -> [SKIP][132] ([i915#13046] / [i915#5354]) +3 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-mtlp:         NOTRUN -> [SKIP][133] ([i915#9809])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-glk:          NOTRUN -> [FAIL][134] ([i915#15804])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

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

  * igt@kms_feature_discovery@display-3x:
    - shard-rkl:          NOTRUN -> [SKIP][136] ([i915#14544] / [i915#1839])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_feature_discovery@display-3x.html

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

  * igt@kms_feature_discovery@psr2:
    - shard-dg2:          NOTRUN -> [SKIP][138] ([i915#658])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-blocking-wf_vblank:
    - shard-dg2:          NOTRUN -> [SKIP][139] ([i915#9934]) +1 other test skip
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_flip@2x-blocking-wf_vblank.html

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

  * igt@kms_flip@2x-flip-vs-modeset:
    - shard-rkl:          NOTRUN -> [SKIP][141] ([i915#14544] / [i915#9934])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_flip@2x-flip-vs-modeset.html

  * igt@kms_flip@2x-flip-vs-rmfb-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][142] ([i915#3637] / [i915#9934]) +2 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html

  * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
    - shard-tglu-1:       NOTRUN -> [SKIP][143] ([i915#3637] / [i915#9934]) +5 other tests skip
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html

  * igt@kms_flip@2x-plain-flip-ts-check-interruptible:
    - shard-tglu:         NOTRUN -> [SKIP][144] ([i915#3637] / [i915#9934]) +1 other test skip
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
    - shard-rkl:          NOTRUN -> [SKIP][145] ([i915#9934])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-mtlp:         NOTRUN -> [SKIP][146] ([i915#15643])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
    - shard-rkl:          NOTRUN -> [SKIP][147] ([i915#15643])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][148] ([i915#3555] / [i915#8810] / [i915#8813]) +1 other test skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling:
    - shard-tglu:         NOTRUN -> [SKIP][149] ([i915#15643])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][150] ([i915#15643]) +1 other test skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html

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

  * igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][152] ([i915#8708]) +5 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw:
    - shard-dg2:          NOTRUN -> [SKIP][153] ([i915#5354]) +7 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][154] ([i915#1825]) +7 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen:
    - shard-tglu-1:       NOTRUN -> [SKIP][155] +28 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-tglu:         NOTRUN -> [SKIP][156] +20 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-4:
    - shard-tglu:         NOTRUN -> [SKIP][157] ([i915#5439])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_frontbuffer_tracking@fbc-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-indfb-fliptrack-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][158] ([i915#8708]) +2 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-indfb-fliptrack-mmap-gtt.html

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

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-blt:
    - shard-rkl:          NOTRUN -> [SKIP][160] ([i915#1825]) +8 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][161] ([i915#15102] / [i915#3023]) +9 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-dg2:          NOTRUN -> [SKIP][162] ([i915#10433] / [i915#15102] / [i915#3458])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-rkl:          NOTRUN -> [SKIP][163] ([i915#14544] / [i915#15102] / [i915#3023]) +1 other test skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][164] ([i915#15102])
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite:
    - shard-rkl:          NOTRUN -> [SKIP][165] ([i915#15102])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-blt:
    - shard-tglu:         NOTRUN -> [SKIP][166] ([i915#15102]) +6 other tests skip
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-tglu-1:       NOTRUN -> [SKIP][167] ([i915#15102]) +10 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][168] ([i915#14544] / [i915#1825]) +2 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-dg2:          NOTRUN -> [SKIP][169] ([i915#12713])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-dg2:          [PASS][170] -> [SKIP][171] ([i915#3555] / [i915#8228])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg2-10/igt@kms_hdr@invalid-metadata-sizes.html
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_hdr@invalid-metadata-sizes.html

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

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

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-dg2:          NOTRUN -> [SKIP][174] ([i915#15460])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_joiner@invalid-modeset-big-joiner.html

  * igt@kms_joiner@invalid-modeset-force-big-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][175] ([i915#15459])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_joiner@invalid-modeset-force-big-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-tglu:         NOTRUN -> [SKIP][176] ([i915#15458])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-tglu:         NOTRUN -> [SKIP][177] ([i915#15815])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][178] ([i915#12756] / [i915#13476])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][179] ([i915#13476])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-2.html

  * igt@kms_pipe_stress@stress-xrgb8888-yftiled:
    - shard-dg2:          NOTRUN -> [SKIP][180] ([i915#14712])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html

  * igt@kms_plane@pixel-format-4-tiled-modifier:
    - shard-rkl:          NOTRUN -> [SKIP][181] ([i915#15709])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_plane@pixel-format-4-tiled-modifier.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping:
    - shard-tglu:         NOTRUN -> [SKIP][182] ([i915#15709])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5:
    - shard-dg2:          NOTRUN -> [SKIP][183] ([i915#15608]) +1 other test skip
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5.html

  * igt@kms_plane@pixel-format-y-tiled-modifier:
    - shard-mtlp:         NOTRUN -> [SKIP][184] ([i915#15709]) +1 other test skip
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_plane@pixel-format-y-tiled-modifier.html

  * igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7:
    - shard-tglu-1:       NOTRUN -> [SKIP][185] ([i915#15608]) +1 other test skip
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_plane@pixel-format-y-tiled-modifier@pipe-b-plane-7.html

  * igt@kms_plane@pixel-format-yf-tiled-modifier:
    - shard-tglu-1:       NOTRUN -> [SKIP][186] ([i915#15709]) +1 other test skip
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_plane@pixel-format-yf-tiled-modifier.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-tglu-1:       NOTRUN -> [SKIP][187] ([i915#3555])
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-tglu:         NOTRUN -> [SKIP][188] ([i915#13958])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][189] ([i915#14259])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-tglu:         NOTRUN -> [SKIP][190] ([i915#12343])
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-tglu-1:       NOTRUN -> [SKIP][191] ([i915#9685])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_pm_dc@dc3co-vpb-simulation.html
    - shard-mtlp:         NOTRUN -> [SKIP][192] ([i915#15740])
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2:          NOTRUN -> [SKIP][193] ([i915#9685])
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-rkl:          NOTRUN -> [SKIP][194] ([i915#14544] / [i915#15073])
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-tglu-1:       NOTRUN -> [SKIP][195] ([i915#15073])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-dg1:          [PASS][196] -> [SKIP][197] ([i915#15073]) +1 other test skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-15/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-13/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-rkl:          [PASS][198] -> [SKIP][199] ([i915#15073])
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
    - shard-tglu:         NOTRUN -> [SKIP][200] ([i915#15073])
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_prime@d3hot:
    - shard-dg2:          NOTRUN -> [SKIP][201] ([i915#6524] / [i915#6805])
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_prime@d3hot.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
    - shard-mtlp:         NOTRUN -> [SKIP][202] ([i915#12316])
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf:
    - shard-rkl:          NOTRUN -> [SKIP][203] ([i915#11520]) +2 other tests skip
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area:
    - shard-glk11:        NOTRUN -> [SKIP][204] ([i915#11520])
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk11/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf@pipe-b-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][205] ([i915#9808]) +2 other tests skip
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf@pipe-b-edp-1.html

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

  * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf:
    - shard-glk10:        NOTRUN -> [SKIP][207] ([i915#11520])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk10/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
    - shard-tglu-1:       NOTRUN -> [SKIP][208] ([i915#11520]) +2 other tests skip
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html

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

  * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-tglu:         NOTRUN -> [SKIP][210] ([i915#11520]) +2 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-tglu-1:       NOTRUN -> [SKIP][211] ([i915#9683])
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-pr-primary-render:
    - shard-glk10:        NOTRUN -> [SKIP][212] +95 other tests skip
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk10/igt@kms_psr@fbc-pr-primary-render.html

  * igt@kms_psr@fbc-psr-cursor-blt:
    - shard-dg2:          NOTRUN -> [SKIP][213] ([i915#1072] / [i915#9732]) +7 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@kms_psr@fbc-psr-cursor-blt.html

  * igt@kms_psr@fbc-psr-sprite-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][214] ([i915#1072] / [i915#9732]) +5 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_psr@fbc-psr-sprite-mmap-gtt.html

  * igt@kms_psr@fbc-psr-sprite-render:
    - shard-mtlp:         NOTRUN -> [SKIP][215] ([i915#9688]) +6 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_psr@fbc-psr-sprite-render.html

  * igt@kms_psr@fbc-psr2-cursor-blt:
    - shard-tglu-1:       NOTRUN -> [SKIP][216] ([i915#9732]) +9 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-1/igt@kms_psr@fbc-psr2-cursor-blt.html

  * igt@kms_psr@pr-primary-blt:
    - shard-rkl:          NOTRUN -> [SKIP][217] ([i915#1072] / [i915#14544] / [i915#9732]) +1 other test skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_psr@pr-primary-blt.html

  * igt@kms_psr@pr-sprite-plane-move:
    - shard-tglu:         NOTRUN -> [SKIP][218] ([i915#9732]) +5 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_psr@pr-sprite-plane-move.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-tglu:         NOTRUN -> [SKIP][219] ([i915#9685])
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-mtlp:         NOTRUN -> [SKIP][220] ([i915#5289])
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-2/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-dg2:          NOTRUN -> [SKIP][221] ([i915#12755] / [i915#15867] / [i915#5190])
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-rkl:          NOTRUN -> [SKIP][222] ([i915#5289])
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

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

  * igt@kms_setmode@basic:
    - shard-tglu:         [PASS][224] -> [FAIL][225] ([i915#15106]) +2 other tests fail
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-tglu-5/igt@kms_setmode@basic.html
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-6/igt@kms_setmode@basic.html

  * igt@kms_setmode@invalid-clone-exclusive-crtc:
    - shard-tglu:         NOTRUN -> [SKIP][226] ([i915#3555])
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@kms_setmode@invalid-clone-exclusive-crtc.html

  * igt@kms_vrr@lobf:
    - shard-rkl:          NOTRUN -> [SKIP][227] ([i915#11920])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_vrr@lobf.html

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

  * igt@perf@mi-rpc:
    - shard-rkl:          NOTRUN -> [SKIP][229] ([i915#14544] / [i915#2434])
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@perf@mi-rpc.html

  * igt@perf_pmu@module-unload:
    - shard-tglu:         NOTRUN -> [ABORT][230] ([i915#15778])
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-4/igt@perf_pmu@module-unload.html

  * igt@perf_pmu@rc6-suspend:
    - shard-rkl:          [PASS][231] -> [INCOMPLETE][232] ([i915#13520])
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-4/igt@perf_pmu@rc6-suspend.html
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@perf_pmu@rc6-suspend.html

  * igt@prime_vgem@basic-read:
    - shard-dg2:          NOTRUN -> [SKIP][233] ([i915#3291] / [i915#3708])
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@fence-read-hang:
    - shard-dg2:          NOTRUN -> [SKIP][234] ([i915#3708])
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@prime_vgem@fence-read-hang.html

  * igt@sriov_basic@enable-vfs-autoprobe-on:
    - shard-rkl:          NOTRUN -> [SKIP][235] ([i915#9917])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@sriov_basic@enable-vfs-autoprobe-on.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-dg2:          NOTRUN -> [SKIP][236] ([i915#4818])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-3/igt@tools_test@sysfs_l3_parity.html

  
#### Possible fixes ####

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglu:         [WARN][237] ([i915#13790] / [i915#2681]) -> [PASS][238] +1 other test pass
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-tglu-2/igt@i915_pm_rc6_residency@rc6-fence.html
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-rkl:          [ABORT][239] ([i915#15131]) -> [PASS][240]
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-1/igt@i915_suspend@basic-s3-without-i915.html
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@i915_suspend@basic-s3-without-i915.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-rkl:          [INCOMPLETE][241] ([i915#4817]) -> [PASS][242]
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@i915_suspend@fence-restore-tiled2untiled.html
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@kms_3d@basic:
    - shard-mtlp:         [SKIP][243] ([i915#15726]) -> [PASS][244]
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-mtlp-1/igt@kms_3d@basic.html
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-8/igt@kms_3d@basic.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank:
    - shard-snb:          [FAIL][245] ([i915#14600]) -> [PASS][246] +1 other test pass
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-snb5/igt@kms_flip@flip-vs-absolute-wf_vblank.html
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-snb7/igt@kms_flip@flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-rkl:          [INCOMPLETE][247] ([i915#6113]) -> [PASS][248] +1 other test pass
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_flip@flip-vs-suspend.html
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_hdmi_inject@inject-4k:
    - shard-mtlp:         [SKIP][249] ([i915#15725]) -> [PASS][250]
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-mtlp-1/igt@kms_hdmi_inject@inject-4k.html
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-mtlp-3/igt@kms_hdmi_inject@inject-4k.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-rkl:          [SKIP][251] ([i915#3555] / [i915#8228]) -> [PASS][252]
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-4/igt@kms_hdr@invalid-metadata-sizes.html
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-dg2:          [SKIP][253] ([i915#15073]) -> [PASS][254]
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg2-1/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-dg1:          [SKIP][255] ([i915#15073]) -> [PASS][256]
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-15/igt@kms_pm_rpm@modeset-non-lpsp.html
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-16/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_setmode@basic@pipe-a-hdmi-a-1:
    - shard-snb:          [FAIL][257] ([i915#15106]) -> [PASS][258]
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-snb6/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-snb1/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          [FAIL][259] ([i915#4349]) -> [PASS][260] +4 other tests pass
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg2-7/igt@perf_pmu@busy-double-start@vecs1.html
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-6/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@perf_pmu@rc6-suspend:
    - shard-dg2:          [ABORT][261] ([i915#15131]) -> [PASS][262]
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg2-10/igt@perf_pmu@rc6-suspend.html
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@perf_pmu@rc6-suspend.html

  
#### Warnings ####

  * igt@gem_bad_reloc@negative-reloc-lut:
    - shard-rkl:          [SKIP][263] ([i915#3281]) -> [SKIP][264] ([i915#14544] / [i915#3281]) +1 other test skip
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-1/igt@gem_bad_reloc@negative-reloc-lut.html
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@gem_bad_reloc@negative-reloc-lut.html

  * igt@gem_create@create-ext-cpu-access-sanity-check:
    - shard-rkl:          [SKIP][265] ([i915#14544] / [i915#6335]) -> [SKIP][266] ([i915#6335])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@gem_create@create-ext-cpu-access-sanity-check.html
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@gem_create@create-ext-cpu-access-sanity-check.html

  * igt@gem_exec_reloc@basic-wc-gtt:
    - shard-rkl:          [SKIP][267] ([i915#14544] / [i915#3281]) -> [SKIP][268] ([i915#3281]) +4 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@gem_exec_reloc@basic-wc-gtt.html
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@gem_exec_reloc@basic-wc-gtt.html

  * igt@gem_lmem_swapping@verify-random:
    - shard-rkl:          [SKIP][269] ([i915#14544] / [i915#4613]) -> [SKIP][270] ([i915#4613]) +1 other test skip
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@gem_lmem_swapping@verify-random.html
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_pread@display:
    - shard-rkl:          [SKIP][271] ([i915#14544] / [i915#3282]) -> [SKIP][272] ([i915#3282]) +1 other test skip
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@gem_pread@display.html
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@gem_pread@display.html

  * igt@gem_set_tiling_vs_pwrite:
    - shard-rkl:          [SKIP][273] ([i915#3282]) -> [SKIP][274] ([i915#14544] / [i915#3282]) +2 other tests skip
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-4/igt@gem_set_tiling_vs_pwrite.html
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@gem_set_tiling_vs_pwrite.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-rkl:          [SKIP][275] ([i915#14544] / [i915#2527]) -> [SKIP][276] ([i915#2527]) +1 other test skip
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@gen9_exec_parse@allowed-all.html
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@gen9_exec_parse@allowed-all.html

  * igt@intel_hwmon@hwmon-read:
    - shard-rkl:          [SKIP][277] ([i915#14544] / [i915#7707]) -> [SKIP][278] ([i915#7707])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@intel_hwmon@hwmon-read.html
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@intel_hwmon@hwmon-read.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-rkl:          [SKIP][279] ([i915#14544] / [i915#1769] / [i915#3555]) -> [SKIP][280] ([i915#1769] / [i915#3555])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-180:
    - shard-rkl:          [SKIP][281] ([i915#14544] / [i915#5286]) -> [SKIP][282] ([i915#5286])
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-dg1:          [SKIP][283] ([i915#3638]) -> [SKIP][284] ([i915#3638] / [i915#4423])
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-14/igt@kms_big_fb@linear-8bpp-rotate-270.html
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-16/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-rkl:          [SKIP][285] ([i915#3828]) -> [SKIP][286] ([i915#14544] / [i915#3828])
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-1/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-rkl:          [SKIP][287] ([i915#14544] / [i915#3638]) -> [SKIP][288] ([i915#3638]) +1 other test skip
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-rkl:          [SKIP][289] ([i915#14544]) -> [SKIP][290] +6 other tests skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          [SKIP][291] ([i915#14544] / [i915#6095]) -> [SKIP][292] ([i915#6095]) +1 other test skip
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-2.html
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          [SKIP][293] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][294] ([i915#14098] / [i915#6095]) +1 other test skip
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2.html
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
    - shard-rkl:          [SKIP][295] ([i915#12313]) -> [SKIP][296] ([i915#12313] / [i915#14544])
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-4/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs:
    - shard-rkl:          [SKIP][297] ([i915#14098] / [i915#6095]) -> [SKIP][298] ([i915#14098] / [i915#14544] / [i915#6095]) +3 other tests skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs.html
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          [SKIP][299] ([i915#6095]) -> [SKIP][300] ([i915#14544] / [i915#6095]) +3 other tests skip
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
    - shard-rkl:          [SKIP][301] ([i915#12313] / [i915#14544]) -> [SKIP][302] ([i915#12313])
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html

  * igt@kms_chamelium_hpd@dp-hpd-storm-disable:
    - shard-rkl:          [SKIP][303] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][304] ([i915#11151] / [i915#7828])
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-rkl:          [SKIP][305] ([i915#14544] / [i915#15330] / [i915#3116]) -> [SKIP][306] ([i915#15330] / [i915#3116])
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_content_protection@dp-mst-type-1.html
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@dp-mst-type-1-suspend-resume:
    - shard-rkl:          [SKIP][307] ([i915#14544] / [i915#15330]) -> [SKIP][308] ([i915#15330])
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          [SKIP][309] ([i915#15865]) -> [SKIP][310] ([i915#9433])
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-15/igt@kms_content_protection@mei-interface.html
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-13/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x10:
    - shard-rkl:          [SKIP][311] ([i915#14544] / [i915#3555]) -> [SKIP][312] ([i915#3555]) +2 other tests skip
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
    - shard-rkl:          [SKIP][313] -> [SKIP][314] ([i915#14544]) +1 other test skip
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-1/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-rkl:          [SKIP][315] ([i915#3840] / [i915#9053]) -> [SKIP][316] ([i915#14544] / [i915#3840] / [i915#9053])
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-4/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_flip@2x-dpms-vs-vblank-race:
    - shard-rkl:          [SKIP][317] ([i915#9934]) -> [SKIP][318] ([i915#14544] / [i915#9934]) +1 other test skip
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-1/igt@kms_flip@2x-dpms-vs-vblank-race.html
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_flip@2x-dpms-vs-vblank-race.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-rkl:          [SKIP][319] ([i915#14544] / [i915#9934]) -> [SKIP][320] ([i915#9934]) +2 other tests skip
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop:
    - shard-dg1:          [SKIP][321] ([i915#4423] / [i915#9934]) -> [SKIP][322] ([i915#9934])
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-13/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-15/igt@kms_flip@2x-flip-vs-dpms-on-nop.html

  * igt@kms_flip@2x-flip-vs-suspend:
    - shard-glk:          [INCOMPLETE][323] ([i915#12745] / [i915#4839]) -> [INCOMPLETE][324] ([i915#12745] / [i915#4839] / [i915#6113])
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-glk4/igt@kms_flip@2x-flip-vs-suspend.html
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-glk2/igt@kms_flip@2x-flip-vs-suspend.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling:
    - shard-rkl:          [SKIP][325] ([i915#14544] / [i915#15643]) -> [SKIP][326] ([i915#15643])
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-rkl:          [SKIP][327] ([i915#1825]) -> [SKIP][328] ([i915#14544] / [i915#1825]) +3 other tests skip
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc.html
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-dg1:          [SKIP][329] ([i915#8708]) -> [SKIP][330] ([i915#4423] / [i915#8708])
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite:
    - shard-rkl:          [SKIP][331] ([i915#14544] / [i915#15102]) -> [SKIP][332] ([i915#15102]) +1 other test skip
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite.html
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg2:          [SKIP][333] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][334] ([i915#15102] / [i915#3458]) +2 other tests skip
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-render:
    - shard-rkl:          [SKIP][335] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][336] ([i915#15102] / [i915#3023]) +2 other tests skip
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-render.html
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render:
    - shard-dg2:          [SKIP][337] ([i915#15102] / [i915#3458]) -> [SKIP][338] ([i915#10433] / [i915#15102] / [i915#3458]) +1 other test skip
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render.html
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt:
    - shard-dg1:          [SKIP][339] ([i915#15104]) -> [SKIP][340] ([i915#15104] / [i915#4423])
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-cpu:
    - shard-dg1:          [SKIP][341] ([i915#15102] / [i915#3458]) -> [SKIP][342] ([i915#15102] / [i915#3458] / [i915#4423]) +1 other test skip
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-cpu.html
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
    - shard-rkl:          [SKIP][343] ([i915#15102] / [i915#3023]) -> [SKIP][344] ([i915#14544] / [i915#15102] / [i915#3023])
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
    - shard-dg1:          [SKIP][345] -> [SKIP][346] ([i915#4423]) +1 other test skip
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt:
    - shard-rkl:          [SKIP][347] ([i915#14544] / [i915#1825]) -> [SKIP][348] ([i915#1825]) +10 other tests skip
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt.html
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-dg1:          [SKIP][349] ([i915#1187] / [i915#12713]) -> [SKIP][350] ([i915#12713])
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-13/igt@kms_hdr@brightness-with-hdr.html
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-15/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-dg1:          [SKIP][351] ([i915#3555] / [i915#8228]) -> [SKIP][352] ([i915#3555] / [i915#4423] / [i915#8228])
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@kms_hdr@static-toggle-suspend.html
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-rkl:          [SKIP][353] ([i915#14544] / [i915#15458]) -> [SKIP][354] ([i915#15458])
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_joiner@invalid-modeset-ultra-joiner.html
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][355] ([i915#14544] / [i915#15815]) -> [SKIP][356] ([i915#15815])
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier:
    - shard-rkl:          [SKIP][357] ([i915#14544] / [i915#15709]) -> [SKIP][358] ([i915#15709]) +2 other tests skip
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier.html
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-rkl:          [SKIP][359] ([i915#13958] / [i915#14544]) -> [SKIP][360] ([i915#13958])
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_plane_multiple@2x-tiling-y.html
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_pm_backlight@fade:
    - shard-rkl:          [SKIP][361] ([i915#14544] / [i915#5354]) -> [SKIP][362] ([i915#5354])
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_pm_backlight@fade.html
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-rkl:          [SKIP][363] ([i915#9340]) -> [SKIP][364] ([i915#3828])
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-1/igt@kms_pm_lpsp@kms-lpsp.html
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf:
    - shard-rkl:          [SKIP][365] ([i915#11520]) -> [SKIP][366] ([i915#11520] / [i915#14544])
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area:
    - shard-rkl:          [SKIP][367] ([i915#11520] / [i915#14544]) -> [SKIP][368] ([i915#11520]) +2 other tests skip
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-5/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr@fbc-psr-basic:
    - shard-dg1:          [SKIP][369] ([i915#1072] / [i915#9732]) -> [SKIP][370] ([i915#1072] / [i915#4423] / [i915#9732]) +2 other tests skip
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-dg1-19/igt@kms_psr@fbc-psr-basic.html
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-dg1-19/igt@kms_psr@fbc-psr-basic.html

  * igt@kms_psr@psr-no-drrs:
    - shard-rkl:          [SKIP][371] ([i915#1072] / [i915#9732]) -> [SKIP][372] ([i915#1072] / [i915#14544] / [i915#9732]) +2 other tests skip
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-4/igt@kms_psr@psr-no-drrs.html
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-6/igt@kms_psr@psr-no-drrs.html

  * igt@kms_psr@psr2-cursor-blt:
    - shard-rkl:          [SKIP][373] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][374] ([i915#1072] / [i915#9732]) +2 other tests skip
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_psr@psr2-cursor-blt.html
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_psr@psr2-cursor-blt.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
    - shard-rkl:          [SKIP][375] ([i915#14544] / [i915#5289]) -> [SKIP][376] ([i915#5289])
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-8/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html

  * igt@kms_vrr@flip-suspend:
    - shard-rkl:          [SKIP][377] ([i915#14544] / [i915#15243] / [i915#3555]) -> [SKIP][378] ([i915#15243] / [i915#3555])
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18315/shard-rkl-6/igt@kms_vrr@flip-suspend.html
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_164028v2/shard-rkl-7/igt@kms_vrr@flip-suspend.html

  
  [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#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#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [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#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
  [i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
  [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#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756
  [i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
  [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
  [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#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
  [i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476
  [i915#13520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13520
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
  [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
  [i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
  [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#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
  [i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
  [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14586
  [i915#14600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14600
  [i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
  [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
  [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
  [i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
  [i915#15106]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15106
  [i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
  [i915#15172]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15172
  [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
  [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
  [i915#15433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15433
  [i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458
  [i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
  [i915#15460]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15460
  [i915#15542]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15542
  [i915#15560]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15560
  [i915#15608]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15608
  [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
  [i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709
  [i915#15725]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15725
  [i915#15726]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15726
  [i915#15740]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15740
  [i915#15778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15778
  [i915#15804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15804
  [i915#15815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15815
  [i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865
  [i915#15867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15867
  [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
  [i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
  [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#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
  [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#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [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#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [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#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4818]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4818
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [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#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#5882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5882
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
  [i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
  [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#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
  [i915#7387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7387
  [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8437
  [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8810]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8810
  [i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9561]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9561
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
  [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9808
  [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
  [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_18315 -> Patchwork_164028v2

  CI-20190529: 20190529
  CI_DRM_18315: dcbfa16156e0733d93e1039011bcbc28e4f9ee15 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8854: 93abaf0170728f69bc27577e5b405f7a2a01b6fd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_164028v2: dcbfa16156e0733d93e1039011bcbc28e4f9ee15 @ 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_164028v2/index.html

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

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

* Re: [PATCH v2 02/10] drm/i915/casf: rename *_coeff*() into *_coef*()
  2026-04-11 17:45 ` [PATCH v2 02/10] drm/i915/casf: rename *_coeff*() into *_coef*() Michał Grzelak
@ 2026-04-12 21:49   ` Michał Grzelak
  0 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-04-12 21:49 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-gfx, Ville Syrjälä, Nemesa Garg

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

Title starts to make sense after swapping in it coeff <-> coef. Eh.

On Sat, 11 Apr 2026, Michał Grzelak wrote:
> Stick to the notion of already used *_coeff*() instead of *_coef*().
> Rename that way convert_sharpness_coef_binary() and
> intel_casf_scaler_compute_coef().
>
> v1->v2
> - rename intel_casf_scaler_compute_coef()
>
> Cc: Nemesa Garg <nemesa.garg@intel.com>
> Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_casf.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_casf.c b/drivers/gpu/drm/i915/display/intel_casf.c
> index 9a306aee21994..c4fabffa369e3 100644
> --- a/drivers/gpu/drm/i915/display/intel_casf.c
> +++ b/drivers/gpu/drm/i915/display/intel_casf.c
> @@ -88,7 +88,7 @@ static void intel_casf_compute_win_size(struct intel_crtc_state *crtc_state)
> 		crtc_state->pch_pfit.casf.win_size = SHARPNESS_FILTER_SIZE_7X7;
> }
>
> -static void intel_casf_scaler_compute_coef(struct intel_crtc_state *crtc_state);
> +static void intel_casf_scaler_compute_coeff(struct intel_crtc_state *crtc_state);
>
> int intel_casf_compute_config(struct intel_crtc_state *crtc_state)
> {
> @@ -118,7 +118,7 @@ int intel_casf_compute_config(struct intel_crtc_state *crtc_state)
>
> 	intel_casf_compute_win_size(crtc_state);
>
> -	intel_casf_scaler_compute_coef(crtc_state);
> +	intel_casf_scaler_compute_coeff(crtc_state);
>
> 	return 0;
> }
> @@ -196,7 +196,7 @@ static void intel_casf_write_coeff(const struct intel_crtc_state *crtc_state)
> 	}
> }
>
> -static void convert_sharpness_coef_binary(struct scaler_filter_coeff *coeff,
> +static void convert_sharpness_coeff_binary(struct scaler_filter_coeff *coeff,
> 					  u16 coefficient)
> {
> 	if (coefficient < 25) {
> @@ -214,7 +214,7 @@ static void convert_sharpness_coef_binary(struct scaler_filter_coeff *coeff,
> 	}
> }
>
> -static void intel_casf_scaler_compute_coef(struct intel_crtc_state *crtc_state)
> +static void intel_casf_scaler_compute_coeff(struct intel_crtc_state *crtc_state)
> {
> 	const u16 *filtercoeff;
> 	u16 filter_coeff[SCALER_FILTER_NUM_TAPS];
> @@ -233,7 +233,7 @@ static void intel_casf_scaler_compute_coef(struct intel_crtc_state *crtc_state)
>
> 	for (i = 0; i < SCALER_FILTER_NUM_TAPS; i++) {
> 		filter_coeff[i] = (*(filtercoeff + i) * 100 / sumcoeff);
> -		convert_sharpness_coef_binary(&crtc_state->pch_pfit.casf.coeff[i],
> +		convert_sharpness_coeff_binary(&crtc_state->pch_pfit.casf.coeff[i],
> 					      filter_coeff[i]);
> 	}
> }
> -- 
> 2.45.2
>
>

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

* Re: [PATCH v2 09/10] drm/i915/scaler: abstract scaler searching loop
  2026-04-11 17:45 ` [PATCH v2 09/10] drm/i915/scaler: abstract scaler searching loop Michał Grzelak
@ 2026-04-13 12:45   ` Ville Syrjälä
  2026-04-20  8:19     ` Grzelak, Michal
  0 siblings, 1 reply; 18+ messages in thread
From: Ville Syrjälä @ 2026-04-13 12:45 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-gfx, Nemesa Garg

On Sat, Apr 11, 2026 at 07:45:25PM +0200, Michał Grzelak wrote:
> Add a helper function hiding the search for scaler_id.
> 
> Cc: Nemesa Garg <nemesa.garg@intel.com>
> Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
> ---
>  drivers/gpu/drm/i915/display/skl_scaler.c | 29 ++++++++++++++---------
>  1 file changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c b/drivers/gpu/drm/i915/display/skl_scaler.c
> index 4e2f4c4ffc45a..1f47c5fc1802f 100644
> --- a/drivers/gpu/drm/i915/display/skl_scaler.c
> +++ b/drivers/gpu/drm/i915/display/skl_scaler.c
> @@ -836,6 +836,21 @@ void skl_pfit_enable(const struct intel_crtc_state *crtc_state)
>  			  PS_WIN_XSIZE(width) | PS_WIN_YSIZE(height));
>  }
>  
> +static int skl_pipe_scaler_get_hw_state(struct intel_crtc_state *crtc_state)
> +{
> +	struct intel_display *display = to_intel_display(crtc_state);
> +	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> +	u32 ctl;

'ctl' could stay inside the loop.

I suppose technically 'display' could go there as well, but
we've established the convention that 'display' (if needed inside
the function) is the first variable declared. So that one should
stay here.

> +
> +	for (int scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
> +		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
> +		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) == (PS_SCALER_EN | PS_BINDING_PIPE))
> +			return scaler_id;
> +	}
> +
> +	return -1;
> +}
> +
>  void
>  skl_program_plane_scaler(struct intel_dsb *dsb,
>  			 struct intel_plane *plane,
> @@ -950,19 +965,11 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
>  	struct intel_display *display = to_intel_display(crtc_state);
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>  	struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state;
> -	int scaler_id;
> -	u32 pos, size;
> -
>  	/* find scaler attached to this pipe */
> -	for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
> -		u32 ctl;
> -
> -		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
> -		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) == (PS_SCALER_EN | PS_BINDING_PIPE))
> -			break;
> -	}
> +	int scaler_id = skl_pipe_scaler_get_hw_state(crtc_state);

I don't like hiding stuff with potential side effects
inside the variable declaration block. Only pure
functions should be called there. So it's better to
do the function call+assignment just before the <0 check.

Apart from that it all looks good to me. So with that adjusted
the series is
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

But looks like you forgot to cc intel-xe@. We do want xe CI results
before merging...

> +	u32 pos, size;
>  
> -	if (scaler_id == crtc->num_scalers)
> +	if (scaler_id < 0)
>  		return;
>  
>  	if (scaler_has_casf(display, scaler_id))
> -- 
> 2.45.2

-- 
Ville Syrjälä
Intel

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

* RE: [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run once
  2026-04-11 17:45 ` [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run once Michał Grzelak
@ 2026-04-14  8:01   ` Garg, Nemesa
  2026-04-20  8:22     ` Grzelak, Michal
  0 siblings, 1 reply; 18+ messages in thread
From: Garg, Nemesa @ 2026-04-14  8:01 UTC (permalink / raw)
  To: Grzelak, Michal, intel-gfx@lists.freedesktop.org; +Cc: Ville Syrjälä



> -----Original Message-----
> From: Grzelak, Michal <michal.grzelak@intel.com>
> Sent: Saturday, April 11, 2026 11:15 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; Garg, Nemesa
> <nemesa.garg@intel.com>; Grzelak, Michal <michal.grzelak@intel.com>
> Subject: [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run
> once
> 
> Most of the loop's code is run once because of the continue statement at it's
> start and break statement at it's end. Kick it out of the loop.
> 
> Cc: Nemesa Garg <nemesa.garg@intel.com>
> Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
> ---
>  drivers/gpu/drm/i915/display/skl_scaler.c | 34 ++++++++++++-----------
>  1 file changed, 18 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c
> b/drivers/gpu/drm/i915/display/skl_scaler.c
> index 6d9080ec74ce0..e71d9c036a1e7 100644
> --- a/drivers/gpu/drm/i915/display/skl_scaler.c
> +++ b/drivers/gpu/drm/i915/display/skl_scaler.c
> @@ -951,36 +951,38 @@ void skl_scaler_get_config(struct intel_crtc_state
> *crtc_state)
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>  	struct intel_crtc_scaler_state *scaler_state = &crtc_state-
> >scaler_state;
>  	int scaler_id;
> +	u32 pos, size;
> 
>  	/* find scaler attached to this pipe */
>  	for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
> -		u32 ctl, pos, size;
> +		u32 ctl;
> 
>  		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe,
> scaler_id));
>  		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) !=
> (PS_SCALER_EN | PS_BINDING_PIPE))
>  			continue;
> 
Hi Michal,

In this patch you are keeping both continue and break statement and then in patch 8 you are inverting the loop so I guess it will be better if we can squash these 2 patches so we will have all changes in one place related to this function. What do you think.

Thanks and Regards,
Nemesa

> -		if (scaler_has_casf(display, scaler_id))
> -			intel_casf_sharpness_get_config(crtc_state);
> -
> -		crtc_state->pch_pfit.enabled = true;
> -
> -		pos = intel_de_read(display, SKL_PS_WIN_POS(crtc->pipe,
> scaler_id));
> -		size = intel_de_read(display, SKL_PS_WIN_SZ(crtc->pipe,
> scaler_id));
> -
> -		drm_rect_init(&crtc_state->pch_pfit.dst,
> -			      REG_FIELD_GET(PS_WIN_XPOS_MASK, pos),
> -			      REG_FIELD_GET(PS_WIN_YPOS_MASK, pos),
> -			      REG_FIELD_GET(PS_WIN_XSIZE_MASK, size),
> -			      REG_FIELD_GET(PS_WIN_YSIZE_MASK, size));
> -
> -		scaler_state->scalers[scaler_id].in_use = true;
>  		break;
>  	}
> 
>  	if (scaler_id == crtc->num_scalers)
>  		return;
> 
> +	if (scaler_has_casf(display, scaler_id))
> +		intel_casf_sharpness_get_config(crtc_state);
> +
> +	crtc_state->pch_pfit.enabled = true;
> +
> +	pos = intel_de_read(display, SKL_PS_WIN_POS(crtc->pipe, scaler_id));
> +	size = intel_de_read(display, SKL_PS_WIN_SZ(crtc->pipe, scaler_id));
> +
> +	drm_rect_init(&crtc_state->pch_pfit.dst,
> +		      REG_FIELD_GET(PS_WIN_XPOS_MASK, pos),
> +		      REG_FIELD_GET(PS_WIN_YPOS_MASK, pos),
> +		      REG_FIELD_GET(PS_WIN_XSIZE_MASK, size),
> +		      REG_FIELD_GET(PS_WIN_YSIZE_MASK, size));
> +
> +	scaler_state->scalers[scaler_id].in_use = true;
> +
>  	scaler_state->scaler_id = scaler_id;
>  	if (scaler_id >= 0)
>  		scaler_state->scaler_users |= (1 << SKL_CRTC_INDEX);
> --
> 2.45.2


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

* RE: [PATCH v2 09/10] drm/i915/scaler: abstract scaler searching loop
  2026-04-13 12:45   ` Ville Syrjälä
@ 2026-04-20  8:19     ` Grzelak, Michal
  0 siblings, 0 replies; 18+ messages in thread
From: Grzelak, Michal @ 2026-04-20  8:19 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx@lists.freedesktop.org, Garg, Nemesa

From: Ville Syrjälä <ville.syrjala@linux.intel.com> 
>On Sat, Apr 11, 2026 at 07:45:25PM +0200, Michał Grzelak wrote:
>> Add a helper function hiding the search for scaler_id.
>> 
>> Cc: Nemesa Garg <nemesa.garg@intel.com>
>> Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/skl_scaler.c | 29 
>> ++++++++++++++---------
>>  1 file changed, 18 insertions(+), 11 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c 
>> b/drivers/gpu/drm/i915/display/skl_scaler.c
>> index 4e2f4c4ffc45a..1f47c5fc1802f 100644
>> --- a/drivers/gpu/drm/i915/display/skl_scaler.c
>> +++ b/drivers/gpu/drm/i915/display/skl_scaler.c
>> @@ -836,6 +836,21 @@ void skl_pfit_enable(const struct intel_crtc_state *crtc_state)
>>  			  PS_WIN_XSIZE(width) | PS_WIN_YSIZE(height));  }
>>  
>> +static int skl_pipe_scaler_get_hw_state(struct intel_crtc_state 
>> +*crtc_state) {
>> +	struct intel_display *display = to_intel_display(crtc_state);
>> +	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> +	u32 ctl;
>
>'ctl' could stay inside the loop.
>
>I suppose technically 'display' could go there as well, but we've established the convention that 'display' (if needed inside the function) is >the first variable declared. So that one should stay here.
>
>> +
>> +	for (int scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
>> +		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
>> +		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) == (PS_SCALER_EN | PS_BINDING_PIPE))
>> +			return scaler_id;
>> +	}
>> +
>> +	return -1;
>> +}
>> +
>>  void
>>  skl_program_plane_scaler(struct intel_dsb *dsb,
>>  			 struct intel_plane *plane,
>> @@ -950,19 +965,11 @@ void skl_scaler_get_config(struct intel_crtc_state *crtc_state)
>>  	struct intel_display *display = to_intel_display(crtc_state);
>>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>>  	struct intel_crtc_scaler_state *scaler_state = &crtc_state->scaler_state;
>> -	int scaler_id;
>> -	u32 pos, size;
>> -
>>  	/* find scaler attached to this pipe */
>> -	for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
>> -		u32 ctl;
>> -
>> -		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
>> -		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) == (PS_SCALER_EN | PS_BINDING_PIPE))
>> -			break;
>> -	}
>> +	int scaler_id = skl_pipe_scaler_get_hw_state(crtc_state);
>
>I don't like hiding stuff with potential side effects inside the variable declaration block. Only pure functions should be called there. So it's >better to do the function call+assignment just before the <0 check.
>
>Apart from that it all looks good to me. So with that adjusted the series is
>Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
>But looks like you forgot to cc intel-xe@. We do want xe CI results before merging...
> 

Will repost corrected version later since now I don't have access to my dev box. And thanks for the review =)

BR,
Michał

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

* RE: [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run once
  2026-04-14  8:01   ` Garg, Nemesa
@ 2026-04-20  8:22     ` Grzelak, Michal
  0 siblings, 0 replies; 18+ messages in thread
From: Grzelak, Michal @ 2026-04-20  8:22 UTC (permalink / raw)
  To: Garg, Nemesa, intel-gfx@lists.freedesktop.org; +Cc: Ville Syrjälä

Hi Nemesa,

-----Original Message-----
From: Garg, Nemesa <nemesa.garg@intel.com> 
Sent: Tuesday, April 14, 2026 10:02 AM
To: Grzelak, Michal <michal.grzelak@intel.com>; intel-gfx@lists.freedesktop.org
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Subject: RE: [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run once



> -----Original Message-----
> From: Grzelak, Michal <michal.grzelak@intel.com>
> Sent: Saturday, April 11, 2026 11:15 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>; Garg, Nemesa 
> <nemesa.garg@intel.com>; Grzelak, Michal <michal.grzelak@intel.com>
> Subject: [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that 
> is run once
> 
> Most of the loop's code is run once because of the continue statement 
> at it's start and break statement at it's end. Kick it out of the loop.
> 
> Cc: Nemesa Garg <nemesa.garg@intel.com>
> Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
> ---
>  drivers/gpu/drm/i915/display/skl_scaler.c | 34 
> ++++++++++++-----------
>  1 file changed, 18 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/skl_scaler.c
> b/drivers/gpu/drm/i915/display/skl_scaler.c
> index 6d9080ec74ce0..e71d9c036a1e7 100644
> --- a/drivers/gpu/drm/i915/display/skl_scaler.c
> +++ b/drivers/gpu/drm/i915/display/skl_scaler.c
> @@ -951,36 +951,38 @@ void skl_scaler_get_config(struct 
> intel_crtc_state
> *crtc_state)
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>  	struct intel_crtc_scaler_state *scaler_state = &crtc_state-
> >scaler_state;
>  	int scaler_id;
> +	u32 pos, size;
> 
>  	/* find scaler attached to this pipe */
>  	for (scaler_id = 0; scaler_id < crtc->num_scalers; scaler_id++) {
> -		u32 ctl, pos, size;
> +		u32 ctl;
> 
>  		ctl = intel_de_read(display, SKL_PS_CTRL(crtc->pipe, scaler_id));
>  		if ((ctl & (PS_SCALER_EN | PS_BINDING_MASK)) != (PS_SCALER_EN | 
> PS_BINDING_PIPE))
>  			continue;
> 
Hi Michal,

In this patch you are keeping both continue and break statement and then in patch 8 you are inverting the loop so I guess it will be better if we can squash these 2 patches so we will have all changes in one place related to this function. What do you think.

---
Since the count of lines affected is quite low, I thought of the same. I have convinced myself though to keep it that way because I think this patch is separate from the previous, and in case of breakage it would be faster to see what actually gone wrong. Also I found it non-trivial from the diff what is happening when they were squashed, so that was my rationale. 

BR,
Michał
---

Thanks and Regards,
Nemesa

> -		if (scaler_has_casf(display, scaler_id))
> -			intel_casf_sharpness_get_config(crtc_state);
> -
> -		crtc_state->pch_pfit.enabled = true;
> -
> -		pos = intel_de_read(display, SKL_PS_WIN_POS(crtc->pipe,
> scaler_id));
> -		size = intel_de_read(display, SKL_PS_WIN_SZ(crtc->pipe,
> scaler_id));
> -
> -		drm_rect_init(&crtc_state->pch_pfit.dst,
> -			      REG_FIELD_GET(PS_WIN_XPOS_MASK, pos),
> -			      REG_FIELD_GET(PS_WIN_YPOS_MASK, pos),
> -			      REG_FIELD_GET(PS_WIN_XSIZE_MASK, size),
> -			      REG_FIELD_GET(PS_WIN_YSIZE_MASK, size));
> -
> -		scaler_state->scalers[scaler_id].in_use = true;
>  		break;
>  	}
> 
>  	if (scaler_id == crtc->num_scalers)
>  		return;
> 
> +	if (scaler_has_casf(display, scaler_id))
> +		intel_casf_sharpness_get_config(crtc_state);
> +
> +	crtc_state->pch_pfit.enabled = true;
> +
> +	pos = intel_de_read(display, SKL_PS_WIN_POS(crtc->pipe, scaler_id));
> +	size = intel_de_read(display, SKL_PS_WIN_SZ(crtc->pipe, scaler_id));
> +
> +	drm_rect_init(&crtc_state->pch_pfit.dst,
> +		      REG_FIELD_GET(PS_WIN_XPOS_MASK, pos),
> +		      REG_FIELD_GET(PS_WIN_YPOS_MASK, pos),
> +		      REG_FIELD_GET(PS_WIN_XSIZE_MASK, size),
> +		      REG_FIELD_GET(PS_WIN_YSIZE_MASK, size));
> +
> +	scaler_state->scalers[scaler_id].in_use = true;
> +
>  	scaler_state->scaler_id = scaler_id;
>  	if (scaler_id >= 0)
>  		scaler_state->scaler_users |= (1 << SKL_CRTC_INDEX);
> --
> 2.45.2


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

end of thread, other threads:[~2026-04-20  8:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-11 17:45 [PATCH v2 00/10] drm/i915: casf & scaler refactoring Michał Grzelak
2026-04-11 17:45 ` [PATCH v2 01/10] drm/i915/casf: fix comment typos Michał Grzelak
2026-04-11 17:45 ` [PATCH v2 02/10] drm/i915/casf: rename *_coeff*() into *_coef*() Michał Grzelak
2026-04-12 21:49   ` Michał Grzelak
2026-04-11 17:45 ` [PATCH v2 03/10] drm/i915: rename t into tap Michał Grzelak
2026-04-11 17:45 ` [PATCH v2 04/10] drm/i915/casf: rename sumcoeff into sum_coeff Michał Grzelak
2026-04-11 17:45 ` [PATCH v2 05/10] drm/i915/scaler: s/i/scaler_id where appropriate Michał Grzelak
2026-04-11 17:45 ` [PATCH v2 06/10] drm/i915/scaler: remove id in favor of scaler_id Michał Grzelak
2026-04-11 17:45 ` [PATCH v2 07/10] drm/i915/scaler: unloop scaler readout that is run once Michał Grzelak
2026-04-14  8:01   ` Garg, Nemesa
2026-04-20  8:22     ` Grzelak, Michal
2026-04-11 17:45 ` [PATCH v2 08/10] drm/i915/scaler: invert loop's breaking logic Michał Grzelak
2026-04-11 17:45 ` [PATCH v2 09/10] drm/i915/scaler: abstract scaler searching loop Michał Grzelak
2026-04-13 12:45   ` Ville Syrjälä
2026-04-20  8:19     ` Grzelak, Michal
2026-04-11 17:45 ` [PATCH v2 10/10] drm/i915/scaler: eliminate dead code Michał Grzelak
2026-04-11 18:41 ` ✓ i915.CI.BAT: success for drm/i915: casf & scaler refactoring (rev2) Patchwork
2026-04-11 23:56 ` ✗ i915.CI.Full: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox