Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t v5 0/3] Optimize framebuffer management
@ 2026-03-30  3:20 Jason-JH Lin
  2026-03-30  3:20 ` [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure Jason-JH Lin
                   ` (11 more replies)
  0 siblings, 12 replies; 24+ messages in thread
From: Jason-JH Lin @ 2026-03-30  3:20 UTC (permalink / raw)
  To: igt-dev, Karthik B S, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao
  Cc: Jani, Jason-JH Lin, Paul-PL Chen, Nancy Lin, Singo Chang,
	Gil Dekel, Yacoub, Project_Global_Chrome_Upstream_Group

Refactor framebuffer management to improve reusability:
- Create framebuffers once per CRTC at test initialization via
  create_fbs() and reuse them across all subtests
- Centralize cleanup in remove_fbs() called at test fixture end
- Use per-CRTC framebuffer array (data.fbs[IGT_MAX_PIPES]) indexed
  by crtc->crtc_index instead of single global framebuffers

Each framebuffer is created with the actual resolution of the first
output that can connect to that CRTC, avoiding buffer size mismatch
issues (e.g., 3504x2190 panel incorrectly using 3840x2160 buffer).

For MST tests, multiple outputs share bandwidth and may require mode
override to fit within bandwidth constraints. When mode override
changes the resolution, properly detach planes before removing the
existing framebuffers, then recreate them with the new dimensions.

---

Change in v5:
1.Split the commit v4 into 3 logical patches for easier bisecting
2.Remove output_get_driving_crtc_assert() helper function and use
igt_output_get_driving_crtc() directly without assertions
3.Remove the unnecessary CRTC index check in igt_main()

---

Jason-JH Lin (3):
  tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs
  tests/kms_content_protection: Add FB cleanup for MST tests

 tests/kms_content_protection.c | 168 ++++++++++++++++++++++++---------
 1 file changed, 121 insertions(+), 47 deletions(-)

-- 
2.43.0


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

* [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
@ 2026-03-30  3:20 ` Jason-JH Lin
  2026-04-29 20:31   ` Manasi Navare
  2026-03-30  3:20 ` [PATCH i-g-t v5 2/3] tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs Jason-JH Lin
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Jason-JH Lin @ 2026-03-30  3:20 UTC (permalink / raw)
  To: igt-dev, Karthik B S, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao
  Cc: Jani, Jason-JH Lin, Paul-PL Chen, Nancy Lin, Singo Chang,
	Gil Dekel, Yacoub, Project_Global_Chrome_Upstream_Group

Replace global framebuffers (data.red/green) with per-CRTC array
(data.fbs[IGT_MAX_PIPES]) to support multiple outputs with different
resolutions.

Add create_fbs()/remove_fbs() to manage framebuffer lifecycle at
test initialization/cleanup, creating each FB with the resolution of
the first output that can connect to that CRTC.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: Fei Shao <fshao@chromium.org>
---
 tests/kms_content_protection.c | 50 +++++++++++++++++++++++++---------
 1 file changed, 37 insertions(+), 13 deletions(-)

diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index caf3d7a56ae4..df9ff5efcaa2 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -107,10 +107,15 @@
 
 IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
 
+struct hdcp_test_fbs {
+	struct igt_fb red;
+	struct igt_fb green;
+};
+
 struct data {
 	int drm_fd;
 	igt_display_t display;
-	struct igt_fb red, green;
+	struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
 	unsigned int cp_tests;
 	struct udev_monitor *uevent_monitor;
 	bool is_force_hdcp14;
@@ -991,31 +996,49 @@ static void test_content_protection_cleanup(void)
 		igt_info("CP Prop being UNDESIRED on %s\n", output->name);
 		test_cp_disable(output, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
 	}
-
-	igt_remove_fb(data.drm_fd, &data.red);
-	igt_remove_fb(data.drm_fd, &data.green);
 }
 
 static void create_fbs(void)
 {
-	uint16_t width = 0, height = 0;
 	drmModeModeInfo *mode;
 	igt_output_t *output;
+	igt_crtc_t *crtc;
 
+	/* Create framebuffers for each connected output's pipe */
 	for_each_connected_output(&data.display, output) {
 		mode = igt_output_get_mode(output);
 		igt_assert(mode);
 
-		width = max(width, mode->hdisplay);
-		height = max(height, mode->vdisplay);
+		/* Find a valid crtc for this output */
+		for_each_crtc(&data.display, crtc) {
+			if (!igt_crtc_connector_valid(crtc, output))
+				continue;
+
+			/* Skip if already created for this crtc */
+			if (data.fbs[crtc->crtc_index].red.fb_id)
+				continue;
+
+			igt_create_color_fb(data.drm_fd, mode->hdisplay, mode->vdisplay,
+					    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
+					    1.f, 0.f, 0.f, &data.fbs[crtc->crtc_index].red);
+			igt_create_color_fb(data.drm_fd, mode->hdisplay, mode->vdisplay,
+					    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
+					    0.f, 1.f, 0.f, &data.fbs[crtc->crtc_index].green);
+			break;
+		}
 	}
+}
 
-	igt_create_color_fb(data.drm_fd, width, height,
-			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
-			    1.f, 0.f, 0.f, &data.red);
-	igt_create_color_fb(data.drm_fd, width, height,
-			    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
-			    0.f, 1.f, 0.f, &data.green);
+static void remove_fbs(void)
+{
+	igt_crtc_t *crtc;
+
+	for_each_crtc(&data.display, crtc) {
+		if (data.fbs[crtc->crtc_index].red.fb_id)
+			igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].red);
+		if (data.fbs[crtc->crtc_index].green.fb_id)
+			igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].green);
+	}
 }
 
 static const struct {
@@ -1241,6 +1264,7 @@ int igt_main()
 
 	igt_fixture() {
 		test_content_protection_cleanup();
+		remove_fbs();
 		igt_display_fini(&data.display);
 		drm_close_driver(data.drm_fd);
 	}
-- 
2.43.0


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

* [PATCH i-g-t v5 2/3] tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
  2026-03-30  3:20 ` [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure Jason-JH Lin
@ 2026-03-30  3:20 ` Jason-JH Lin
  2026-04-17  4:12   ` Fei Shao
  2026-05-06 11:05   ` Reddy Guddati, Santhosh
  2026-03-30  3:20 ` [PATCH i-g-t v5 3/3] tests/kms_content_protection: Add FB cleanup for MST tests Jason-JH Lin
                   ` (9 subsequent siblings)
  11 siblings, 2 replies; 24+ messages in thread
From: Jason-JH Lin @ 2026-03-30  3:20 UTC (permalink / raw)
  To: igt-dev, Karthik B S, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao
  Cc: Jani, Jason-JH Lin, Paul-PL Chen, Nancy Lin, Singo Chang,
	Gil Dekel, Yacoub, Project_Global_Chrome_Upstream_Group

Refactor functions to accept crtc parameter and use per-CRTC
framebuffers (data.fbs[crtc->crtc_index]).

Modified: modeset_with_fb(), test_cp_enable/disable(),
test_cp_enable_with_retry(), test_mst_cp_disable(),
prepare_modeset_on_mst_output(), test_fini(),
test_content_protection_cleanup().

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
---
 tests/kms_content_protection.c | 74 ++++++++++++++++++++--------------
 1 file changed, 43 insertions(+), 31 deletions(-)

diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index df9ff5efcaa2..b302d4cfd47d 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -263,7 +263,7 @@ commit_display_and_wait_for_flip(enum igt_commit_style commit_style)
 	}
 }
 
-static void modeset_with_fb(igt_output_t *output,
+static void modeset_with_fb(igt_output_t *output, igt_crtc_t *crtc,
 			    enum igt_commit_style commit_style)
 {
 	igt_display_t *display = &data.display;
@@ -273,18 +273,19 @@ static void modeset_with_fb(igt_output_t *output,
 	mode = igt_output_get_mode(output);
 
 	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
-	igt_plane_set_fb(primary, &data.red);
-	igt_fb_set_size(&data.red, primary, mode->hdisplay, mode->vdisplay);
+	igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].red);
+	igt_fb_set_size(&data.fbs[crtc->crtc_index].red, primary, mode->hdisplay, mode->vdisplay);
 
 	igt_display_commit2(display, commit_style);
 
-	igt_plane_set_fb(primary, &data.green);
+	igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].green);
 
 	/* Wait for Flip completion before starting the HDCP authentication */
 	commit_display_and_wait_for_flip(commit_style);
 }
 
-static bool test_cp_enable(igt_output_t *output, enum igt_commit_style commit_style,
+static bool test_cp_enable(igt_output_t *output, igt_crtc_t *crtc,
+			   enum igt_commit_style commit_style,
 			   int content_type, bool type_change)
 {
 	igt_display_t *display = &data.display;
@@ -307,7 +308,7 @@ static bool test_cp_enable(igt_output_t *output, enum igt_commit_style commit_st
 	ret = wait_for_prop_value(output, CP_ENABLED,
 				  KERNEL_AUTH_TIME_ALLOWED_MSEC);
 	if (ret) {
-		igt_plane_set_fb(primary, &data.green);
+		igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].green);
 		igt_display_commit2(display, commit_style);
 	}
 
@@ -320,13 +321,15 @@ static void test_mst_cp_disable(igt_output_t *hdcp_mst_output[],
 {
 	igt_display_t *display = &data.display;
 	igt_plane_t *primary;
+	igt_crtc_t *crtc;
 	bool ret;
 	int count;
 	u64 val;
 
 	for (count = 0; count < valid_outputs; count++) {
+		crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
 		primary = igt_output_get_plane_type(hdcp_mst_output[count], DRM_PLANE_TYPE_PRIMARY);
-		igt_plane_set_fb(primary, &data.red);
+		igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].red);
 		igt_output_set_prop_value(hdcp_mst_output[count], IGT_CONNECTOR_CONTENT_PROTECTION,
 					  CP_UNDESIRED);
 	}
@@ -344,7 +347,8 @@ static void test_mst_cp_disable(igt_output_t *hdcp_mst_output[],
 	igt_assert_f(ret, "Content Protection not cleared on all MST outputs\n");
 }
 
-static void test_cp_disable(igt_output_t *output, enum igt_commit_style commit_style)
+static void test_cp_disable(igt_output_t *output, igt_crtc_t *crtc,
+			    enum igt_commit_style commit_style)
 {
 	igt_display_t *display = &data.display;
 	igt_plane_t *primary;
@@ -358,7 +362,7 @@ static void test_cp_disable(igt_output_t *output, enum igt_commit_style commit_s
 	 */
 	igt_output_set_prop_value(output, IGT_CONNECTOR_CONTENT_PROTECTION,
 				  CP_UNDESIRED);
-	igt_plane_set_fb(primary, &data.red);
+	igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].red);
 	igt_display_commit2(display, commit_style);
 
 	/* Wait for HDCP to be disabled, before crtc off */
@@ -367,7 +371,7 @@ static void test_cp_disable(igt_output_t *output, enum igt_commit_style commit_s
 	igt_assert_f(ret, "Content Protection not cleared\n");
 }
 
-static void test_cp_enable_with_retry(igt_output_t *output,
+static void test_cp_enable_with_retry(igt_output_t *output, igt_crtc_t *crtc,
 				      enum igt_commit_style commit_style,
 				      int retry, int content_type,
 				      bool expect_failure,
@@ -378,16 +382,16 @@ static void test_cp_enable_with_retry(igt_output_t *output,
 
 	do {
 		if (!type_change || retry_orig != retry)
-			test_cp_disable(output, commit_style);
+			test_cp_disable(output, crtc, commit_style);
 
-		ret = test_cp_enable(output, commit_style, content_type, type_change);
+		ret = test_cp_enable(output, crtc, commit_style, content_type, type_change);
 
 		if (!ret && --retry)
 			igt_debug("Retry (%d/2) ...\n", 3 - retry);
 	} while (retry && !ret);
 
 	if (!ret)
-		test_cp_disable(output, commit_style);
+		test_cp_disable(output, crtc, commit_style);
 
 	if (expect_failure)
 		igt_assert_f(!ret,
@@ -457,16 +461,16 @@ static void test_content_protection_on_output(igt_output_t *output,
 	igt_display_t *display = &data.display;
 	bool ret;
 
-	test_cp_enable_with_retry(output, commit_style, 3, content_type, false,
+	test_cp_enable_with_retry(output, crtc, commit_style, 3, content_type, false,
 				  false);
 
 	if (data.cp_tests & CP_TYPE_CHANGE) {
 		/* Type 1 -> Type 0 */
-		test_cp_enable_with_retry(output, commit_style, 3,
+		test_cp_enable_with_retry(output, crtc, commit_style, 3,
 					  HDCP_CONTENT_TYPE_0, false,
 					  true);
 		/* Type 0 -> Type 1 */
-		test_cp_enable_with_retry(output, commit_style, 3,
+		test_cp_enable_with_retry(output, crtc, commit_style, 3,
 					  content_type, false,
 					  true);
 	}
@@ -476,14 +480,14 @@ static void test_content_protection_on_output(igt_output_t *output,
 			     "mei_hdcp unload failed");
 
 		/* Expected to fail */
-		test_cp_enable_with_retry(output, commit_style, 3,
+		test_cp_enable_with_retry(output, crtc, commit_style, 3,
 					  content_type, true, false);
 
 		igt_assert_f(!igt_kmod_load("mei_hdcp", NULL),
 			     "mei_hdcp load failed");
 
 		/* Expected to pass */
-		test_cp_enable_with_retry(output, commit_style, 3,
+		test_cp_enable_with_retry(output, crtc, commit_style, 3,
 					  content_type, false, false);
 	}
 
@@ -502,7 +506,7 @@ static void test_content_protection_on_output(igt_output_t *output,
 		ret = wait_for_prop_value(output, CP_ENABLED,
 					  KERNEL_AUTH_TIME_ALLOWED_MSEC);
 		if (!ret)
-			test_cp_enable_with_retry(output, commit_style, 2,
+			test_cp_enable_with_retry(output, crtc, commit_style, 2,
 						  content_type, false,
 						  false);
 	}
@@ -513,7 +517,7 @@ static void test_content_protection_on_output(igt_output_t *output,
 		ret = wait_for_prop_value(output, CP_ENABLED,
 					  KERNEL_AUTH_TIME_ALLOWED_MSEC);
 		if (!ret)
-			test_cp_enable_with_retry(output, commit_style, 2,
+			test_cp_enable_with_retry(output, crtc, commit_style, 2,
 						  content_type, false,
 						  false);
 	}
@@ -583,21 +587,24 @@ static bool sink_hdcp2_capable(igt_output_t *output)
 	return strstr(buf, "HDCP2.2");
 }
 
-static void prepare_modeset_on_mst_output(igt_output_t *output, bool is_enabled)
+static void prepare_modeset_on_mst_output(igt_output_t *output, igt_crtc_t *crtc, bool is_enabled)
 {
 	drmModeModeInfo *mode;
 	igt_plane_t *primary;
 	int width, height;
+	struct igt_fb *fb;
 
 	mode = igt_output_get_mode(output);
 
 	width = mode->hdisplay;
 	height = mode->vdisplay;
 
+	fb = is_enabled ? &data.fbs[crtc->crtc_index].green : &data.fbs[crtc->crtc_index].red;
+
 	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 	igt_plane_set_fb(primary, NULL);
-	igt_plane_set_fb(primary, is_enabled ? &data.green : &data.red);
-	igt_fb_set_size(is_enabled ? &data.green : &data.red, primary, width, height);
+	igt_plane_set_fb(primary, fb);
+	igt_fb_set_size(fb, primary, width, height);
 	igt_plane_set_size(primary, width, height);
 }
 
@@ -669,11 +676,11 @@ static void reset_i915_force_hdcp14(igt_output_t *output)
 }
 
 static void
-test_fini(igt_output_t *output, enum igt_commit_style commit_style)
+test_fini(igt_output_t *output, igt_crtc_t *crtc, enum igt_commit_style commit_style)
 {
 	igt_plane_t *primary;
 
-	test_cp_disable(output, commit_style);
+	test_cp_disable(output, crtc, commit_style);
 	primary = igt_output_get_plane_type(output,
 					    DRM_PLANE_TYPE_PRIMARY);
 	igt_plane_set_fb(primary, NULL);
@@ -769,7 +776,7 @@ test_content_protection(enum igt_commit_style commit_style, int content_type)
 			if (!intel_pipe_output_combo_valid(display))
 				continue;
 
-			modeset_with_fb(output, commit_style);
+			modeset_with_fb(output, crtc, commit_style);
 			if (data.is_force_hdcp14)
 				set_i915_force_hdcp14(output);
 
@@ -783,7 +790,7 @@ test_content_protection(enum igt_commit_style commit_style, int content_type)
 			if (data.is_force_hdcp14)
 				reset_i915_force_hdcp14(output);
 
-			test_fini(output, commit_style);
+			test_fini(output, crtc, commit_style);
 			/*
 			 * Testing a output with a pipe is enough for HDCP
 			 * testing. No ROI in testing the connector with other
@@ -876,8 +883,11 @@ test_mst_cp_enable_with_retry(igt_output_t *hdcp_mst_output[], int valid_outputs
 		if (!ret || retries)
 			igt_debug("Retry %d/3\n", 3 - retries);
 
-		for (i = 0; i < valid_outputs; i++)
-			prepare_modeset_on_mst_output(hdcp_mst_output[i], ret);
+		for (i = 0; i < valid_outputs; i++) {
+			igt_crtc_t *crtc = igt_output_get_driving_crtc(hdcp_mst_output[i]);
+
+			prepare_modeset_on_mst_output(hdcp_mst_output[i], crtc, ret);
+		}
 
 		igt_display_commit2(display, COMMIT_ATOMIC);
 	} while (retries && !ret);
@@ -919,7 +929,7 @@ test_content_protection_mst(int content_type)
 		igt_assert_f(pipe_found, "No valid pipe found for %s\n", output->name);
 
 		igt_output_set_crtc(output, crtc);
-		prepare_modeset_on_mst_output(output, false);
+		prepare_modeset_on_mst_output(output, crtc, false);
 		dp_mst_outputs++;
 		if (output_hdcp_capable(output, content_type))
 			hdcp_mst_output[valid_outputs++] = output;
@@ -982,6 +992,7 @@ static void test_content_protection_cleanup(void)
 {
 	igt_display_t *display = &data.display;
 	igt_output_t *output;
+	igt_crtc_t *crtc;
 	uint64_t val;
 
 	for_each_connected_output(display, output) {
@@ -994,7 +1005,8 @@ static void test_content_protection_cleanup(void)
 			continue;
 
 		igt_info("CP Prop being UNDESIRED on %s\n", output->name);
-		test_cp_disable(output, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+		crtc = igt_output_get_driving_crtc(output);
+		test_cp_disable(output, crtc, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
 	}
 }
 
-- 
2.43.0


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

* [PATCH i-g-t v5 3/3] tests/kms_content_protection: Add FB cleanup for MST tests
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
  2026-03-30  3:20 ` [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure Jason-JH Lin
  2026-03-30  3:20 ` [PATCH i-g-t v5 2/3] tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs Jason-JH Lin
@ 2026-03-30  3:20 ` Jason-JH Lin
  2026-05-06 11:13   ` Reddy Guddati, Santhosh
  2026-03-30  4:14 ` ✓ Xe.CI.BAT: success for Optimize framebuffer management Patchwork
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Jason-JH Lin @ 2026-03-30  3:20 UTC (permalink / raw)
  To: igt-dev, Karthik B S, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao
  Cc: Jani, Jason-JH Lin, Paul-PL Chen, Nancy Lin, Singo Chang,
	Gil Dekel, Yacoub, Project_Global_Chrome_Upstream_Group

Reuse create_fbs() framebuffers for initial MST setup to avoid
unnecessary recreation.

When igt_override_all_active_output_modes_to_fit_bw() changes modes:
- Detach planes before removing FBs
- Recreate FBs with new dimensions
- Re-attach planes

Add test cleanup: detach planes and remove all MST FBs to prevent
resource leaks.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Suggested-by: Karthik B.S <karthik.b.s@intel.com>
Reviewed-by: Fei Shao <fshao@chromium.org>
---
 tests/kms_content_protection.c | 44 +++++++++++++++++++++++++++++++---
 1 file changed, 41 insertions(+), 3 deletions(-)

diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
index b302d4cfd47d..7a5d49106074 100644
--- a/tests/kms_content_protection.c
+++ b/tests/kms_content_protection.c
@@ -945,9 +945,33 @@ test_content_protection_mst(int content_type)
 		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
 		igt_require_f(found, "No valid mode combo found for MST modeset\n");
 
-		for (count = 0; count < valid_outputs; count++)
-			prepare_modeset_on_mst_output(hdcp_mst_output[count], false);
+		/* Detach planes before removing framebuffers */
+		for (count = 0; count < valid_outputs; count++) {
+			crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
+			prepare_modeset_on_mst_output(hdcp_mst_output[count], crtc, false);
+		}
+		igt_display_commit2(display, COMMIT_ATOMIC);
+
+		/* Need to re-prepare after mode override */
+		for (count = 0; count < valid_outputs; count++) {
+			drmModeModeInfo *mode;
+
+			crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
+
+			igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].red);
+			igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].green);
+
+			mode = igt_output_get_mode(hdcp_mst_output[count]);
+
+			igt_create_color_fb(data.drm_fd, mode->hdisplay, mode->vdisplay,
+					    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
+					    1.f, 0.f, 0.f, &data.fbs[crtc->crtc_index].red);
+			igt_create_color_fb(data.drm_fd, mode->hdisplay, mode->vdisplay,
+					    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
+					    0.f, 1.f, 0.f, &data.fbs[crtc->crtc_index].green);
 
+			prepare_modeset_on_mst_output(hdcp_mst_output[count], crtc, false);
+		}
 		ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
 		igt_require_f(ret == 0, "Commit failure during MST modeset\n");
 	}
@@ -973,8 +997,9 @@ test_content_protection_mst(int content_type)
 	/*
 	 * Verify if CP is still enabled on other outputs by disabling CP on the first output.
 	 */
+	crtc = igt_output_get_driving_crtc(hdcp_mst_output[0]);
 	igt_debug("CP Prop being UNDESIRED on %s\n", hdcp_mst_output[0]->name);
-	test_cp_disable(hdcp_mst_output[0], COMMIT_ATOMIC);
+	test_cp_disable(hdcp_mst_output[0], crtc, COMMIT_ATOMIC);
 
 	/* CP is expected to be still enabled on other outputs*/
 	for (i = 1; i < valid_outputs; i++) {
@@ -985,6 +1010,19 @@ test_content_protection_mst(int content_type)
 
 	if (data.cp_tests & CP_LIC)
 		test_cp_lic_on_mst(hdcp_mst_output, valid_outputs, 1);
+
+	/* Detach planes before removing framebuffers */
+	for (count = 0; count < valid_outputs; count++) {
+		crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
+		prepare_modeset_on_mst_output(hdcp_mst_output[count], crtc, false);
+	}
+	igt_display_commit2(display, COMMIT_ATOMIC);
+
+	for (count = 0; count < valid_outputs; count++) {
+		crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
+		igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].red);
+		igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].green);
+	}
 }
 
 
-- 
2.43.0


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

* ✓ Xe.CI.BAT: success for Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (2 preceding siblings ...)
  2026-03-30  3:20 ` [PATCH i-g-t v5 3/3] tests/kms_content_protection: Add FB cleanup for MST tests Jason-JH Lin
@ 2026-03-30  4:14 ` Patchwork
  2026-03-30  4:37 ` ✓ i915.CI.BAT: " Patchwork
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-03-30  4:14 UTC (permalink / raw)
  To: Jason-JH Lin; +Cc: igt-dev

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

== Series Details ==

Series: Optimize framebuffer management
URL   : https://patchwork.freedesktop.org/series/164052/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8834_BAT -> XEIGTPW_14879_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (14 -> 14)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


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

  * IGT: IGT_8834 -> IGTPW_14879
  * Linux: xe-4793-2ccc868c40a9048ecf287b7bb002d73b5d25c7bf -> xe-4817-24a8a6cff08b6e20acb0f4c2d32acf26aa2087db

  IGTPW_14879: 14879
  IGT_8834: 8834
  xe-4793-2ccc868c40a9048ecf287b7bb002d73b5d25c7bf: 2ccc868c40a9048ecf287b7bb002d73b5d25c7bf
  xe-4817-24a8a6cff08b6e20acb0f4c2d32acf26aa2087db: 24a8a6cff08b6e20acb0f4c2d32acf26aa2087db

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14879/index.html

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

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

* ✓ i915.CI.BAT: success for Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (3 preceding siblings ...)
  2026-03-30  4:14 ` ✓ Xe.CI.BAT: success for Optimize framebuffer management Patchwork
@ 2026-03-30  4:37 ` Patchwork
  2026-03-30  4:37 ` Patchwork
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-03-30  4:37 UTC (permalink / raw)
  To: Jason-JH Lin; +Cc: igt-dev

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

== Series Details ==

Series: Optimize framebuffer management
URL   : https://patchwork.freedesktop.org/series/164052/
State : success

== Summary ==

CI Bug Log - changes from IGT_8834 -> IGTPW_14879
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (41 -> 39)
------------------------------

  Missing    (2): bat-dg2-13 bat-adls-6 

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-arlh-2:         [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-2/igt@i915_selftest@live@workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-2/igt@i915_selftest@live@workarounds.html
    - bat-dg2-14:         [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-dg2-14/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-dg2-14/igt@i915_selftest@live@workarounds.html
    - bat-mtlp-9:         [PASS][11] -> [DMESG-FAIL][12] ([i915#12061]) +1 other test dmesg-fail
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-mtlp-9/igt@i915_selftest@live@workarounds.html

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8834 -> IGTPW_14879
  * Linux: CI_DRM_18222 -> CI_DRM_18246

  CI-20190529: 20190529
  CI_DRM_18222: 2ccc868c40a9048ecf287b7bb002d73b5d25c7bf @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_18246: 24a8a6cff08b6e20acb0f4c2d32acf26aa2087db @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14879: 14879
  IGT_8834: 8834

== Logs ==

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

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

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

* ✓ i915.CI.BAT: success for Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (4 preceding siblings ...)
  2026-03-30  4:37 ` ✓ i915.CI.BAT: " Patchwork
@ 2026-03-30  4:37 ` Patchwork
  2026-03-30  4:38 ` Patchwork
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-03-30  4:37 UTC (permalink / raw)
  To: Jason-JH Lin; +Cc: igt-dev

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

== Series Details ==

Series: Optimize framebuffer management
URL   : https://patchwork.freedesktop.org/series/164052/
State : success

== Summary ==

CI Bug Log - changes from IGT_8834 -> IGTPW_14879
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (41 -> 39)
------------------------------

  Missing    (2): bat-dg2-13 bat-adls-6 

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-arlh-2:         [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-2/igt@i915_selftest@live@workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-2/igt@i915_selftest@live@workarounds.html
    - bat-dg2-14:         [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-dg2-14/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-dg2-14/igt@i915_selftest@live@workarounds.html
    - bat-mtlp-9:         [PASS][11] -> [DMESG-FAIL][12] ([i915#12061]) +1 other test dmesg-fail
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-mtlp-9/igt@i915_selftest@live@workarounds.html

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8834 -> IGTPW_14879
  * Linux: CI_DRM_18222 -> CI_DRM_18246

  CI-20190529: 20190529
  CI_DRM_18222: 2ccc868c40a9048ecf287b7bb002d73b5d25c7bf @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_18246: 24a8a6cff08b6e20acb0f4c2d32acf26aa2087db @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14879: 14879
  IGT_8834: 8834

== Logs ==

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

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

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

* ✓ i915.CI.BAT: success for Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (5 preceding siblings ...)
  2026-03-30  4:37 ` Patchwork
@ 2026-03-30  4:38 ` Patchwork
  2026-03-30  4:38 ` Patchwork
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-03-30  4:38 UTC (permalink / raw)
  To: Jason-JH Lin; +Cc: igt-dev

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

== Series Details ==

Series: Optimize framebuffer management
URL   : https://patchwork.freedesktop.org/series/164052/
State : success

== Summary ==

CI Bug Log - changes from IGT_8834 -> IGTPW_14879
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (41 -> 39)
------------------------------

  Missing    (2): bat-dg2-13 bat-adls-6 

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-arlh-2:         [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-2/igt@i915_selftest@live@workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-2/igt@i915_selftest@live@workarounds.html
    - bat-dg2-14:         [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-dg2-14/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-dg2-14/igt@i915_selftest@live@workarounds.html
    - bat-mtlp-9:         [PASS][11] -> [DMESG-FAIL][12] ([i915#12061]) +1 other test dmesg-fail
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-mtlp-9/igt@i915_selftest@live@workarounds.html

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8834 -> IGTPW_14879
  * Linux: CI_DRM_18222 -> CI_DRM_18246

  CI-20190529: 20190529
  CI_DRM_18222: 2ccc868c40a9048ecf287b7bb002d73b5d25c7bf @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_18246: 24a8a6cff08b6e20acb0f4c2d32acf26aa2087db @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14879: 14879
  IGT_8834: 8834

== Logs ==

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

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

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

* ✓ i915.CI.BAT: success for Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (6 preceding siblings ...)
  2026-03-30  4:38 ` Patchwork
@ 2026-03-30  4:38 ` Patchwork
  2026-03-30  4:38 ` Patchwork
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-03-30  4:38 UTC (permalink / raw)
  To: Jason-JH Lin; +Cc: igt-dev

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

== Series Details ==

Series: Optimize framebuffer management
URL   : https://patchwork.freedesktop.org/series/164052/
State : success

== Summary ==

CI Bug Log - changes from IGT_8834 -> IGTPW_14879
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (41 -> 39)
------------------------------

  Missing    (2): bat-dg2-13 bat-adls-6 

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-arlh-2:         [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-2/igt@i915_selftest@live@workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-2/igt@i915_selftest@live@workarounds.html
    - bat-dg2-14:         [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-dg2-14/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-dg2-14/igt@i915_selftest@live@workarounds.html
    - bat-mtlp-9:         [PASS][11] -> [DMESG-FAIL][12] ([i915#12061]) +1 other test dmesg-fail
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-mtlp-9/igt@i915_selftest@live@workarounds.html

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8834 -> IGTPW_14879
  * Linux: CI_DRM_18222 -> CI_DRM_18246

  CI-20190529: 20190529
  CI_DRM_18222: 2ccc868c40a9048ecf287b7bb002d73b5d25c7bf @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_18246: 24a8a6cff08b6e20acb0f4c2d32acf26aa2087db @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14879: 14879
  IGT_8834: 8834

== Logs ==

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

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

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

* ✓ i915.CI.BAT: success for Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (7 preceding siblings ...)
  2026-03-30  4:38 ` Patchwork
@ 2026-03-30  4:38 ` Patchwork
  2026-03-30  5:10 ` ✓ Xe.CI.FULL: " Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-03-30  4:38 UTC (permalink / raw)
  To: Jason-JH Lin; +Cc: igt-dev

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

== Series Details ==

Series: Optimize framebuffer management
URL   : https://patchwork.freedesktop.org/series/164052/
State : success

== Summary ==

CI Bug Log - changes from IGT_8834 -> IGTPW_14879
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (41 -> 39)
------------------------------

  Missing    (2): bat-dg2-13 bat-adls-6 

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

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

### IGT changes ###

#### Issues hit ####

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

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-arlh-2:         [PASS][7] -> [DMESG-FAIL][8] ([i915#12061]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-arlh-2/igt@i915_selftest@live@workarounds.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-arlh-2/igt@i915_selftest@live@workarounds.html
    - bat-dg2-14:         [PASS][9] -> [DMESG-FAIL][10] ([i915#12061]) +1 other test dmesg-fail
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-dg2-14/igt@i915_selftest@live@workarounds.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-dg2-14/igt@i915_selftest@live@workarounds.html
    - bat-mtlp-9:         [PASS][11] -> [DMESG-FAIL][12] ([i915#12061]) +1 other test dmesg-fail
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8834/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/bat-mtlp-9/igt@i915_selftest@live@workarounds.html

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8834 -> IGTPW_14879
  * Linux: CI_DRM_18222 -> CI_DRM_18246

  CI-20190529: 20190529
  CI_DRM_18222: 2ccc868c40a9048ecf287b7bb002d73b5d25c7bf @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_18246: 24a8a6cff08b6e20acb0f4c2d32acf26aa2087db @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14879: 14879
  IGT_8834: 8834

== Logs ==

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

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

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

* ✓ Xe.CI.FULL: success for Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (8 preceding siblings ...)
  2026-03-30  4:38 ` Patchwork
@ 2026-03-30  5:10 ` Patchwork
  2026-03-30  6:37 ` ✗ i915.CI.Full: failure " Patchwork
  2026-04-14  5:59 ` [PATCH i-g-t v5 0/3] " Jason-JH Lin (林睿祥)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-03-30  5:10 UTC (permalink / raw)
  To: Jason-JH Lin; +Cc: igt-dev

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

== Series Details ==

Series: Optimize framebuffer management
URL   : https://patchwork.freedesktop.org/series/164052/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8834_FULL -> XEIGTPW_14879_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (2 -> 2)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@kms_pm_dc@dc5-dpms:
    - shard-lnl:          [FAIL][1] ([Intel XE#7340] / [Intel XE#7504]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8834/shard-lnl-6/igt@kms_pm_dc@dc5-dpms.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14879/shard-lnl-2/igt@kms_pm_dc@dc5-dpms.html

  * igt@kms_vrr@cmrr@pipe-a-edp-1:
    - shard-lnl:          [FAIL][3] ([Intel XE#4459]) -> [PASS][4] +1 other test pass
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8834/shard-lnl-6/igt@kms_vrr@cmrr@pipe-a-edp-1.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14879/shard-lnl-1/igt@kms_vrr@cmrr@pipe-a-edp-1.html

  
#### Warnings ####

  * igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
    - shard-lnl:          [SKIP][5] ([Intel XE#7675]) -> [SKIP][6] ([Intel XE#7675] / [Intel XE#7679]) +7 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8834/shard-lnl-1/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14879/shard-lnl-3/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html

  
  [Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
  [Intel XE#7340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7340
  [Intel XE#7504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7504
  [Intel XE#7675]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7675
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679


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

  * IGT: IGT_8834 -> IGTPW_14879
  * Linux: xe-4793-2ccc868c40a9048ecf287b7bb002d73b5d25c7bf -> xe-4817-24a8a6cff08b6e20acb0f4c2d32acf26aa2087db

  IGTPW_14879: 14879
  IGT_8834: 8834
  xe-4793-2ccc868c40a9048ecf287b7bb002d73b5d25c7bf: 2ccc868c40a9048ecf287b7bb002d73b5d25c7bf
  xe-4817-24a8a6cff08b6e20acb0f4c2d32acf26aa2087db: 24a8a6cff08b6e20acb0f4c2d32acf26aa2087db

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14879/index.html

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

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

* ✗ i915.CI.Full: failure for Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (9 preceding siblings ...)
  2026-03-30  5:10 ` ✓ Xe.CI.FULL: " Patchwork
@ 2026-03-30  6:37 ` Patchwork
  2026-04-14  5:59 ` [PATCH i-g-t v5 0/3] " Jason-JH Lin (林睿祥)
  11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-03-30  6:37 UTC (permalink / raw)
  To: Jason-JH Lin; +Cc: igt-dev

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

== Series Details ==

Series: Optimize framebuffer management
URL   : https://patchwork.freedesktop.org/series/164052/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_18246_full -> IGTPW_14879_full
====================================================

Summary
-------

  **FAILURE**

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

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

Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live:
    - shard-tglu:         [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-tglu-5/igt@i915_selftest@live.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-6/igt@i915_selftest@live.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-snb:          [PASS][3] -> [ABORT][4] +1 other test abort
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-snb1/igt@kms_flip@flip-vs-suspend.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb1/igt@kms_flip@flip-vs-suspend.html

  
#### Warnings ####

  * igt@gem_pxp@hw-rejects-pxp-buffer:
    - shard-rkl:          [SKIP][5] ([i915#13717]) -> [FAIL][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-1/igt@gem_pxp@hw-rejects-pxp-buffer.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@gem_pxp@hw-rejects-pxp-buffer.html

  
New tests
---------

  New tests have been introduced between CI_DRM_18246_full and IGTPW_14879_full:

### New IGT tests (24) ###

  * igt@kms_plane_multiple@2x-tiling-x@pipe-a-hdmi-a-1-pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.01] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-a-hdmi-a-1-pipe-c-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.02] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-a-hdmi-a-2-pipe-b-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.19] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-a-hdmi-a-2-pipe-c-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.05] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-b-hdmi-a-1-pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.29] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-b-hdmi-a-1-pipe-c-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.01] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-b-hdmi-a-2-pipe-a-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.21] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-b-hdmi-a-2-pipe-c-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.02] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-c-hdmi-a-1-pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.99] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-c-hdmi-a-1-pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [0.98] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-c-hdmi-a-2-pipe-a-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.18] s

  * igt@kms_plane_multiple@2x-tiling-x@pipe-c-hdmi-a-2-pipe-b-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.01] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-a-hdmi-a-1-pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.14] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-a-hdmi-a-1-pipe-c-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-a-hdmi-a-2-pipe-b-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.34] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-a-hdmi-a-2-pipe-c-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-b-hdmi-a-1-pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.34] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-b-hdmi-a-1-pipe-c-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.13] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-b-hdmi-a-2-pipe-a-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.28] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-b-hdmi-a-2-pipe-c-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.14] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-c-hdmi-a-1-pipe-a-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.09] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-c-hdmi-a-1-pipe-b-hdmi-a-2:
    - Statuses : 1 pass(s)
    - Exec time: [1.14] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-c-hdmi-a-2-pipe-a-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.30] s

  * igt@kms_plane_multiple@2x-tiling-yf@pipe-c-hdmi-a-2-pipe-b-hdmi-a-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.15] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@crc32:
    - shard-rkl:          NOTRUN -> [SKIP][7] ([i915#6230])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@api_intel_bb@crc32.html
    - shard-dg1:          NOTRUN -> [SKIP][8] ([i915#6230])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@api_intel_bb@crc32.html
    - shard-tglu:         NOTRUN -> [SKIP][9] ([i915#6230])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-4/igt@api_intel_bb@crc32.html

  * igt@device_reset@cold-reset-bound:
    - shard-rkl:          NOTRUN -> [SKIP][10] ([i915#11078])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@device_reset@cold-reset-bound.html

  * igt@drm_buddy@drm_buddy:
    - shard-tglu-1:       NOTRUN -> [SKIP][11] ([i915#15678])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@drm_buddy@drm_buddy.html

  * igt@fbdev@pan:
    - shard-snb:          NOTRUN -> [FAIL][12] ([i915#15792])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb4/igt@fbdev@pan.html

  * igt@gem_ccs@block-copy-compressed:
    - shard-rkl:          NOTRUN -> [SKIP][13] ([i915#3555] / [i915#9323])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@gem_ccs@block-copy-compressed.html

  * igt@gem_ccs@suspend-resume:
    - shard-dg2:          NOTRUN -> [INCOMPLETE][14] ([i915#13356])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-7/igt@gem_ccs@suspend-resume.html
    - shard-rkl:          NOTRUN -> [SKIP][15] ([i915#9323])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@gem_ccs@suspend-resume.html
    - shard-dg1:          NOTRUN -> [SKIP][16] ([i915#9323])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-13/igt@gem_ccs@suspend-resume.html
    - shard-tglu:         NOTRUN -> [SKIP][17] ([i915#9323])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-2/igt@gem_ccs@suspend-resume.html
    - shard-mtlp:         NOTRUN -> [SKIP][18] ([i915#9323])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-3/igt@gem_ccs@suspend-resume.html

  * igt@gem_ccs@suspend-resume@tile64-compressed-compfmt0-lmem0-lmem0:
    - shard-dg2:          NOTRUN -> [INCOMPLETE][19] ([i915#12392] / [i915#13356])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-7/igt@gem_ccs@suspend-resume@tile64-compressed-compfmt0-lmem0-lmem0.html

  * igt@gem_close_race@multigpu-basic-process:
    - shard-rkl:          NOTRUN -> [SKIP][20] ([i915#7697])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@gem_close_race@multigpu-basic-process.html
    - shard-dg1:          NOTRUN -> [SKIP][21] ([i915#7697])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-16/igt@gem_close_race@multigpu-basic-process.html

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

  * igt@gem_create@create-ext-set-pat:
    - shard-tglu-1:       NOTRUN -> [SKIP][23] ([i915#8562])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@gem_create@create-ext-set-pat.html

  * igt@gem_ctx_persistence@legacy-engines-queued:
    - shard-snb:          NOTRUN -> [SKIP][24] ([i915#1099]) +1 other test skip
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb7/igt@gem_ctx_persistence@legacy-engines-queued.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-dg2:          NOTRUN -> [SKIP][25] ([i915#280])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_eio@in-flight-suspend:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][26] ([i915#13390])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_eio@in-flight-suspend.html
    - shard-glk11:        NOTRUN -> [INCOMPLETE][27] ([i915#13390])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk11/igt@gem_eio@in-flight-suspend.html

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-rkl:          NOTRUN -> [SKIP][28] ([i915#4525]) +2 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@gem_exec_balancer@parallel-balancer.html

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

  * igt@gem_exec_balancer@parallel-keep-submit-fence:
    - shard-tglu:         NOTRUN -> [SKIP][30] ([i915#4525])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-8/igt@gem_exec_balancer@parallel-keep-submit-fence.html

  * igt@gem_exec_capture@capture-recoverable:
    - shard-rkl:          NOTRUN -> [SKIP][31] ([i915#6344])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@gem_exec_capture@capture-recoverable.html

  * igt@gem_exec_flush@basic-uc-pro-default:
    - shard-dg1:          NOTRUN -> [SKIP][32] ([i915#3539] / [i915#4852]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@gem_exec_flush@basic-uc-pro-default.html

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

  * igt@gem_exec_reloc@basic-gtt-read-noreloc:
    - shard-rkl:          NOTRUN -> [SKIP][34] ([i915#14544] / [i915#3281])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-read-noreloc.html

  * igt@gem_exec_reloc@basic-gtt-wc-active:
    - shard-dg2:          NOTRUN -> [SKIP][35] ([i915#3281]) +4 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-6/igt@gem_exec_reloc@basic-gtt-wc-active.html
    - shard-dg1:          NOTRUN -> [SKIP][36] ([i915#3281]) +3 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-13/igt@gem_exec_reloc@basic-gtt-wc-active.html

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

  * igt@gem_exec_schedule@semaphore-power:
    - shard-rkl:          NOTRUN -> [SKIP][38] ([i915#7276])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-4/igt@gem_exec_schedule@semaphore-power.html

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

  * igt@gem_lmem_swapping@massive:
    - shard-rkl:          NOTRUN -> [SKIP][40] ([i915#4613]) +3 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@gem_lmem_swapping@massive.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-tglu-1:       NOTRUN -> [SKIP][41] ([i915#4613]) +2 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@gem_lmem_swapping@parallel-multi.html

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

  * igt@gem_lmem_swapping@random:
    - shard-rkl:          NOTRUN -> [SKIP][43] ([i915#14544] / [i915#4613])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_lmem_swapping@random.html

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

  * igt@gem_media_vme:
    - shard-dg2:          NOTRUN -> [SKIP][45] ([i915#284])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@gem_media_vme.html
    - shard-rkl:          NOTRUN -> [SKIP][46] ([i915#284])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@gem_media_vme.html
    - shard-dg1:          NOTRUN -> [SKIP][47] ([i915#284])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-19/igt@gem_media_vme.html
    - shard-tglu:         NOTRUN -> [SKIP][48] ([i915#284])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-9/igt@gem_media_vme.html
    - shard-mtlp:         NOTRUN -> [SKIP][49] ([i915#284])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@gem_media_vme.html

  * igt@gem_mmap@big-bo:
    - shard-dg1:          NOTRUN -> [SKIP][50] ([i915#4083]) +2 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-17/igt@gem_mmap@big-bo.html

  * igt@gem_mmap_gtt@basic-small-bo-tiledy:
    - shard-dg2:          NOTRUN -> [SKIP][51] ([i915#4077]) +8 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@gem_mmap_gtt@basic-small-bo-tiledy.html

  * igt@gem_mmap_gtt@cpuset-big-copy-xy:
    - shard-dg1:          NOTRUN -> [SKIP][52] ([i915#4077]) +7 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-16/igt@gem_mmap_gtt@cpuset-big-copy-xy.html

  * igt@gem_mmap_wc@write-prefaulted:
    - shard-dg2:          NOTRUN -> [SKIP][53] ([i915#4083])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@gem_mmap_wc@write-prefaulted.html
    - shard-mtlp:         NOTRUN -> [SKIP][54] ([i915#4083])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-6/igt@gem_mmap_wc@write-prefaulted.html

  * igt@gem_partial_pwrite_pread@reads-snoop:
    - shard-rkl:          NOTRUN -> [SKIP][55] ([i915#14544] / [i915#3282])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_partial_pwrite_pread@reads-snoop.html

  * igt@gem_pread@exhaustion:
    - shard-tglu-1:       NOTRUN -> [WARN][56] ([i915#2658])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@gem_pread@exhaustion.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-tglu:         NOTRUN -> [WARN][57] ([i915#2658])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-10/igt@gem_pwrite@basic-exhaustion.html
    - shard-glk10:        NOTRUN -> [WARN][58] ([i915#14702] / [i915#2658])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk10/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_pxp@hw-rejects-pxp-buffer:
    - shard-tglu:         NOTRUN -> [SKIP][59] ([i915#13398])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-5/igt@gem_pxp@hw-rejects-pxp-buffer.html

  * igt@gem_pxp@reject-modify-context-protection-off-1:
    - shard-dg1:          NOTRUN -> [SKIP][60] ([i915#4270]) +1 other test skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@gem_pxp@reject-modify-context-protection-off-1.html

  * igt@gem_pxp@verify-pxp-key-change-after-suspend-resume:
    - shard-dg2:          NOTRUN -> [SKIP][61] ([i915#4270]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html

  * igt@gem_readwrite@new-obj:
    - shard-dg1:          NOTRUN -> [SKIP][62] ([i915#3282])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-17/igt@gem_readwrite@new-obj.html

  * igt@gem_readwrite@write-bad-handle:
    - shard-rkl:          NOTRUN -> [SKIP][63] ([i915#3282]) +5 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-4/igt@gem_readwrite@write-bad-handle.html

  * igt@gem_render_copy@x-tiled-to-vebox-y-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][64] ([i915#8428]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-5/igt@gem_render_copy@x-tiled-to-vebox-y-tiled.html

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

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-rkl:          NOTRUN -> [SKIP][66] ([i915#14544]) +3 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_tiled_pread_basic@basic:
    - shard-rkl:          NOTRUN -> [SKIP][67] ([i915#15656])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@gem_tiled_pread_basic@basic.html

  * igt@gem_tiled_pread_pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][68] ([i915#4079])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@gem_tiled_pread_pwrite.html
    - shard-dg1:          NOTRUN -> [SKIP][69] ([i915#4079])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@gem_tiled_pread_pwrite.html
    - shard-mtlp:         NOTRUN -> [SKIP][70] ([i915#4079])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-6/igt@gem_tiled_pread_pwrite.html

  * igt@gem_unfence_active_buffers:
    - shard-dg1:          NOTRUN -> [SKIP][71] ([i915#4879])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-13/igt@gem_unfence_active_buffers.html

  * igt@gem_userptr_blits@create-destroy-unsync:
    - shard-dg2:          NOTRUN -> [SKIP][72] ([i915#3297])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-1/igt@gem_userptr_blits@create-destroy-unsync.html
    - shard-rkl:          NOTRUN -> [SKIP][73] ([i915#14544] / [i915#3297])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_userptr_blits@create-destroy-unsync.html
    - shard-tglu:         NOTRUN -> [SKIP][74] ([i915#3297])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-3/igt@gem_userptr_blits@create-destroy-unsync.html
    - shard-mtlp:         NOTRUN -> [SKIP][75] ([i915#3297])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-4/igt@gem_userptr_blits@create-destroy-unsync.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-tglu:         NOTRUN -> [SKIP][76] ([i915#3297] / [i915#3323])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-6/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-glk:          NOTRUN -> [SKIP][77] ([i915#3323])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk4/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-rkl:          NOTRUN -> [SKIP][78] ([i915#3297] / [i915#3323])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-1/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-rkl:          NOTRUN -> [SKIP][79] ([i915#3297]) +1 other test skip
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@gem_userptr_blits@relocations:
    - shard-dg2:          NOTRUN -> [SKIP][80] ([i915#3281] / [i915#3297])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@gem_userptr_blits@relocations.html
    - shard-rkl:          NOTRUN -> [SKIP][81] ([i915#3281] / [i915#3297])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@gem_userptr_blits@relocations.html
    - shard-dg1:          NOTRUN -> [SKIP][82] ([i915#3281] / [i915#3297])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-19/igt@gem_userptr_blits@relocations.html
    - shard-mtlp:         NOTRUN -> [SKIP][83] ([i915#3281] / [i915#3297])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@gem_userptr_blits@relocations.html

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

  * igt@gen9_exec_parse@batch-invalid-length:
    - shard-dg2:          NOTRUN -> [SKIP][85] ([i915#2856]) +2 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@gen9_exec_parse@batch-invalid-length.html

  * igt@gen9_exec_parse@bb-large:
    - shard-tglu-1:       NOTRUN -> [SKIP][86] ([i915#2527] / [i915#2856]) +1 other test skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@gen9_exec_parse@bb-large.html

  * igt@gen9_exec_parse@bb-start-cmd:
    - shard-dg1:          NOTRUN -> [SKIP][87] ([i915#2527]) +2 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@gen9_exec_parse@bb-start-cmd.html

  * igt@gen9_exec_parse@unaligned-access:
    - shard-rkl:          NOTRUN -> [SKIP][88] ([i915#2527]) +3 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@gen9_exec_parse@unaligned-access.html

  * igt@gen9_exec_parse@unaligned-jump:
    - shard-tglu:         NOTRUN -> [SKIP][89] ([i915#2527] / [i915#2856]) +4 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-10/igt@gen9_exec_parse@unaligned-jump.html
    - shard-mtlp:         NOTRUN -> [SKIP][90] ([i915#2856]) +1 other test skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-8/igt@gen9_exec_parse@unaligned-jump.html

  * igt@i915_drm_fdinfo@virtual-busy-hang-all:
    - shard-dg1:          NOTRUN -> [SKIP][91] ([i915#14118])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@i915_drm_fdinfo@virtual-busy-hang-all.html

  * igt@i915_module_load@fault-injection@__uc_init:
    - shard-rkl:          NOTRUN -> [SKIP][92] ([i915#15479]) +4 other tests skip
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@i915_module_load@fault-injection@__uc_init.html

  * igt@i915_module_load@fault-injection@intel_connector_register:
    - shard-rkl:          NOTRUN -> [ABORT][93] ([i915#15342]) +1 other test abort
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@i915_module_load@fault-injection@intel_connector_register.html

  * igt@i915_module_load@resize-bar:
    - shard-dg2:          [PASS][94] -> [DMESG-WARN][95] ([i915#14545])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-3/igt@i915_module_load@resize-bar.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-6/igt@i915_module_load@resize-bar.html
    - shard-rkl:          NOTRUN -> [SKIP][96] ([i915#14544] / [i915#6412])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@i915_module_load@resize-bar.html
    - shard-tglu-1:       NOTRUN -> [SKIP][97] ([i915#6412])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_rpm@system-suspend:
    - shard-glk:          [PASS][98] -> [INCOMPLETE][99] ([i915#13356])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-glk5/igt@i915_pm_rpm@system-suspend.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk4/igt@i915_pm_rpm@system-suspend.html

  * igt@i915_query@hwconfig_table:
    - shard-dg1:          NOTRUN -> [SKIP][100] ([i915#6245])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@i915_query@hwconfig_table.html
    - shard-rkl:          NOTRUN -> [SKIP][101] ([i915#6245])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@i915_query@hwconfig_table.html

  * igt@i915_query@test-query-geometry-subslices:
    - shard-rkl:          NOTRUN -> [SKIP][102] ([i915#5723])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@i915_query@test-query-geometry-subslices.html

  * igt@i915_selftest@live:
    - shard-mtlp:         [PASS][103] -> [DMESG-FAIL][104] ([i915#15560])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-mtlp-8/igt@i915_selftest@live.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@i915_selftest@live.html

  * igt@i915_selftest@live@gem_contexts:
    - shard-tglu:         [PASS][105] -> [DMESG-FAIL][106] ([i915#15478])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-tglu-5/igt@i915_selftest@live@gem_contexts.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-6/igt@i915_selftest@live@gem_contexts.html
    - shard-mtlp:         [PASS][107] -> [DMESG-FAIL][108] ([i915#15478])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-mtlp-8/igt@i915_selftest@live@gem_contexts.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@i915_selftest@live@gem_contexts.html

  * igt@i915_suspend@debugfs-reader:
    - shard-glk:          NOTRUN -> [INCOMPLETE][109] ([i915#4817])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk3/igt@i915_suspend@debugfs-reader.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-rkl:          [PASS][110] -> [INCOMPLETE][111] ([i915#4817])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-2/igt@i915_suspend@fence-restore-untiled.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@i915_suspend@fence-restore-untiled.html

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

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

  * igt@kms_addfb_basic@tile-pitch-mismatch:
    - shard-dg1:          NOTRUN -> [SKIP][115] ([i915#4212])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-17/igt@kms_addfb_basic@tile-pitch-mismatch.html
    - shard-mtlp:         NOTRUN -> [SKIP][116] ([i915#4212])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-5/igt@kms_addfb_basic@tile-pitch-mismatch.html
    - shard-dg2:          NOTRUN -> [SKIP][117] ([i915#4212])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@kms_addfb_basic@tile-pitch-mismatch.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-mtlp:         NOTRUN -> [SKIP][118] ([i915#3555])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-4/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
    - shard-dg2:          NOTRUN -> [SKIP][119] ([i915#9531])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-1/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
    - shard-rkl:          NOTRUN -> [SKIP][120] ([i915#14544] / [i915#9531])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html
    - shard-tglu:         NOTRUN -> [SKIP][121] ([i915#9531])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-3/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_atomic_transition@plane-all-modeset-transition:
    - shard-dg2:          [PASS][122] -> [FAIL][123] ([i915#5956])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-3/igt@kms_atomic_transition@plane-all-modeset-transition.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@kms_atomic_transition@plane-all-modeset-transition.html

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [FAIL][124] ([i915#5956])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html

  * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1:
    - shard-tglu:         [PASS][125] -> [FAIL][126] ([i915#15662]) +1 other test fail
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-tglu-4/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-10/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][127] ([i915#14544] / [i915#5286])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html

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

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

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0:
    - shard-dg1:          NOTRUN -> [SKIP][130] ([i915#4538] / [i915#5286])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-13/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-tglu-1:       NOTRUN -> [SKIP][131] ([i915#5286]) +3 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-mtlp:         [PASS][132] -> [FAIL][133] ([i915#15733] / [i915#5138])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][134] ([i915#3638]) +4 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-4/igt@kms_big_fb@linear-32bpp-rotate-90.html
    - shard-dg1:          NOTRUN -> [SKIP][135] ([i915#3638]) +2 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-tglu:         NOTRUN -> [SKIP][136] ([i915#3828]) +1 other test skip
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-6/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-tglu-1:       NOTRUN -> [SKIP][137] ([i915#3828])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-dg2:          NOTRUN -> [SKIP][138] ([i915#4538] / [i915#5190]) +2 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-dg2:          NOTRUN -> [SKIP][139] ([i915#5190]) +2 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-tglu:         NOTRUN -> [SKIP][140] +50 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-dg1:          NOTRUN -> [SKIP][141] ([i915#4538]) +2 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][142] ([i915#14098] / [i915#6095]) +53 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][143] ([i915#10307] / [i915#6095]) +96 other tests skip
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][144] ([i915#12313])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-7/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
    - shard-tglu-1:       NOTRUN -> [SKIP][145] ([i915#12313])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][146] ([i915#14544] / [i915#6095]) +7 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@bad-rotation-90-y-tiled-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][147] ([i915#14098] / [i915#14544] / [i915#6095]) +4 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_ccs@bad-rotation-90-y-tiled-ccs@pipe-c-hdmi-a-2.html

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

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

  * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][150] ([i915#12313]) +1 other test skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/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:
    - shard-tglu:         NOTRUN -> [SKIP][151] ([i915#6095]) +64 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-5/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2:
    - shard-glk:          NOTRUN -> [SKIP][152] +472 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk2/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-1:
    - shard-dg1:          NOTRUN -> [SKIP][153] ([i915#6095]) +178 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][154] ([i915#10307] / [i915#10434] / [i915#6095]) +6 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][155] ([i915#6095]) +44 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-ccs:
    - shard-glk10:        NOTRUN -> [INCOMPLETE][156] ([i915#15582]) +1 other test incomplete
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk10/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][157] ([i915#12313])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-10/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][158] ([i915#6095]) +73 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_cdclk@mode-transition:
    - shard-tglu-1:       NOTRUN -> [SKIP][159] ([i915#3742])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_cdclk@mode-transition.html

  * igt@kms_chamelium_color@degamma:
    - shard-dg2:          NOTRUN -> [SKIP][160] +8 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-6/igt@kms_chamelium_color@degamma.html

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

  * igt@kms_chamelium_frames@dp-crc-single:
    - shard-dg1:          NOTRUN -> [SKIP][162] ([i915#11151] / [i915#7828]) +3 other tests skip
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@kms_chamelium_frames@dp-crc-single.html
    - shard-tglu:         NOTRUN -> [SKIP][163] ([i915#11151] / [i915#7828]) +4 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-8/igt@kms_chamelium_frames@dp-crc-single.html
    - shard-mtlp:         NOTRUN -> [SKIP][164] ([i915#11151] / [i915#7828]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-5/igt@kms_chamelium_frames@dp-crc-single.html

  * igt@kms_chamelium_hpd@dp-hpd-storm:
    - shard-tglu-1:       NOTRUN -> [SKIP][165] ([i915#11151] / [i915#7828]) +5 other tests skip
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_chamelium_hpd@dp-hpd-storm.html

  * igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
    - shard-rkl:          NOTRUN -> [SKIP][166] ([i915#11151] / [i915#7828]) +11 other tests skip
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-tglu-1:       NOTRUN -> [SKIP][167] ([i915#15330] / [i915#3116] / [i915#3299])
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-type-0-hdcp14:
    - shard-dg1:          NOTRUN -> [SKIP][168] ([i915#15330]) +1 other test skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@kms_content_protection@dp-mst-type-0-hdcp14.html

  * igt@kms_content_protection@dp-mst-type-0-suspend-resume:
    - shard-mtlp:         NOTRUN -> [SKIP][169] ([i915#15330])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
    - shard-dg2:          NOTRUN -> [SKIP][170] ([i915#15330]) +1 other test skip
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-3/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
    - shard-tglu:         NOTRUN -> [SKIP][171] ([i915#15330])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-6/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html

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

  * igt@kms_content_protection@uevent:
    - shard-tglu:         NOTRUN -> [SKIP][173] ([i915#15865])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-2/igt@kms_content_protection@uevent.html

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

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-rkl:          NOTRUN -> [SKIP][175] ([i915#3555]) +5 other tests skip
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_cursor_crc@cursor-offscreen-32x10.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][176] ([i915#13049]) +1 other test skip
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_cursor_crc@cursor-offscreen-512x512.html
    - shard-tglu-1:       NOTRUN -> [SKIP][177] ([i915#13049]) +1 other test skip
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-tglu:         [PASS][178] -> [FAIL][179] ([i915#13566]) +1 other test fail
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-tglu-8/igt@kms_cursor_crc@cursor-onscreen-256x85.html
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-5/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-tglu:         NOTRUN -> [SKIP][180] ([i915#13049])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-10/igt@kms_cursor_crc@cursor-onscreen-512x512.html

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

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][182] ([i915#13049] / [i915#14544])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_cursor_crc@cursor-random-512x512.html
    - shard-dg1:          NOTRUN -> [SKIP][183] ([i915#13049]) +1 other test skip
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-19/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-128x42:
    - shard-dg1:          [PASS][184] -> [DMESG-WARN][185] ([i915#4423]) +5 other tests dmesg-warn
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg1-16/igt@kms_cursor_crc@cursor-rapid-movement-128x42.html
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-17/igt@kms_cursor_crc@cursor-rapid-movement-128x42.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-dg2:          NOTRUN -> [SKIP][186] ([i915#3555]) +2 other tests skip
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-3/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
    - shard-dg1:          NOTRUN -> [SKIP][187] ([i915#3555]) +2 other tests skip
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

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

  * igt@kms_cursor_crc@cursor-sliding-64x21:
    - shard-rkl:          [PASS][189] -> [FAIL][190] ([i915#13566])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-5/igt@kms_cursor_crc@cursor-sliding-64x21.html
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-64x21.html

  * igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [FAIL][191] ([i915#13566])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-2.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-rkl:          NOTRUN -> [SKIP][192] +29 other tests skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

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

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

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-rkl:          NOTRUN -> [SKIP][195] ([i915#4103])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-tglu-1:       NOTRUN -> [SKIP][196] ([i915#9723])
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-dg2:          NOTRUN -> [SKIP][197] ([i915#13691])
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-6/igt@kms_display_modes@extended-mode-basic.html
    - shard-rkl:          NOTRUN -> [SKIP][198] ([i915#13691] / [i915#14544])
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_display_modes@extended-mode-basic.html
    - shard-tglu-1:       NOTRUN -> [SKIP][199] ([i915#13691])
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_display_modes@extended-mode-basic.html
    - shard-dg1:          NOTRUN -> [SKIP][200] ([i915#13691])
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-13/igt@kms_display_modes@extended-mode-basic.html
    - shard-mtlp:         NOTRUN -> [SKIP][201] ([i915#13691])
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-2/igt@kms_display_modes@extended-mode-basic.html

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

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-rkl:          NOTRUN -> [SKIP][203] ([i915#13749])
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-4/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dp_link_training@uhbr-sst:
    - shard-rkl:          NOTRUN -> [SKIP][204] ([i915#13748])
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_dp_link_training@uhbr-sst.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-tglu:         NOTRUN -> [SKIP][205] ([i915#13707])
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-9/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-rkl:          NOTRUN -> [SKIP][206] ([i915#3555] / [i915#3840])
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-4/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_dsc@dsc-with-formats:
    - shard-tglu-1:       NOTRUN -> [SKIP][207] ([i915#3555] / [i915#3840])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_dsc@dsc-with-formats.html
    - shard-dg1:          NOTRUN -> [SKIP][208] ([i915#3555] / [i915#3840])
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-13/igt@kms_dsc@dsc-with-formats.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-rkl:          NOTRUN -> [SKIP][209] ([i915#3840] / [i915#9053])
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_fbcon_fbt@psr:
    - shard-tglu-1:       NOTRUN -> [SKIP][210] ([i915#3469])
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@display-2x:
    - shard-dg2:          NOTRUN -> [SKIP][211] ([i915#1839])
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@kms_feature_discovery@display-2x.html
    - shard-rkl:          NOTRUN -> [SKIP][212] ([i915#1839])
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@kms_feature_discovery@display-2x.html
    - shard-dg1:          NOTRUN -> [SKIP][213] ([i915#1839])
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@kms_feature_discovery@display-2x.html
    - shard-tglu:         NOTRUN -> [SKIP][214] ([i915#1839])
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-8/igt@kms_feature_discovery@display-2x.html
    - shard-mtlp:         NOTRUN -> [SKIP][215] ([i915#1839])
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-5/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-dg2:          NOTRUN -> [SKIP][216] ([i915#9337])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-7/igt@kms_feature_discovery@dp-mst.html
    - shard-rkl:          NOTRUN -> [SKIP][217] ([i915#9337])
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@kms_feature_discovery@dp-mst.html
    - shard-dg1:          NOTRUN -> [SKIP][218] ([i915#9337])
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-16/igt@kms_feature_discovery@dp-mst.html
    - shard-tglu:         NOTRUN -> [SKIP][219] ([i915#9337])
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-7/igt@kms_feature_discovery@dp-mst.html

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

  * igt@kms_flip@2x-flip-vs-dpms:
    - shard-dg1:          NOTRUN -> [SKIP][221] ([i915#9934]) +1 other test skip
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@kms_flip@2x-flip-vs-dpms.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop:
    - shard-dg2:          NOTRUN -> [SKIP][222] ([i915#9934]) +1 other test skip
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-6/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
    - shard-tglu:         NOTRUN -> [SKIP][223] ([i915#9934])
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-5/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
    - shard-mtlp:         NOTRUN -> [SKIP][224] ([i915#9934])
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-2/igt@kms_flip@2x-flip-vs-dpms-on-nop.html

  * igt@kms_flip@2x-flip-vs-fences-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][225] ([i915#8381])
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-1/igt@kms_flip@2x-flip-vs-fences-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][226] ([i915#3637] / [i915#9934])
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-4/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
    - shard-glk:          NOTRUN -> [INCOMPLETE][227] ([i915#12745] / [i915#4839]) +1 other test incomplete
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk9/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
    - shard-rkl:          NOTRUN -> [SKIP][228] ([i915#14544] / [i915#9934])
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
    - shard-snb:          NOTRUN -> [TIMEOUT][229] ([i915#14033] / [i915#14350])
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb4/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          NOTRUN -> [INCOMPLETE][230] ([i915#4839])
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk9/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1:
    - shard-snb:          NOTRUN -> [TIMEOUT][231] ([i915#14033])
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb4/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html

  * igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1:
    - shard-snb:          [PASS][232] -> [TIMEOUT][233] ([i915#14033]) +1 other test timeout
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-snb7/igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1.html
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb4/igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1.html

  * igt@kms_flip@2x-plain-flip:
    - shard-rkl:          NOTRUN -> [SKIP][234] ([i915#9934]) +12 other tests skip
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-glk:          NOTRUN -> [FAIL][235] ([i915#13027]) +1 other test fail
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk6/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-suspend@a-hdmi-a1:
    - shard-glk:          NOTRUN -> [INCOMPLETE][236] ([i915#12745])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk6/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][237] ([i915#15643])
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html

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

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
    - shard-mtlp:         NOTRUN -> [SKIP][239] ([i915#15643])
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling:
    - shard-rkl:          NOTRUN -> [SKIP][240] ([i915#15643]) +3 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling:
    - shard-glk10:        NOTRUN -> [SKIP][241] +132 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk10/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
    - shard-dg2:          NOTRUN -> [SKIP][242] ([i915#15643] / [i915#5190]) +2 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html

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

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu:
    - shard-tglu-1:       NOTRUN -> [SKIP][244] +44 other tests skip
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][245] ([i915#8708]) +11 other tests skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html
    - shard-rkl:          NOTRUN -> [SKIP][246] ([i915#1825]) +39 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html

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

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][248] ([i915#15104])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][249] ([i915#15102])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
    - shard-rkl:          NOTRUN -> [SKIP][250] ([i915#15102] / [i915#3023]) +28 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt:
    - shard-tglu:         NOTRUN -> [SKIP][251] ([i915#15102]) +20 other tests skip
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][252] ([i915#14544] / [i915#1825]) +1 other test skip
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
    - shard-snb:          NOTRUN -> [SKIP][253] +116 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb5/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html
    - shard-dg1:          NOTRUN -> [SKIP][254] ([i915#15102] / [i915#3458]) +8 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc:
    - shard-tglu-1:       NOTRUN -> [SKIP][255] ([i915#15102]) +11 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render:
    - shard-rkl:          NOTRUN -> [SKIP][256] ([i915#14544] / [i915#15102] / [i915#3023]) +2 other tests skip
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render.html

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

  * igt@kms_frontbuffer_tracking@pipe-fbc-rte:
    - shard-rkl:          NOTRUN -> [SKIP][258] ([i915#9766])
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
    - shard-dg1:          NOTRUN -> [SKIP][259] ([i915#9766])
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
    - shard-tglu:         NOTRUN -> [SKIP][260] ([i915#9766])
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-4/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
    - shard-dg2:          NOTRUN -> [SKIP][261] ([i915#9766])
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html

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

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][263] ([i915#15102]) +4 other tests skip
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc.html
    - shard-dg1:          NOTRUN -> [SKIP][264] ([i915#15104]) +1 other test skip
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][265] ([i915#8708]) +3 other tests skip
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][266] ([i915#8708]) +9 other tests skip
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][267] ([i915#1825]) +13 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][268] ([i915#15102] / [i915#3458]) +4 other tests skip
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-rgb565-draw-blt.html

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

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-tglu-1:       NOTRUN -> [SKIP][271] ([i915#3555] / [i915#8228])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-mtlp:         NOTRUN -> [SKIP][272] ([i915#12713])
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-2/igt@kms_hdr@brightness-with-hdr.html
    - shard-glk11:        NOTRUN -> [SKIP][273] +8 other tests skip
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk11/igt@kms_hdr@brightness-with-hdr.html
    - shard-dg2:          NOTRUN -> [SKIP][274] ([i915#12713])
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@kms_hdr@brightness-with-hdr.html
    - shard-rkl:          NOTRUN -> [SKIP][275] ([i915#1187] / [i915#12713])
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_hdr@brightness-with-hdr.html
    - shard-tglu-1:       NOTRUN -> [SKIP][276] ([i915#12713])
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_hdr@brightness-with-hdr.html
    - shard-dg1:          NOTRUN -> [SKIP][277] ([i915#12713])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-19/igt@kms_hdr@brightness-with-hdr.html

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

  * igt@kms_hdr@static-toggle-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][279] ([i915#3555] / [i915#8228]) +2 other tests skip
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-tglu:         NOTRUN -> [SKIP][280] ([i915#15460]) +1 other test skip
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-8/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][281] ([i915#14544] / [i915#15459])
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-dg2:          NOTRUN -> [SKIP][282] ([i915#15460])
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-3/igt@kms_joiner@invalid-modeset-big-joiner.html
    - shard-dg1:          NOTRUN -> [SKIP][283] ([i915#15460])
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@kms_joiner@invalid-modeset-big-joiner.html
    - shard-mtlp:         NOTRUN -> [SKIP][284] ([i915#15460])
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@kms_joiner@invalid-modeset-big-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-tglu:         NOTRUN -> [SKIP][285] ([i915#15458])
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-3/igt@kms_joiner@invalid-modeset-ultra-joiner.html
    - shard-mtlp:         NOTRUN -> [SKIP][286] ([i915#15458])
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-1/igt@kms_joiner@invalid-modeset-ultra-joiner.html
    - shard-dg2:          NOTRUN -> [SKIP][287] ([i915#15458])
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-3/igt@kms_joiner@invalid-modeset-ultra-joiner.html
    - shard-rkl:          NOTRUN -> [SKIP][288] ([i915#15458])
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_joiner@invalid-modeset-ultra-joiner.html
    - shard-dg1:          NOTRUN -> [SKIP][289] ([i915#15458])
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-dg2:          NOTRUN -> [SKIP][290] ([i915#6301])
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes:
    - shard-dg1:          NOTRUN -> [SKIP][291] +23 other tests skip
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes.html
    - shard-mtlp:         NOTRUN -> [SKIP][292] +7 other tests skip
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-6/igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes.html

  * igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping:
    - shard-rkl:          NOTRUN -> [SKIP][293] ([i915#15709]) +5 other tests skip
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html
    - shard-tglu-1:       NOTRUN -> [SKIP][294] ([i915#15709]) +2 other tests skip
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html

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

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping:
    - shard-dg2:          NOTRUN -> [SKIP][296] ([i915#15709]) +1 other test skip
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier:
    - shard-tglu:         NOTRUN -> [SKIP][297] ([i915#15709]) +4 other tests skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-9/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier@pipe-a-plane-5:
    - shard-mtlp:         NOTRUN -> [SKIP][298] ([i915#15608]) +1 other test skip
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier@pipe-a-plane-5.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b:
    - shard-glk:          NOTRUN -> [INCOMPLETE][299] ([i915#13026])
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk5/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-dg2:          NOTRUN -> [SKIP][300] ([i915#8821])
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-7/igt@kms_plane_lowres@tiling-y.html
    - shard-mtlp:         NOTRUN -> [SKIP][301] ([i915#3555] / [i915#8821])
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-3/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][302] ([i915#13958]) +3 other tests skip
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@kms_plane_multiple@2x-tiling-4.html
    - shard-dg1:          NOTRUN -> [SKIP][303] ([i915#13958])
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@kms_plane_multiple@2x-tiling-4.html

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

  * igt@kms_plane_multiple@tiling-yf:
    - shard-rkl:          NOTRUN -> [SKIP][305] ([i915#14259])
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-mtlp:         NOTRUN -> [SKIP][306] ([i915#15887] / [i915#9809])
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-5/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
    - shard-dg2:          NOTRUN -> [SKIP][307] ([i915#13046] / [i915#5354] / [i915#9423])
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a:
    - shard-rkl:          NOTRUN -> [SKIP][308] ([i915#15329]) +3 other tests skip
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-c:
    - shard-tglu:         NOTRUN -> [SKIP][309] ([i915#15329]) +4 other tests skip
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-c.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-d:
    - shard-mtlp:         NOTRUN -> [SKIP][310] ([i915#15329]) +4 other tests skip
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-3/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-d.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-tglu-1:       NOTRUN -> [SKIP][311] ([i915#9812])
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_backlight@basic-brightness:
    - shard-rkl:          NOTRUN -> [SKIP][312] ([i915#5354])
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_pm_backlight@fade:
    - shard-tglu:         NOTRUN -> [SKIP][313] ([i915#9812])
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-2/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-rkl:          NOTRUN -> [SKIP][314] ([i915#9685])
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_pm_dc@dc5-psr.html
    - shard-tglu-1:       NOTRUN -> [SKIP][315] ([i915#9685])
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_pm_dc@dc5-psr.html
    - shard-dg1:          NOTRUN -> [SKIP][316] ([i915#9685])
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-17/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_rpm@cursor-dpms:
    - shard-mtlp:         NOTRUN -> [SKIP][317] ([i915#4077]) +4 other tests skip
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-4/igt@kms_pm_rpm@cursor-dpms.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-rkl:          NOTRUN -> [SKIP][318] ([i915#15073])
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@i2c:
    - shard-dg1:          NOTRUN -> [DMESG-WARN][319] ([i915#4423])
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-17/igt@kms_pm_rpm@i2c.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-rkl:          [PASS][320] -> [SKIP][321] ([i915#15073])
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-2/igt@kms_pm_rpm@modeset-lpsp.html
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-rkl:          NOTRUN -> [SKIP][322] ([i915#14544] / [i915#15073])
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-dg1:          [PASS][323] -> [SKIP][324] ([i915#15073]) +1 other test skip
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg1-12/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@package-g7:
    - shard-tglu:         NOTRUN -> [SKIP][325] ([i915#15403])
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-9/igt@kms_pm_rpm@package-g7.html
    - shard-mtlp:         NOTRUN -> [SKIP][326] ([i915#15403])
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-6/igt@kms_pm_rpm@package-g7.html
    - shard-dg2:          NOTRUN -> [SKIP][327] ([i915#15403])
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@kms_pm_rpm@package-g7.html
    - shard-rkl:          NOTRUN -> [SKIP][328] ([i915#15403])
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-4/igt@kms_pm_rpm@package-g7.html
    - shard-dg1:          NOTRUN -> [SKIP][329] ([i915#15403])
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-12/igt@kms_pm_rpm@package-g7.html

  * igt@kms_pm_rpm@system-suspend-idle:
    - shard-rkl:          [PASS][330] -> [ABORT][331] ([i915#15132])
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-8/igt@kms_pm_rpm@system-suspend-idle.html
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-1/igt@kms_pm_rpm@system-suspend-idle.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-tglu:         [PASS][332] -> [ABORT][333] ([i915#10553] / [i915#15652])
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-tglu-6/igt@kms_pm_rpm@system-suspend-modeset.html
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-3/igt@kms_pm_rpm@system-suspend-modeset.html

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

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
    - shard-tglu:         NOTRUN -> [SKIP][335] ([i915#11520]) +5 other tests skip
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-4/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf:
    - shard-mtlp:         NOTRUN -> [SKIP][336] ([i915#12316]) +2 other tests skip
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-3/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][337] ([i915#11520]) +11 other tests skip
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk9/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
    - shard-rkl:          NOTRUN -> [SKIP][338] ([i915#11520] / [i915#14544]) +2 other tests skip
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html

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

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

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

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-dg1:          NOTRUN -> [SKIP][343] ([i915#11520]) +5 other tests skip
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-19/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-tglu-1:       NOTRUN -> [SKIP][344] ([i915#9683]) +1 other test skip
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-rkl:          NOTRUN -> [SKIP][345] ([i915#9683])
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-pr-sprite-render:
    - shard-dg1:          NOTRUN -> [SKIP][346] ([i915#1072] / [i915#9732]) +13 other tests skip
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-17/igt@kms_psr@fbc-pr-sprite-render.html

  * igt@kms_psr@fbc-psr-sprite-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][347] ([i915#1072] / [i915#9732]) +11 other tests skip
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-7/igt@kms_psr@fbc-psr-sprite-mmap-gtt.html

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

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

  * igt@kms_psr@psr-cursor-plane-onoff:
    - shard-tglu-1:       NOTRUN -> [SKIP][350] ([i915#9732]) +12 other tests skip
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_psr@psr-cursor-plane-onoff.html

  * igt@kms_psr@psr-sprite-plane-move:
    - shard-rkl:          NOTRUN -> [SKIP][351] ([i915#1072] / [i915#9732]) +24 other tests skip
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@kms_psr@psr-sprite-plane-move.html

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

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-rkl:          NOTRUN -> [SKIP][353] ([i915#14544] / [i915#9685])
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-glk:          NOTRUN -> [INCOMPLETE][354] ([i915#15500])
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk1/igt@kms_rotation_crc@multiplane-rotation-cropping-bottom.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2:          NOTRUN -> [SKIP][355] ([i915#12755] / [i915#15867])
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-1/igt@kms_rotation_crc@primary-rotation-270.html

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

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-rkl:          NOTRUN -> [SKIP][357] ([i915#5289])
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
    - shard-tglu-1:       NOTRUN -> [SKIP][358] ([i915#5289]) +1 other test skip
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

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

  * igt@kms_scaling_modes@scaling-mode-full-aspect:
    - shard-tglu:         NOTRUN -> [SKIP][360] ([i915#3555]) +5 other tests skip
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-10/igt@kms_scaling_modes@scaling-mode-full-aspect.html

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

  * igt@kms_setmode@basic@pipe-a-vga-1:
    - shard-snb:          [PASS][362] -> [FAIL][363] ([i915#15106]) +1 other test fail
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-snb5/igt@kms_setmode@basic@pipe-a-vga-1.html
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb5/igt@kms_setmode@basic@pipe-a-vga-1.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-rkl:          NOTRUN -> [SKIP][364] ([i915#8623])
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
    - shard-tglu-1:       NOTRUN -> [SKIP][365] ([i915#8623])
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

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

  * igt@kms_vrr@flipline:
    - shard-dg2:          NOTRUN -> [SKIP][367] ([i915#15243] / [i915#3555])
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@kms_vrr@flipline.html

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

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-tglu-1:       NOTRUN -> [SKIP][369] ([i915#9906])
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-dg2:          NOTRUN -> [SKIP][370] ([i915#9906]) +1 other test skip
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-3/igt@kms_vrr@seamless-rr-switch-vrr.html
    - shard-rkl:          NOTRUN -> [SKIP][371] ([i915#9906]) +1 other test skip
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_vrr@seamless-rr-switch-vrr.html
    - shard-dg1:          NOTRUN -> [SKIP][372] ([i915#9906]) +1 other test skip
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@kms_vrr@seamless-rr-switch-vrr.html
    - shard-tglu:         NOTRUN -> [SKIP][373] ([i915#9906]) +1 other test skip
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-3/igt@kms_vrr@seamless-rr-switch-vrr.html
    - shard-mtlp:         NOTRUN -> [SKIP][374] ([i915#8808] / [i915#9906]) +1 other test skip
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-1/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@perf@gen12-group-concurrent-oa-buffer-read:
    - shard-tglu:         [PASS][375] -> [FAIL][376] ([i915#10538])
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-tglu-3/igt@perf@gen12-group-concurrent-oa-buffer-read.html
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-10/igt@perf@gen12-group-concurrent-oa-buffer-read.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-rkl:          NOTRUN -> [SKIP][377] ([i915#2436])
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@perf@per-context-mode-unprivileged:
    - shard-rkl:          NOTRUN -> [SKIP][378] ([i915#2435])
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-1/igt@perf@per-context-mode-unprivileged.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          [PASS][379] -> [FAIL][380] ([i915#4349]) +10 other tests fail
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-6/igt@perf_pmu@busy-double-start@vecs1.html
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@perf_pmu@busy-idle:
    - shard-mtlp:         [PASS][381] -> [FAIL][382] ([i915#4349]) +1 other test fail
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-mtlp-7/igt@perf_pmu@busy-idle.html
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@perf_pmu@busy-idle.html

  * igt@perf_pmu@busy-idle@vcs0:
    - shard-dg1:          [PASS][383] -> [FAIL][384] ([i915#4349]) +3 other tests fail
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg1-13/igt@perf_pmu@busy-idle@vcs0.html
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@perf_pmu@busy-idle@vcs0.html

  * igt@perf_pmu@rc6-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][385] ([i915#13356] / [i915#14242])
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk5/igt@perf_pmu@rc6-suspend.html

  * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
    - shard-dg1:          NOTRUN -> [SKIP][386] ([i915#14121]) +1 other test skip
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-13/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html

  * igt@prime_vgem@basic-fence-mmap:
    - shard-mtlp:         NOTRUN -> [SKIP][387] ([i915#3708] / [i915#4077])
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-4/igt@prime_vgem@basic-fence-mmap.html
    - shard-dg2:          NOTRUN -> [SKIP][388] ([i915#3708] / [i915#4077])
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-1/igt@prime_vgem@basic-fence-mmap.html

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

  
#### Possible fixes ####

  * igt@gem_ctx_freq@sysfs@gt0:
    - shard-dg2:          [FAIL][390] ([i915#9561]) -> [PASS][391] +1 other test pass
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-8/igt@gem_ctx_freq@sysfs@gt0.html
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@gem_ctx_freq@sysfs@gt0.html

  * igt@gem_exec_capture@pi@vecs0:
    - shard-dg2:          [FAIL][392] ([i915#15587]) -> [PASS][393] +1 other test pass
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-4/igt@gem_exec_capture@pi@vecs0.html
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@gem_exec_capture@pi@vecs0.html

  * igt@gem_exec_suspend@basic-s0:
    - shard-dg2:          [INCOMPLETE][394] ([i915#13356]) -> [PASS][395] +1 other test pass
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-5/igt@gem_exec_suspend@basic-s0.html
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-6/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_mmap_offset@clear-via-pagefault:
    - shard-mtlp:         [INCOMPLETE][396] ([i915#15478]) -> [PASS][397] +1 other test pass
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-mtlp-8/igt@gem_mmap_offset@clear-via-pagefault.html
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-7/igt@gem_mmap_offset@clear-via-pagefault.html

  * igt@i915_pm_rpm@system-suspend:
    - shard-rkl:          [INCOMPLETE][398] ([i915#13356]) -> [PASS][399] +3 other tests pass
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@i915_pm_rpm@system-suspend.html
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@i915_pm_rpm@system-suspend.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          [INCOMPLETE][400] ([i915#13821]) -> [PASS][401]
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-snb1/igt@i915_pm_rps@reset.html
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb1/igt@i915_pm_rps@reset.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-glk:          [INCOMPLETE][402] ([i915#4817]) -> [PASS][403]
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-glk8/igt@i915_suspend@fence-restore-untiled.html
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk2/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_atomic_interruptible@legacy-setmode:
    - shard-dg1:          [DMESG-WARN][404] ([i915#4423]) -> [PASS][405]
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg1-12/igt@kms_atomic_interruptible@legacy-setmode.html
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-13/igt@kms_atomic_interruptible@legacy-setmode.html

  * igt@kms_atomic_transition@plane-toggle-modeset-transition:
    - shard-dg2:          [FAIL][406] ([i915#5956]) -> [PASS][407]
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-4/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@kms_atomic_transition@plane-toggle-modeset-transition.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-mtlp:         [FAIL][408] ([i915#15733] / [i915#5138]) -> [PASS][409]
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1:
    - shard-tglu:         [FAIL][410] ([i915#13566]) -> [PASS][411] +1 other test pass
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-tglu-10/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-4/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-sliding-256x85:
    - shard-rkl:          [FAIL][412] ([i915#13566]) -> [PASS][413]
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-5/igt@kms_cursor_crc@cursor-sliding-256x85.html
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-256x85.html

  * igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a3:
    - shard-dg2:          [FAIL][414] ([i915#13027]) -> [PASS][415] +1 other test pass
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-7/igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a3.html
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-8/igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a3.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-rkl:          [INCOMPLETE][416] ([i915#10056]) -> [PASS][417]
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a:
    - shard-glk:          [INCOMPLETE][418] ([i915#13026]) -> [PASS][419]
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-glk1/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk5/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-dg1:          [SKIP][420] ([i915#15073]) -> [PASS][421]
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg1-17/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-14/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-dg2:          [SKIP][422] ([i915#15073]) -> [PASS][423] +3 other tests pass
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp.html
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-5/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_setmode@basic@pipe-a-hdmi-a-1:
    - shard-snb:          [FAIL][424] ([i915#15106]) -> [PASS][425] +1 other test pass
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-snb5/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-snb5/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html

  * igt@kms_vblank@ts-continuation-suspend:
    - shard-rkl:          [INCOMPLETE][426] ([i915#12276]) -> [PASS][427]
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-3/igt@kms_vblank@ts-continuation-suspend.html
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@kms_vblank@ts-continuation-suspend.html

  * igt@perf_pmu@busy-double-start@bcs0:
    - shard-mtlp:         [FAIL][428] ([i915#4349]) -> [PASS][429] +2 other tests pass
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-mtlp-4/igt@perf_pmu@busy-double-start@bcs0.html
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-mtlp-5/igt@perf_pmu@busy-double-start@bcs0.html

  
#### Warnings ####

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-rkl:          [SKIP][430] ([i915#8411]) -> [SKIP][431] ([i915#14544] / [i915#8411])
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-1/igt@api_intel_bb@blit-reloc-purge-cache.html
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@api_intel_bb@blit-reloc-purge-cache.html

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

  * igt@gem_create@create-ext-set-pat:
    - shard-rkl:          [SKIP][434] ([i915#14544] / [i915#8562]) -> [SKIP][435] ([i915#8562])
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@gem_create@create-ext-set-pat.html
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@gem_create@create-ext-set-pat.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-rkl:          [SKIP][436] ([i915#14544] / [i915#280]) -> [SKIP][437] ([i915#280])
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@gem_ctx_sseu@invalid-args.html
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-rkl:          [SKIP][438] ([i915#4525]) -> [SKIP][439] ([i915#14544] / [i915#4525]) +1 other test skip
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-2/igt@gem_exec_balancer@parallel-bb-first.html
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@gem_exec_reloc@basic-cpu-read-active:
    - shard-rkl:          [SKIP][440] ([i915#3281]) -> [SKIP][441] ([i915#14544] / [i915#3281]) +2 other tests skip
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-1/igt@gem_exec_reloc@basic-cpu-read-active.html
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_exec_reloc@basic-cpu-read-active.html

  * igt@gem_exec_reloc@basic-wc-cpu-active:
    - shard-rkl:          [SKIP][442] ([i915#14544] / [i915#3281]) -> [SKIP][443] ([i915#3281])
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@gem_exec_reloc@basic-wc-cpu-active.html
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-1/igt@gem_exec_reloc@basic-wc-cpu-active.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-rkl:          [SKIP][444] ([i915#4613]) -> [SKIP][445] ([i915#14544] / [i915#4613])
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-5/igt@gem_lmem_swapping@parallel-multi.html
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_lmem_swapping@parallel-multi.html

  * igt@gem_lmem_swapping@verify-ccs:
    - shard-rkl:          [SKIP][446] ([i915#14544] / [i915#4613]) -> [SKIP][447] ([i915#4613])
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@gem_lmem_swapping@verify-ccs.html
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-1/igt@gem_lmem_swapping@verify-ccs.html

  * igt@gem_set_tiling_vs_pwrite:
    - shard-rkl:          [SKIP][448] ([i915#3282]) -> [SKIP][449] ([i915#14544] / [i915#3282]) +3 other tests skip
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-7/igt@gem_set_tiling_vs_pwrite.html
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_set_tiling_vs_pwrite.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-rkl:          [SKIP][450] ([i915#14544] / [i915#3297]) -> [SKIP][451] ([i915#3297]) +1 other test skip
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@gem_userptr_blits@coherency-sync.html
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-8/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-rkl:          [SKIP][452] ([i915#3297]) -> [SKIP][453] ([i915#14544] / [i915#3297])
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-4/igt@gem_userptr_blits@readonly-unsync.html
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@gem_userptr_blits@readonly-unsync.html

  * igt@gen9_exec_parse@bb-start-far:
    - shard-rkl:          [SKIP][454] ([i915#14544] / [i915#2527]) -> [SKIP][455] ([i915#2527])
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@gen9_exec_parse@bb-start-far.html
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@gen9_exec_parse@bb-start-far.html

  * igt@intel_hwmon@hwmon-write:
    - shard-rkl:          [SKIP][456] ([i915#7707]) -> [SKIP][457] ([i915#14544] / [i915#7707])
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-4/igt@intel_hwmon@hwmon-write.html
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@intel_hwmon@hwmon-write.html

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

  * igt@kms_big_fb@4-tiled-64bpp-rotate-270:
    - shard-rkl:          [SKIP][460] ([i915#14544] / [i915#5286]) -> [SKIP][461] ([i915#5286])
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-rkl:          [SKIP][462] ([i915#5286]) -> [SKIP][463] ([i915#14544] / [i915#5286]) +1 other test skip
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-rkl:          [SKIP][464] ([i915#14544] / [i915#3638]) -> [SKIP][465] ([i915#3638])
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_big_fb@linear-8bpp-rotate-270.html
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-90:
    - shard-dg1:          [SKIP][466] ([i915#4538]) -> [SKIP][467] ([i915#4423] / [i915#4538])
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg1-19/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs:
    - shard-rkl:          [SKIP][468] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][469] ([i915#14098] / [i915#6095])
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs.html
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs:
    - shard-rkl:          [SKIP][470] ([i915#14098] / [i915#6095]) -> [SKIP][471] ([i915#14098] / [i915#14544] / [i915#6095]) +6 other tests skip
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-2/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs.html
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][472] ([i915#6095]) -> [SKIP][473] ([i915#14544] / [i915#6095]) +3 other tests skip
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-1/igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-b-hdmi-a-2.html
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_chamelium_frames@dp-crc-fast:
    - shard-rkl:          [SKIP][474] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][475] ([i915#11151] / [i915#7828]) +1 other test skip
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_chamelium_frames@dp-crc-fast.html
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_chamelium_frames@dp-crc-fast.html

  * igt@kms_chamelium_hpd@dp-hpd-storm:
    - shard-rkl:          [SKIP][476] ([i915#11151] / [i915#7828]) -> [SKIP][477] ([i915#11151] / [i915#14544] / [i915#7828]) +5 other tests skip
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-4/igt@kms_chamelium_hpd@dp-hpd-storm.html
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-storm.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-rkl:          [SKIP][478] ([i915#15330] / [i915#3116]) -> [SKIP][479] ([i915#14544] / [i915#15330] / [i915#3116])
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-4/igt@kms_content_protection@dp-mst-type-0.html
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          [SKIP][480] ([i915#9433]) -> [SKIP][481] ([i915#15865])
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg1-13/igt@kms_content_protection@mei-interface.html
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-16/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@type1:
    - shard-rkl:          [SKIP][482] ([i915#14544] / [i915#15865]) -> [SKIP][483] ([i915#15865])
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_content_protection@type1.html
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-rkl:          [SKIP][484] ([i915#13049] / [i915#14544]) -> [SKIP][485] ([i915#13049])
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-512x170.html
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-random-32x10:
    - shard-rkl:          [SKIP][486] ([i915#14544] / [i915#3555]) -> [SKIP][487] ([i915#3555])
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_cursor_crc@cursor-random-32x10.html
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@kms_cursor_crc@cursor-random-32x10.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-rkl:          [SKIP][488] ([i915#13049]) -> [SKIP][489] ([i915#13049] / [i915#14544])
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-2/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-rkl:          [SKIP][490] ([i915#14544]) -> [SKIP][491]
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-3/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-rkl:          [SKIP][492] ([i915#9067]) -> [SKIP][493] ([i915#14544] / [i915#9067])
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-8/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-rkl:          [SKIP][494] ([i915#4103]) -> [SKIP][495] ([i915#14544] / [i915#4103])
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

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

  * igt@kms_flip@2x-absolute-wf_vblank:
    - shard-rkl:          [SKIP][498] ([i915#14544] / [i915#9934]) -> [SKIP][499] ([i915#9934])
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_flip@2x-absolute-wf_vblank.html
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-4/igt@kms_flip@2x-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-fences-interruptible:
    - shard-rkl:          [SKIP][500] ([i915#9934]) -> [SKIP][501] ([i915#14544] / [i915#9934]) +2 other tests skip
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-5/igt@kms_flip@2x-flip-vs-fences-interruptible.html
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_flip@2x-flip-vs-fences-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend:
    - shard-glk:          [INCOMPLETE][502] ([i915#12745] / [i915#4839]) -> [INCOMPLETE][503] ([i915#12745] / [i915#4839] / [i915#6113])
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-glk9/igt@kms_flip@2x-flip-vs-suspend.html
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk2/igt@kms_flip@2x-flip-vs-suspend.html

  * igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          [INCOMPLETE][504] ([i915#4839]) -> [INCOMPLETE][505] ([i915#4839] / [i915#6113])
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-glk9/igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2.html
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-glk2/igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling:
    - shard-rkl:          [SKIP][506] ([i915#15643]) -> [SKIP][507] ([i915#14544] / [i915#15643])
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-2/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render:
    - shard-rkl:          [SKIP][508] ([i915#15102]) -> [SKIP][509] ([i915#14544] / [i915#15102])
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt:
    - shard-rkl:          [SKIP][510] ([i915#1825]) -> [SKIP][511] ([i915#14544] / [i915#1825]) +12 other tests skip
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt.html
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-rkl:          [SKIP][512] ([i915#14544] / [i915#1825]) -> [SKIP][513] ([i915#1825]) +6 other tests skip
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-rkl:          [SKIP][514] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][515] ([i915#15102] / [i915#3023]) +3 other tests skip
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-pwrite:
    - shard-dg1:          [SKIP][516] ([i915#15102] / [i915#3458]) -> [SKIP][517] ([i915#15102] / [i915#3458] / [i915#4423])
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-pwrite.html
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-rkl:          [SKIP][518] ([i915#5439]) -> [SKIP][519] ([i915#14544] / [i915#5439])
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-dg2:          [SKIP][520] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][521] ([i915#15102] / [i915#3458]) +1 other test skip
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
    - shard-rkl:          [SKIP][522] ([i915#15102] / [i915#3023]) -> [SKIP][523] ([i915#14544] / [i915#15102] / [i915#3023]) +6 other tests skip
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary:
    - shard-dg2:          [SKIP][524] ([i915#15102] / [i915#3458]) -> [SKIP][525] ([i915#10433] / [i915#15102] / [i915#3458]) +1 other test skip
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html

  * igt@kms_hdr@invalid-hdr:
    - shard-rkl:          [SKIP][526] ([i915#14544] / [i915#3555] / [i915#8228]) -> [SKIP][527] ([i915#3555] / [i915#8228])
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_hdr@invalid-hdr.html
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-2/igt@kms_hdr@invalid-hdr.html

  * igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes:
    - shard-rkl:          [SKIP][528] -> [SKIP][529] ([i915#14544]) +4 other tests skip
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-4/igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes.html
   [529]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier:
    - shard-rkl:          [SKIP][530] ([i915#15709]) -> [SKIP][531] ([i915#14544] / [i915#15709]) +3 other tests skip
   [530]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-7/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier.html
   [531]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-rkl:          [SKIP][532] ([i915#3555]) -> [SKIP][533] ([i915#14544] / [i915#3555]) +1 other test skip
   [532]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-3/igt@kms_plane_lowres@tiling-4.html
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-tglu:         [SKIP][534] ([i915#15128]) -> [FAIL][535] ([i915#15752])
   [534]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-tglu-6/igt@kms_pm_dc@dc6-dpms.html
   [535]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-tglu-4/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-rkl:          [SKIP][536] ([i915#14544] / [i915#9685]) -> [SKIP][537] ([i915#9685])
   [536]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_pm_dc@dc6-psr.html
   [537]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-rkl:          [SKIP][538] ([i915#14544] / [i915#15739]) -> [SKIP][539] ([i915#15739])
   [538]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_pm_dc@dc9-dpms.html
   [539]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf:
    - shard-rkl:          [SKIP][540] ([i915#11520] / [i915#14544]) -> [SKIP][541] ([i915#11520])
   [540]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html
   [541]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-7/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
    - shard-rkl:          [SKIP][542] ([i915#11520]) -> [SKIP][543] ([i915#11520] / [i915#14544]) +1 other test skip
   [542]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-3/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html
   [543]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-rkl:          [SKIP][544] ([i915#9683]) -> [SKIP][545] ([i915#14544] / [i915#9683])
   [544]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-7/igt@kms_psr2_su@frontbuffer-xrgb8888.html
   [545]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@fbc-psr-primary-blt:
    - shard-rkl:          [SKIP][546] ([i915#1072] / [i915#9732]) -> [SKIP][547] ([i915#1072] / [i915#14544] / [i915#9732]) +7 other tests skip
   [546]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-7/igt@kms_psr@fbc-psr-primary-blt.html
   [547]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@kms_psr@fbc-psr-primary-blt.html

  * igt@kms_psr@fbc-psr-primary-page-flip:
    - shard-rkl:          [SKIP][548] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][549] ([i915#1072] / [i915#9732]) +3 other tests skip
   [548]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-6/igt@kms_psr@fbc-psr-primary-page-flip.html
   [549]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-5/igt@kms_psr@fbc-psr-primary-page-flip.html

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

  * igt@prime_vgem@basic-read:
    - shard-rkl:          [SKIP][552] ([i915#3291] / [i915#3708]) -> [SKIP][553] ([i915#14544] / [i915#3291] / [i915#3708])
   [552]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18246/shard-rkl-4/igt@prime_vgem@basic-read.html
   [553]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14879/shard-rkl-6/igt@prime_vgem@basic-read.html

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

  [i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#10538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10538
  [i915#10553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10553
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
  [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#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
  [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
  [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
  [i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [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#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026
  [i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027
  [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#13390]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13390
  [i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691
  [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
  [i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
  [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
  [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
  [i915#13821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13821
  [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
  [i915#14033]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14033
  [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
  [i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
  [i915#14121]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14121
  [i915#14242]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14242
  [i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
  [i915#14350]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14350
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
  [i915#14702]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14702
  [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#15128]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15128
  [i915#15132]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15132
  [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
  [i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
  [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
  [i915#15342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15342
  [i915#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403
  [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#15478]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15478
  [i915#15479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15479
  [i915#15500]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15500
  [i915#15560]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15560
  [i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
  [i915#15587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15587
  [i915#15608]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15608
  [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
  [i915#15652]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15652
  [i915#15656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15656
  [i915#15662]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15662
  [i915#15678]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15678
  [i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709
  [i915#15725]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15725
  [i915#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733
  [i915#15739]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15739
  [i915#15752]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15752
  [i915#15792]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15792
  [i915#15804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15804
  [i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865
  [i915#15867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15867
  [i915#15887]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15887
  [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#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
  [i915#2435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2435
  [i915#2436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2436
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
  [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#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323
  [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [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#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4879]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4879
  [i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
  [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#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
  [i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
  [i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
  [i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
  [i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
  [i915#7276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7276
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [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#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
  [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
  [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#8821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8821
  [i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
  [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
  [i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
  [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#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
  [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8834 -> IGTPW_14879
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_18246: 24a8a6cff08b6e20acb0f4c2d32acf26aa2087db @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_14879: 14879
  IGT_8834: 8834
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [PATCH i-g-t v5 0/3] Optimize framebuffer management
  2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
                   ` (10 preceding siblings ...)
  2026-03-30  6:37 ` ✗ i915.CI.Full: failure " Patchwork
@ 2026-04-14  5:59 ` Jason-JH Lin (林睿祥)
  11 siblings, 0 replies; 24+ messages in thread
From: Jason-JH Lin (林睿祥) @ 2026-04-14  5:59 UTC (permalink / raw)
  To: karthik.b.s@intel.com, swati2.sharma@intel.com,
	juhapekka.heikkila@gmail.com, jani.nikula@intel.com,
	bhanuprakash.modem@gmail.com, igt-dev@lists.freedesktop.org,
	kamil.konieczny@linux.intel.com, fshao@chromium.org
  Cc: Project_Global_Chrome_Upstream_Group,
	Paul-pl Chen (陳柏霖), markyacoub@chromium.org,
	Nancy Lin (林欣螢),
	Singo Chang (張興國), gildekel@google.com

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



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ATT00001 --]
[-- Type: text/markdown; name="ATT00001", Size: 1809 bytes --]

Hi Kartik and Jani,

Could you take a look at this series?
I would appreciate any commits or suggestions you may have.
Thank you for your time.

Best regards,
Jason-JH Lin

On Mon, 2026-03-30 at 11:20 +0800, Jason-JH Lin wrote:

> Refactor framebuffer management to improve reusability:
> - Create framebuffers once per CRTC at test initialization via
>   create_fbs() and reuse them across all subtests
> - Centralize cleanup in remove_fbs() called at test fixture end
> - Use per-CRTC framebuffer array (data.fbs[IGT_MAX_PIPES]) indexed
>   by crtc->crtc_index instead of single global framebuffers
> 
> Each framebuffer is created with the actual resolution of the first
> output that can connect to that CRTC, avoiding buffer size mismatch
> issues (e.g., 3504x2190 panel incorrectly using 3840x2160 buffer).
> 
> For MST tests, multiple outputs share bandwidth and may require mode
> override to fit within bandwidth constraints. When mode override
> changes the resolution, properly detach planes before removing the
> existing framebuffers, then recreate them with the new dimensions.
> 
> ---
> 
> Change in v5:
> 1.Split the commit v4 into 3 logical patches for easier bisecting
> 2.Remove output_get_driving_crtc_assert() helper function and use
> igt_output_get_driving_crtc() directly without assertions
> 3.Remove the unnecessary CRTC index check in igt_main()
> 
> ---
> 
> Jason-JH Lin (3):
>   tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
>   tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs
>   tests/kms_content_protection: Add FB cleanup for MST tests
> 
>  tests/kms_content_protection.c | 168 ++++++++++++++++++++++++---------
>  1 file changed, 121 insertions(+), 47 deletions(-)
>




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

* Re: [PATCH i-g-t v5 2/3] tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs
  2026-03-30  3:20 ` [PATCH i-g-t v5 2/3] tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs Jason-JH Lin
@ 2026-04-17  4:12   ` Fei Shao
  2026-05-06 11:05   ` Reddy Guddati, Santhosh
  1 sibling, 0 replies; 24+ messages in thread
From: Fei Shao @ 2026-04-17  4:12 UTC (permalink / raw)
  To: Jason-JH Lin
  Cc: igt-dev, Karthik B S, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Jani, Paul-PL Chen,
	Nancy Lin, Singo Chang, Gil Dekel, Yacoub,
	Project_Global_Chrome_Upstream_Group

On Mon, Mar 30, 2026 at 11:22 AM Jason-JH Lin <jason-jh.lin@mediatek.com> wrote:
>
> Refactor functions to accept crtc parameter and use per-CRTC
> framebuffers (data.fbs[crtc->crtc_index]).
>
> Modified: modeset_with_fb(), test_cp_enable/disable(),
> test_cp_enable_with_retry(), test_mst_cp_disable(),
> prepare_modeset_on_mst_output(), test_fini(),
> test_content_protection_cleanup().
>
> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
> ---
>  tests/kms_content_protection.c | 74 ++++++++++++++++++++--------------
>  1 file changed, 43 insertions(+), 31 deletions(-)

Reviewed-by: Fei Shao <fshao@chromium.org>

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

* Re: [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-03-30  3:20 ` [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure Jason-JH Lin
@ 2026-04-29 20:31   ` Manasi Navare
  2026-04-30 22:59     ` Manasi Navare
  0 siblings, 1 reply; 24+ messages in thread
From: Manasi Navare @ 2026-04-29 20:31 UTC (permalink / raw)
  To: Jason-JH Lin
  Cc: igt-dev, Karthik B S, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao, Jani,
	Paul-PL Chen, Nancy Lin, Singo Chang, Gil Dekel, Yacoub,
	Project_Global_Chrome_Upstream_Group

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

Thanks Jason-JH for this improvement in the kms_content_protection IGT test.
It makes sense to create a fb per CRTC given that each CRTC can have
different mode timings/resolutions.

@karthik.b.s@intel.com <karthik.b.s@intel.com> , @
bhanuprakash.modem@gmail.com, @swati2.sharma@intel.com
Could you please take a look at this patch and help provide feedback?
We would like to get this landed as it helps improve our testing.

Regards
Manasi



On Sun, Mar 29, 2026 at 8:22 PM Jason-JH Lin <jason-jh.lin@mediatek.com>
wrote:

> Replace global framebuffers (data.red/green) with per-CRTC array
> (data.fbs[IGT_MAX_PIPES]) to support multiple outputs with different
> resolutions.
>
> Add create_fbs()/remove_fbs() to manage framebuffer lifecycle at
> test initialization/cleanup, creating each FB with the resolution of
> the first output that can connect to that CRTC.
>
> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
> Reviewed-by: Fei Shao <fshao@chromium.org>
> ---
>  tests/kms_content_protection.c | 50 +++++++++++++++++++++++++---------
>  1 file changed, 37 insertions(+), 13 deletions(-)
>
> diff --git a/tests/kms_content_protection.c
> b/tests/kms_content_protection.c
> index caf3d7a56ae4..df9ff5efcaa2 100644
> --- a/tests/kms_content_protection.c
> +++ b/tests/kms_content_protection.c
> @@ -107,10 +107,15 @@
>
>  IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
>
> +struct hdcp_test_fbs {
> +       struct igt_fb red;
> +       struct igt_fb green;
> +};
> +
>  struct data {
>         int drm_fd;
>         igt_display_t display;
> -       struct igt_fb red, green;
> +       struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
>         unsigned int cp_tests;
>         struct udev_monitor *uevent_monitor;
>         bool is_force_hdcp14;
> @@ -991,31 +996,49 @@ static void test_content_protection_cleanup(void)
>                 igt_info("CP Prop being UNDESIRED on %s\n", output->name);
>                 test_cp_disable(output, display->is_atomic ? COMMIT_ATOMIC
> : COMMIT_LEGACY);
>         }
> -
> -       igt_remove_fb(data.drm_fd, &data.red);
> -       igt_remove_fb(data.drm_fd, &data.green);
>  }
>
>  static void create_fbs(void)
>  {
> -       uint16_t width = 0, height = 0;
>         drmModeModeInfo *mode;
>         igt_output_t *output;
> +       igt_crtc_t *crtc;
>
> +       /* Create framebuffers for each connected output's pipe */
>         for_each_connected_output(&data.display, output) {
>                 mode = igt_output_get_mode(output);
>                 igt_assert(mode);
>
> -               width = max(width, mode->hdisplay);
> -               height = max(height, mode->vdisplay);
> +               /* Find a valid crtc for this output */
> +               for_each_crtc(&data.display, crtc) {
> +                       if (!igt_crtc_connector_valid(crtc, output))
> +                               continue;
> +
> +                       /* Skip if already created for this crtc */
> +                       if (data.fbs[crtc->crtc_index].red.fb_id)
> +                               continue;
> +
> +                       igt_create_color_fb(data.drm_fd, mode->hdisplay,
> mode->vdisplay,
> +                                           DRM_FORMAT_XRGB8888,
> DRM_FORMAT_MOD_LINEAR,
> +                                           1.f, 0.f, 0.f,
> &data.fbs[crtc->crtc_index].red);
> +                       igt_create_color_fb(data.drm_fd, mode->hdisplay,
> mode->vdisplay,
> +                                           DRM_FORMAT_XRGB8888,
> DRM_FORMAT_MOD_LINEAR,
> +                                           0.f, 1.f, 0.f,
> &data.fbs[crtc->crtc_index].green);
> +                       break;
> +               }
>         }
> +}
>
> -       igt_create_color_fb(data.drm_fd, width, height,
> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
> -                           1.f, 0.f, 0.f, &data.red);
> -       igt_create_color_fb(data.drm_fd, width, height,
> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
> -                           0.f, 1.f, 0.f, &data.green);
> +static void remove_fbs(void)
> +{
> +       igt_crtc_t *crtc;
> +
> +       for_each_crtc(&data.display, crtc) {
> +               if (data.fbs[crtc->crtc_index].red.fb_id)
> +                       igt_remove_fb(data.drm_fd,
> &data.fbs[crtc->crtc_index].red);
> +               if (data.fbs[crtc->crtc_index].green.fb_id)
> +                       igt_remove_fb(data.drm_fd,
> &data.fbs[crtc->crtc_index].green);
> +       }
>  }
>
>  static const struct {
> @@ -1241,6 +1264,7 @@ int igt_main()
>
>         igt_fixture() {
>                 test_content_protection_cleanup();
> +               remove_fbs();
>                 igt_display_fini(&data.display);
>                 drm_close_driver(data.drm_fd);
>         }
> --
> 2.43.0
>
>

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

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

* Re: [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-04-29 20:31   ` Manasi Navare
@ 2026-04-30 22:59     ` Manasi Navare
  2026-05-04  8:31       ` Karthik B S
  0 siblings, 1 reply; 24+ messages in thread
From: Manasi Navare @ 2026-04-30 22:59 UTC (permalink / raw)
  To: Jason-JH Lin
  Cc: igt-dev, Karthik B S, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao, Jani,
	Paul-PL Chen, Nancy Lin, Singo Chang, Gil Dekel, Yacoub,
	Project_Global_Chrome_Upstream_Group

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

This change looks good to me,

Reviewed-by: Manasi Navare <navaremanasi@google.com>

@Karthik B S <karthik.b.s@intel.com>  and others from Intel signal boosting
this, could we get some traction on this, its reviewed by the team, could
we please land this?

Regards
Manasi

On Wed, Apr 29, 2026 at 1:31 PM Manasi Navare <navaremanasi@google.com>
wrote:

> Thanks Jason-JH for this improvement in the kms_content_protection IGT
> test.
> It makes sense to create a fb per CRTC given that each CRTC can have
> different mode timings/resolutions.
>
> @karthik.b.s@intel.com <karthik.b.s@intel.com> , @
> bhanuprakash.modem@gmail.com, @swati2.sharma@intel.com
> Could you please take a look at this patch and help provide feedback?
> We would like to get this landed as it helps improve our testing.
>
> Regards
> Manasi
>
>
>
> On Sun, Mar 29, 2026 at 8:22 PM Jason-JH Lin <jason-jh.lin@mediatek.com>
> wrote:
>
>> Replace global framebuffers (data.red/green) with per-CRTC array
>> (data.fbs[IGT_MAX_PIPES]) to support multiple outputs with different
>> resolutions.
>>
>> Add create_fbs()/remove_fbs() to manage framebuffer lifecycle at
>> test initialization/cleanup, creating each FB with the resolution of
>> the first output that can connect to that CRTC.
>>
>> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
>> Reviewed-by: Fei Shao <fshao@chromium.org>
>> ---
>>  tests/kms_content_protection.c | 50 +++++++++++++++++++++++++---------
>>  1 file changed, 37 insertions(+), 13 deletions(-)
>>
>> diff --git a/tests/kms_content_protection.c
>> b/tests/kms_content_protection.c
>> index caf3d7a56ae4..df9ff5efcaa2 100644
>> --- a/tests/kms_content_protection.c
>> +++ b/tests/kms_content_protection.c
>> @@ -107,10 +107,15 @@
>>
>>  IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
>>
>> +struct hdcp_test_fbs {
>> +       struct igt_fb red;
>> +       struct igt_fb green;
>> +};
>> +
>>  struct data {
>>         int drm_fd;
>>         igt_display_t display;
>> -       struct igt_fb red, green;
>> +       struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
>>         unsigned int cp_tests;
>>         struct udev_monitor *uevent_monitor;
>>         bool is_force_hdcp14;
>> @@ -991,31 +996,49 @@ static void test_content_protection_cleanup(void)
>>                 igt_info("CP Prop being UNDESIRED on %s\n", output->name);
>>                 test_cp_disable(output, display->is_atomic ?
>> COMMIT_ATOMIC : COMMIT_LEGACY);
>>         }
>> -
>> -       igt_remove_fb(data.drm_fd, &data.red);
>> -       igt_remove_fb(data.drm_fd, &data.green);
>>  }
>>
>>  static void create_fbs(void)
>>  {
>> -       uint16_t width = 0, height = 0;
>>         drmModeModeInfo *mode;
>>         igt_output_t *output;
>> +       igt_crtc_t *crtc;
>>
>> +       /* Create framebuffers for each connected output's pipe */
>>         for_each_connected_output(&data.display, output) {
>>                 mode = igt_output_get_mode(output);
>>                 igt_assert(mode);
>>
>> -               width = max(width, mode->hdisplay);
>> -               height = max(height, mode->vdisplay);
>> +               /* Find a valid crtc for this output */
>> +               for_each_crtc(&data.display, crtc) {
>> +                       if (!igt_crtc_connector_valid(crtc, output))
>> +                               continue;
>> +
>> +                       /* Skip if already created for this crtc */
>> +                       if (data.fbs[crtc->crtc_index].red.fb_id)
>> +                               continue;
>> +
>> +                       igt_create_color_fb(data.drm_fd, mode->hdisplay,
>> mode->vdisplay,
>> +                                           DRM_FORMAT_XRGB8888,
>> DRM_FORMAT_MOD_LINEAR,
>> +                                           1.f, 0.f, 0.f,
>> &data.fbs[crtc->crtc_index].red);
>> +                       igt_create_color_fb(data.drm_fd, mode->hdisplay,
>> mode->vdisplay,
>> +                                           DRM_FORMAT_XRGB8888,
>> DRM_FORMAT_MOD_LINEAR,
>> +                                           0.f, 1.f, 0.f,
>> &data.fbs[crtc->crtc_index].green);
>> +                       break;
>> +               }
>>         }
>> +}
>>
>> -       igt_create_color_fb(data.drm_fd, width, height,
>> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>> -                           1.f, 0.f, 0.f, &data.red);
>> -       igt_create_color_fb(data.drm_fd, width, height,
>> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>> -                           0.f, 1.f, 0.f, &data.green);
>> +static void remove_fbs(void)
>> +{
>> +       igt_crtc_t *crtc;
>> +
>> +       for_each_crtc(&data.display, crtc) {
>> +               if (data.fbs[crtc->crtc_index].red.fb_id)
>> +                       igt_remove_fb(data.drm_fd,
>> &data.fbs[crtc->crtc_index].red);
>> +               if (data.fbs[crtc->crtc_index].green.fb_id)
>> +                       igt_remove_fb(data.drm_fd,
>> &data.fbs[crtc->crtc_index].green);
>> +       }
>>  }
>>
>>  static const struct {
>> @@ -1241,6 +1264,7 @@ int igt_main()
>>
>>         igt_fixture() {
>>                 test_content_protection_cleanup();
>> +               remove_fbs();
>>                 igt_display_fini(&data.display);
>>                 drm_close_driver(data.drm_fd);
>>         }
>> --
>> 2.43.0
>>
>>

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

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

* Re: [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-04-30 22:59     ` Manasi Navare
@ 2026-05-04  8:31       ` Karthik B S
  2026-05-04 20:32         ` Manasi Navare
  0 siblings, 1 reply; 24+ messages in thread
From: Karthik B S @ 2026-05-04  8:31 UTC (permalink / raw)
  To: Manasi Navare, Jason-JH Lin
  Cc: igt-dev, Swati Sharma, Kamil Konieczny, Juha-Pekka Heikkila,
	Bhanuprakash Modem, Fei Shao, Jani, Paul-PL Chen, Nancy Lin,
	Singo Chang, Gil Dekel, Yacoub,
	Project_Global_Chrome_Upstream_Group

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

Hi Manasi,

On 5/1/2026 4:29 AM, Manasi Navare wrote:
> This change looks good to me,
>
> Reviewed-by: Manasi Navare <navaremanasi@google.com>
>
> @Karthik B S <mailto:karthik.b.s@intel.com>  and others from Intel 
> signal boosting this, could we get some traction on this, its reviewed 
> by the team, could we please land this?

Sure, the idea LGTM in general. Will try this out at our end once before 
merging as this test doesn't have coverage on CI currently.

Regards,
Karthik.B.S
>
> Regards
> Manasi
>
> On Wed, Apr 29, 2026 at 1:31 PM Manasi Navare 
> <navaremanasi@google.com> wrote:
>
>     Thanks Jason-JH for this improvement in the kms_content_protection
>     IGT test.
>     It makes sense to create a fb per CRTC given that each CRTC can
>     have different mode timings/resolutions.
>
>     @karthik.b.s@intel.com <mailto:karthik.b.s@intel.com> ,
>     @bhanuprakash.modem@gmail.com, @swati2.sharma@intel.com
>     Could you please take a look at this patch and help provide feedback?
>     We would like to get this landed as it helps improve our testing.
>
>     Regards
>     Manasi
>
>
>
>     On Sun, Mar 29, 2026 at 8:22 PM Jason-JH Lin
>     <jason-jh.lin@mediatek.com> wrote:
>
>         Replace global framebuffers (data.red/green) with per-CRTC array
>         (data.fbs[IGT_MAX_PIPES]) to support multiple outputs with
>         different
>         resolutions.
>
>         Add create_fbs()/remove_fbs() to manage framebuffer lifecycle at
>         test initialization/cleanup, creating each FB with the
>         resolution of
>         the first output that can connect to that CRTC.
>
>         Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
>         Reviewed-by: Fei Shao <fshao@chromium.org>
>         ---
>          tests/kms_content_protection.c | 50
>         +++++++++++++++++++++++++---------
>          1 file changed, 37 insertions(+), 13 deletions(-)
>
>         diff --git a/tests/kms_content_protection.c
>         b/tests/kms_content_protection.c
>         index caf3d7a56ae4..df9ff5efcaa2 100644
>         --- a/tests/kms_content_protection.c
>         +++ b/tests/kms_content_protection.c
>         @@ -107,10 +107,15 @@
>
>          IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
>
>         +struct hdcp_test_fbs {
>         +       struct igt_fb red;
>         +       struct igt_fb green;
>         +};
>         +
>          struct data {
>                 int drm_fd;
>                 igt_display_t display;
>         -       struct igt_fb red, green;
>         +       struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
>                 unsigned int cp_tests;
>                 struct udev_monitor *uevent_monitor;
>                 bool is_force_hdcp14;
>         @@ -991,31 +996,49 @@ static void
>         test_content_protection_cleanup(void)
>                         igt_info("CP Prop being UNDESIRED on %s\n",
>         output->name);
>                         test_cp_disable(output, display->is_atomic ?
>         COMMIT_ATOMIC : COMMIT_LEGACY);
>                 }
>         -
>         -       igt_remove_fb(data.drm_fd, &data.red);
>         -       igt_remove_fb(data.drm_fd, &data.green);
>          }
>
>          static void create_fbs(void)
>          {
>         -       uint16_t width = 0, height = 0;
>                 drmModeModeInfo *mode;
>                 igt_output_t *output;
>         +       igt_crtc_t *crtc;
>
>         +       /* Create framebuffers for each connected output's pipe */
>                 for_each_connected_output(&data.display, output) {
>                         mode = igt_output_get_mode(output);
>                         igt_assert(mode);
>
>         -               width = max(width, mode->hdisplay);
>         -               height = max(height, mode->vdisplay);
>         +               /* Find a valid crtc for this output */
>         +               for_each_crtc(&data.display, crtc) {
>         +                       if (!igt_crtc_connector_valid(crtc,
>         output))
>         +                               continue;
>         +
>         +                       /* Skip if already created for this
>         crtc */
>         +                       if (data.fbs[crtc->crtc_index].red.fb_id)
>         +                               continue;
>         +
>         +  igt_create_color_fb(data.drm_fd, mode->hdisplay,
>         mode->vdisplay,
>         +  DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>         +                                           1.f, 0.f, 0.f,
>         &data.fbs[crtc->crtc_index].red);
>         +  igt_create_color_fb(data.drm_fd, mode->hdisplay,
>         mode->vdisplay,
>         +  DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>         +                                           0.f, 1.f, 0.f,
>         &data.fbs[crtc->crtc_index].green);
>         +                       break;
>         +               }
>                 }
>         +}
>
>         -       igt_create_color_fb(data.drm_fd, width, height,
>         -                           DRM_FORMAT_XRGB8888,
>         DRM_FORMAT_MOD_LINEAR,
>         -                           1.f, 0.f, 0.f, &data.red);
>         -       igt_create_color_fb(data.drm_fd, width, height,
>         -                           DRM_FORMAT_XRGB8888,
>         DRM_FORMAT_MOD_LINEAR,
>         -                           0.f, 1.f, 0.f, &data.green);
>         +static void remove_fbs(void)
>         +{
>         +       igt_crtc_t *crtc;
>         +
>         +       for_each_crtc(&data.display, crtc) {
>         +               if (data.fbs[crtc->crtc_index].red.fb_id)
>         +                       igt_remove_fb(data.drm_fd,
>         &data.fbs[crtc->crtc_index].red);
>         +               if (data.fbs[crtc->crtc_index].green.fb_id)
>         +                       igt_remove_fb(data.drm_fd,
>         &data.fbs[crtc->crtc_index].green);
>         +       }
>          }
>
>          static const struct {
>         @@ -1241,6 +1264,7 @@ int igt_main()
>
>                 igt_fixture() {
>                         test_content_protection_cleanup();
>         +               remove_fbs();
>                         igt_display_fini(&data.display);
>                         drm_close_driver(data.drm_fd);
>                 }
>         -- 
>         2.43.0
>

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

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

* Re: [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-05-04  8:31       ` Karthik B S
@ 2026-05-04 20:32         ` Manasi Navare
  2026-05-05 22:28           ` Manasi Navare
  2026-05-06 10:57           ` Reddy Guddati, Santhosh
  0 siblings, 2 replies; 24+ messages in thread
From: Manasi Navare @ 2026-05-04 20:32 UTC (permalink / raw)
  To: Karthik B S
  Cc: Jason-JH Lin, igt-dev, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao, Jani,
	Paul-PL Chen, Nancy Lin, Singo Chang, Gil Dekel, Yacoub,
	Project_Global_Chrome_Upstream_Group

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

Thanks a lot @Karthik B S <karthik.b.s@intel.com>  for your response,
And appreciate you trying this on your end and for your help on getting
this landed.

Regards
Manasi

On Mon, May 4, 2026 at 1:31 AM Karthik B S <karthik.b.s@intel.com> wrote:

> Hi Manasi,
> On 5/1/2026 4:29 AM, Manasi Navare wrote:
>
> This change looks good to me,
>
> Reviewed-by: Manasi Navare <navaremanasi@google.com>
>
> @Karthik B S <karthik.b.s@intel.com>  and others from Intel signal
> boosting this, could we get some traction on this, its reviewed by the
> team, could we please land this?
>
> Sure, the idea LGTM in general. Will try this out at our end once before
> merging as this test doesn't have coverage on CI currently.
> Regards,
> Karthik.B.S
>
>
> Regards
> Manasi
>
> On Wed, Apr 29, 2026 at 1:31 PM Manasi Navare <navaremanasi@google.com>
> wrote:
>
>> Thanks Jason-JH for this improvement in the kms_content_protection IGT
>> test.
>> It makes sense to create a fb per CRTC given that each CRTC can have
>> different mode timings/resolutions.
>>
>> @karthik.b.s@intel.com <karthik.b.s@intel.com> , @
>> bhanuprakash.modem@gmail.com, @swati2.sharma@intel.com
>> Could you please take a look at this patch and help provide feedback?
>> We would like to get this landed as it helps improve our testing.
>>
>> Regards
>> Manasi
>>
>>
>>
>> On Sun, Mar 29, 2026 at 8:22 PM Jason-JH Lin <jason-jh.lin@mediatek.com>
>> wrote:
>>
>>> Replace global framebuffers (data.red/green) with per-CRTC array
>>> (data.fbs[IGT_MAX_PIPES]) to support multiple outputs with different
>>> resolutions.
>>>
>>> Add create_fbs()/remove_fbs() to manage framebuffer lifecycle at
>>> test initialization/cleanup, creating each FB with the resolution of
>>> the first output that can connect to that CRTC.
>>>
>>> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
>>> Reviewed-by: Fei Shao <fshao@chromium.org>
>>> ---
>>>  tests/kms_content_protection.c | 50 +++++++++++++++++++++++++---------
>>>  1 file changed, 37 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/tests/kms_content_protection.c
>>> b/tests/kms_content_protection.c
>>> index caf3d7a56ae4..df9ff5efcaa2 100644
>>> --- a/tests/kms_content_protection.c
>>> +++ b/tests/kms_content_protection.c
>>> @@ -107,10 +107,15 @@
>>>
>>>  IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
>>>
>>> +struct hdcp_test_fbs {
>>> +       struct igt_fb red;
>>> +       struct igt_fb green;
>>> +};
>>> +
>>>  struct data {
>>>         int drm_fd;
>>>         igt_display_t display;
>>> -       struct igt_fb red, green;
>>> +       struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
>>>         unsigned int cp_tests;
>>>         struct udev_monitor *uevent_monitor;
>>>         bool is_force_hdcp14;
>>> @@ -991,31 +996,49 @@ static void test_content_protection_cleanup(void)
>>>                 igt_info("CP Prop being UNDESIRED on %s\n",
>>> output->name);
>>>                 test_cp_disable(output, display->is_atomic ?
>>> COMMIT_ATOMIC : COMMIT_LEGACY);
>>>         }
>>> -
>>> -       igt_remove_fb(data.drm_fd, &data.red);
>>> -       igt_remove_fb(data.drm_fd, &data.green);
>>>  }
>>>
>>>  static void create_fbs(void)
>>>  {
>>> -       uint16_t width = 0, height = 0;
>>>         drmModeModeInfo *mode;
>>>         igt_output_t *output;
>>> +       igt_crtc_t *crtc;
>>>
>>> +       /* Create framebuffers for each connected output's pipe */
>>>         for_each_connected_output(&data.display, output) {
>>>                 mode = igt_output_get_mode(output);
>>>                 igt_assert(mode);
>>>
>>> -               width = max(width, mode->hdisplay);
>>> -               height = max(height, mode->vdisplay);
>>> +               /* Find a valid crtc for this output */
>>> +               for_each_crtc(&data.display, crtc) {
>>> +                       if (!igt_crtc_connector_valid(crtc, output))
>>> +                               continue;
>>> +
>>> +                       /* Skip if already created for this crtc */
>>> +                       if (data.fbs[crtc->crtc_index].red.fb_id)
>>> +                               continue;
>>> +
>>> +                       igt_create_color_fb(data.drm_fd, mode->hdisplay,
>>> mode->vdisplay,
>>> +                                           DRM_FORMAT_XRGB8888,
>>> DRM_FORMAT_MOD_LINEAR,
>>> +                                           1.f, 0.f, 0.f,
>>> &data.fbs[crtc->crtc_index].red);
>>> +                       igt_create_color_fb(data.drm_fd, mode->hdisplay,
>>> mode->vdisplay,
>>> +                                           DRM_FORMAT_XRGB8888,
>>> DRM_FORMAT_MOD_LINEAR,
>>> +                                           0.f, 1.f, 0.f,
>>> &data.fbs[crtc->crtc_index].green);
>>> +                       break;
>>> +               }
>>>         }
>>> +}
>>>
>>> -       igt_create_color_fb(data.drm_fd, width, height,
>>> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>> -                           1.f, 0.f, 0.f, &data.red);
>>> -       igt_create_color_fb(data.drm_fd, width, height,
>>> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>> -                           0.f, 1.f, 0.f, &data.green);
>>> +static void remove_fbs(void)
>>> +{
>>> +       igt_crtc_t *crtc;
>>> +
>>> +       for_each_crtc(&data.display, crtc) {
>>> +               if (data.fbs[crtc->crtc_index].red.fb_id)
>>> +                       igt_remove_fb(data.drm_fd,
>>> &data.fbs[crtc->crtc_index].red);
>>> +               if (data.fbs[crtc->crtc_index].green.fb_id)
>>> +                       igt_remove_fb(data.drm_fd,
>>> &data.fbs[crtc->crtc_index].green);
>>> +       }
>>>  }
>>>
>>>  static const struct {
>>> @@ -1241,6 +1264,7 @@ int igt_main()
>>>
>>>         igt_fixture() {
>>>                 test_content_protection_cleanup();
>>> +               remove_fbs();
>>>                 igt_display_fini(&data.display);
>>>                 drm_close_driver(data.drm_fd);
>>>         }
>>> --
>>> 2.43.0
>>>
>>>

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

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

* Re: [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-05-04 20:32         ` Manasi Navare
@ 2026-05-05 22:28           ` Manasi Navare
  2026-05-06 12:15             ` Karthik B S
  2026-05-06 10:57           ` Reddy Guddati, Santhosh
  1 sibling, 1 reply; 24+ messages in thread
From: Manasi Navare @ 2026-05-05 22:28 UTC (permalink / raw)
  To: Karthik B S
  Cc: Jason-JH Lin, igt-dev, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao, Jani,
	Paul-PL Chen, Nancy Lin, Singo Chang, Gil Dekel, Yacoub,
	Project_Global_Chrome_Upstream_Group

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

Hi @Karthik B S <karthik.b.s@intel.com> , were you able to test this
locally for regressions?
If you could add your R-B , we can get this landed as soon as possible.
This is time critical for us and is required to scale to MTK platform

Regards
Manasi

On Mon, May 4, 2026 at 1:32 PM Manasi Navare <navaremanasi@google.com>
wrote:

> Thanks a lot @Karthik B S <karthik.b.s@intel.com>  for your response,
> And appreciate you trying this on your end and for your help on getting
> this landed.
>
> Regards
> Manasi
>
> On Mon, May 4, 2026 at 1:31 AM Karthik B S <karthik.b.s@intel.com> wrote:
>
>> Hi Manasi,
>> On 5/1/2026 4:29 AM, Manasi Navare wrote:
>>
>> This change looks good to me,
>>
>> Reviewed-by: Manasi Navare <navaremanasi@google.com>
>>
>> @Karthik B S <karthik.b.s@intel.com>  and others from Intel signal
>> boosting this, could we get some traction on this, its reviewed by the
>> team, could we please land this?
>>
>> Sure, the idea LGTM in general. Will try this out at our end once before
>> merging as this test doesn't have coverage on CI currently.
>> Regards,
>> Karthik.B.S
>>
>>
>> Regards
>> Manasi
>>
>> On Wed, Apr 29, 2026 at 1:31 PM Manasi Navare <navaremanasi@google.com>
>> wrote:
>>
>>> Thanks Jason-JH for this improvement in the kms_content_protection IGT
>>> test.
>>> It makes sense to create a fb per CRTC given that each CRTC can have
>>> different mode timings/resolutions.
>>>
>>> @karthik.b.s@intel.com <karthik.b.s@intel.com> , @
>>> bhanuprakash.modem@gmail.com, @swati2.sharma@intel.com
>>> Could you please take a look at this patch and help provide feedback?
>>> We would like to get this landed as it helps improve our testing.
>>>
>>> Regards
>>> Manasi
>>>
>>>
>>>
>>> On Sun, Mar 29, 2026 at 8:22 PM Jason-JH Lin <jason-jh.lin@mediatek.com>
>>> wrote:
>>>
>>>> Replace global framebuffers (data.red/green) with per-CRTC array
>>>> (data.fbs[IGT_MAX_PIPES]) to support multiple outputs with different
>>>> resolutions.
>>>>
>>>> Add create_fbs()/remove_fbs() to manage framebuffer lifecycle at
>>>> test initialization/cleanup, creating each FB with the resolution of
>>>> the first output that can connect to that CRTC.
>>>>
>>>> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
>>>> Reviewed-by: Fei Shao <fshao@chromium.org>
>>>> ---
>>>>  tests/kms_content_protection.c | 50 +++++++++++++++++++++++++---------
>>>>  1 file changed, 37 insertions(+), 13 deletions(-)
>>>>
>>>> diff --git a/tests/kms_content_protection.c
>>>> b/tests/kms_content_protection.c
>>>> index caf3d7a56ae4..df9ff5efcaa2 100644
>>>> --- a/tests/kms_content_protection.c
>>>> +++ b/tests/kms_content_protection.c
>>>> @@ -107,10 +107,15 @@
>>>>
>>>>  IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
>>>>
>>>> +struct hdcp_test_fbs {
>>>> +       struct igt_fb red;
>>>> +       struct igt_fb green;
>>>> +};
>>>> +
>>>>  struct data {
>>>>         int drm_fd;
>>>>         igt_display_t display;
>>>> -       struct igt_fb red, green;
>>>> +       struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
>>>>         unsigned int cp_tests;
>>>>         struct udev_monitor *uevent_monitor;
>>>>         bool is_force_hdcp14;
>>>> @@ -991,31 +996,49 @@ static void test_content_protection_cleanup(void)
>>>>                 igt_info("CP Prop being UNDESIRED on %s\n",
>>>> output->name);
>>>>                 test_cp_disable(output, display->is_atomic ?
>>>> COMMIT_ATOMIC : COMMIT_LEGACY);
>>>>         }
>>>> -
>>>> -       igt_remove_fb(data.drm_fd, &data.red);
>>>> -       igt_remove_fb(data.drm_fd, &data.green);
>>>>  }
>>>>
>>>>  static void create_fbs(void)
>>>>  {
>>>> -       uint16_t width = 0, height = 0;
>>>>         drmModeModeInfo *mode;
>>>>         igt_output_t *output;
>>>> +       igt_crtc_t *crtc;
>>>>
>>>> +       /* Create framebuffers for each connected output's pipe */
>>>>         for_each_connected_output(&data.display, output) {
>>>>                 mode = igt_output_get_mode(output);
>>>>                 igt_assert(mode);
>>>>
>>>> -               width = max(width, mode->hdisplay);
>>>> -               height = max(height, mode->vdisplay);
>>>> +               /* Find a valid crtc for this output */
>>>> +               for_each_crtc(&data.display, crtc) {
>>>> +                       if (!igt_crtc_connector_valid(crtc, output))
>>>> +                               continue;
>>>> +
>>>> +                       /* Skip if already created for this crtc */
>>>> +                       if (data.fbs[crtc->crtc_index].red.fb_id)
>>>> +                               continue;
>>>> +
>>>> +                       igt_create_color_fb(data.drm_fd,
>>>> mode->hdisplay, mode->vdisplay,
>>>> +                                           DRM_FORMAT_XRGB8888,
>>>> DRM_FORMAT_MOD_LINEAR,
>>>> +                                           1.f, 0.f, 0.f,
>>>> &data.fbs[crtc->crtc_index].red);
>>>> +                       igt_create_color_fb(data.drm_fd,
>>>> mode->hdisplay, mode->vdisplay,
>>>> +                                           DRM_FORMAT_XRGB8888,
>>>> DRM_FORMAT_MOD_LINEAR,
>>>> +                                           0.f, 1.f, 0.f,
>>>> &data.fbs[crtc->crtc_index].green);
>>>> +                       break;
>>>> +               }
>>>>         }
>>>> +}
>>>>
>>>> -       igt_create_color_fb(data.drm_fd, width, height,
>>>> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>>> -                           1.f, 0.f, 0.f, &data.red);
>>>> -       igt_create_color_fb(data.drm_fd, width, height,
>>>> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>>> -                           0.f, 1.f, 0.f, &data.green);
>>>> +static void remove_fbs(void)
>>>> +{
>>>> +       igt_crtc_t *crtc;
>>>> +
>>>> +       for_each_crtc(&data.display, crtc) {
>>>> +               if (data.fbs[crtc->crtc_index].red.fb_id)
>>>> +                       igt_remove_fb(data.drm_fd,
>>>> &data.fbs[crtc->crtc_index].red);
>>>> +               if (data.fbs[crtc->crtc_index].green.fb_id)
>>>> +                       igt_remove_fb(data.drm_fd,
>>>> &data.fbs[crtc->crtc_index].green);
>>>> +       }
>>>>  }
>>>>
>>>>  static const struct {
>>>> @@ -1241,6 +1264,7 @@ int igt_main()
>>>>
>>>>         igt_fixture() {
>>>>                 test_content_protection_cleanup();
>>>> +               remove_fbs();
>>>>                 igt_display_fini(&data.display);
>>>>                 drm_close_driver(data.drm_fd);
>>>>         }
>>>> --
>>>> 2.43.0
>>>>
>>>>

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

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

* Re: [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-05-04 20:32         ` Manasi Navare
  2026-05-05 22:28           ` Manasi Navare
@ 2026-05-06 10:57           ` Reddy Guddati, Santhosh
  1 sibling, 0 replies; 24+ messages in thread
From: Reddy Guddati, Santhosh @ 2026-05-06 10:57 UTC (permalink / raw)
  To: igt-dev



On 05-05-2026 02:02, Manasi Navare wrote:
> Thanks a lot @Karthik B S <mailto:karthik.b.s@intel.com>  for your response,
> And appreciate you trying this on your end and for your help on getting 
> this landed.
> 
> Regards
> Manasi
> 
> On Mon, May 4, 2026 at 1:31 AM Karthik B S <karthik.b.s@intel.com 
> <mailto:karthik.b.s@intel.com>> wrote:
> 
>     __
> 
>     Hi Manasi,
> 
>     On 5/1/2026 4:29 AM, Manasi Navare wrote:
>>     This change looks good to me,
>>
>>     Reviewed-by: Manasi Navare <navaremanasi@google.com
>>     <mailto:navaremanasi@google.com>>
>>
>>     @Karthik B S <mailto:karthik.b.s@intel.com>  and others from Intel
>>     signal boosting this, could we get some traction on this, its
>>     reviewed by the team, could we please land this?
> 
>     Sure, the idea LGTM in general. Will try this out at our end once
>     before merging as this test doesn't have coverage on CI currently.
> 
>     Regards,
>     Karthik.B.S

I have tested these patches on a mst and non mst setup locally. The 
changes and the results LGTM.

Regards,
Santhosh

Tested-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
Reviewed-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>


>>
>>     Regards
>>     Manasi
>>
>>     On Wed, Apr 29, 2026 at 1:31 PM Manasi Navare
>>     <navaremanasi@google.com <mailto:navaremanasi@google.com>> wrote:
>>
>>         Thanks Jason-JH for this improvement in the
>>         kms_content_protection IGT test.
>>         It makes sense to create a fb per CRTC given that each CRTC
>>         can have different mode timings/resolutions.
>>
>>         @karthik.b.s@intel.com <mailto:karthik.b.s@intel.com> ,
>>         @bhanuprakash.modem@gmail.com
>>         <mailto:bhanuprakash.modem@gmail.com>, @swati2.sharma@intel.com <mailto:swati2.sharma@intel.com>
>>         Could you please take a look at this patch and help provide
>>         feedback?
>>         We would like to get this landed as it helps improve our testing.
>>
>>         Regards
>>         Manasi
>>
>>
>>
>>         On Sun, Mar 29, 2026 at 8:22 PM Jason-JH Lin <jason-
>>         jh.lin@mediatek.com <mailto:jason-jh.lin@mediatek.com>> wrote:
>>
>>             Replace global framebuffers (data.red/green) with per-CRTC
>>             array
>>             (data.fbs[IGT_MAX_PIPES]) to support multiple outputs with
>>             different
>>             resolutions.
>>
>>             Add create_fbs()/remove_fbs() to manage framebuffer
>>             lifecycle at
>>             test initialization/cleanup, creating each FB with the
>>             resolution of
>>             the first output that can connect to that CRTC.
>>
>>             Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com
>>             <mailto:jason-jh.lin@mediatek.com>>
>>             Reviewed-by: Fei Shao <fshao@chromium.org
>>             <mailto:fshao@chromium.org>>
>>             ---
>>              tests/kms_content_protection.c | 50 +++++++++++++++++++++
>>             ++++---------
>>              1 file changed, 37 insertions(+), 13 deletions(-)
>>
>>             diff --git a/tests/kms_content_protection.c b/tests/
>>             kms_content_protection.c
>>             index caf3d7a56ae4..df9ff5efcaa2 100644
>>             --- a/tests/kms_content_protection.c
>>             +++ b/tests/kms_content_protection.c
>>             @@ -107,10 +107,15 @@
>>
>>              IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
>>
>>             +struct hdcp_test_fbs {
>>             +       struct igt_fb red;
>>             +       struct igt_fb green;
>>             +};
>>             +
>>              struct data {
>>                     int drm_fd;
>>                     igt_display_t display;
>>             -       struct igt_fb red, green;
>>             +       struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
>>                     unsigned int cp_tests;
>>                     struct udev_monitor *uevent_monitor;
>>                     bool is_force_hdcp14;
>>             @@ -991,31 +996,49 @@ static void
>>             test_content_protection_cleanup(void)
>>                             igt_info("CP Prop being UNDESIRED on
>>             %s\n", output->name);
>>                             test_cp_disable(output, display-
>>             >is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>>                     }
>>             -
>>             -       igt_remove_fb(data.drm_fd, &data.red);
>>             -       igt_remove_fb(data.drm_fd, &data.green);
>>              }
>>
>>              static void create_fbs(void)
>>              {
>>             -       uint16_t width = 0, height = 0;
>>                     drmModeModeInfo *mode;
>>                     igt_output_t *output;
>>             +       igt_crtc_t *crtc;
>>
>>             +       /* Create framebuffers for each connected output's
>>             pipe */
>>                     for_each_connected_output(&data.display, output) {
>>                             mode = igt_output_get_mode(output);
>>                             igt_assert(mode);
>>
>>             -               width = max(width, mode->hdisplay);
>>             -               height = max(height, mode->vdisplay);
>>             +               /* Find a valid crtc for this output */
>>             +               for_each_crtc(&data.display, crtc) {
>>             +                       if (!
>>             igt_crtc_connector_valid(crtc, output))
>>             +                               continue;
>>             +
>>             +                       /* Skip if already created for
>>             this crtc */
>>             +                       if (data.fbs[crtc-
>>             >crtc_index].red.fb_id)
>>             +                               continue;
>>             +
>>             +  igt_create_color_fb(data.drm_fd, mode->hdisplay, mode-
>>             >vdisplay,
>>             +  DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>             +                                           1.f, 0.f, 0.f,
>>             &data.fbs[crtc->crtc_index].red);
>>             +  igt_create_color_fb(data.drm_fd, mode->hdisplay, mode-
>>             >vdisplay,
>>             +  DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>             +                                           0.f, 1.f, 0.f,
>>             &data.fbs[crtc->crtc_index].green);
>>             +                       break;
>>             +               }
>>                     }
>>             +}
>>
>>             -       igt_create_color_fb(data.drm_fd, width, height,
>>             -                           DRM_FORMAT_XRGB8888,
>>             DRM_FORMAT_MOD_LINEAR,
>>             -                           1.f, 0.f, 0.f, &data.red);
>>             -       igt_create_color_fb(data.drm_fd, width, height,
>>             -                           DRM_FORMAT_XRGB8888,
>>             DRM_FORMAT_MOD_LINEAR,
>>             -                           0.f, 1.f, 0.f, &data.green);
>>             +static void remove_fbs(void)
>>             +{
>>             +       igt_crtc_t *crtc;
>>             +
>>             +       for_each_crtc(&data.display, crtc) {
>>             +               if (data.fbs[crtc->crtc_index].red.fb_id)
>>             +                       igt_remove_fb(data.drm_fd,
>>             &data.fbs[crtc->crtc_index].red);
>>             +               if (data.fbs[crtc->crtc_index].green.fb_id)
>>             +                       igt_remove_fb(data.drm_fd,
>>             &data.fbs[crtc->crtc_index].green);
>>             +       }
>>              }
>>
>>              static const struct {
>>             @@ -1241,6 +1264,7 @@ int igt_main()
>>
>>                     igt_fixture() {
>>                             test_content_protection_cleanup();
>>             +               remove_fbs();
>>                             igt_display_fini(&data.display);
>>                             drm_close_driver(data.drm_fd);
>>                     }
>>             -- 
>>             2.43.0
>>


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

* Re: [PATCH i-g-t v5 2/3] tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs
  2026-03-30  3:20 ` [PATCH i-g-t v5 2/3] tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs Jason-JH Lin
  2026-04-17  4:12   ` Fei Shao
@ 2026-05-06 11:05   ` Reddy Guddati, Santhosh
  1 sibling, 0 replies; 24+ messages in thread
From: Reddy Guddati, Santhosh @ 2026-05-06 11:05 UTC (permalink / raw)
  To: igt-dev



On 30-03-2026 08:50, Jason-JH Lin wrote:
> Refactor functions to accept crtc parameter and use per-CRTC
> framebuffers (data.fbs[crtc->crtc_index]).
> 
> Modified: modeset_with_fb(), test_cp_enable/disable(),
> test_cp_enable_with_retry(), test_mst_cp_disable(),
> prepare_modeset_on_mst_output(), test_fini(),
> test_content_protection_cleanup().
> 
> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
> ---
>   tests/kms_content_protection.c | 74 ++++++++++++++++++++--------------
>   1 file changed, 43 insertions(+), 31 deletions(-)
> 
> diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
> index df9ff5efcaa2..b302d4cfd47d 100644
> --- a/tests/kms_content_protection.c
> +++ b/tests/kms_content_protection.c
> @@ -263,7 +263,7 @@ commit_display_and_wait_for_flip(enum igt_commit_style commit_style)
>   	}
>   }
>   
> -static void modeset_with_fb(igt_output_t *output,
> +static void modeset_with_fb(igt_output_t *output, igt_crtc_t *crtc,
>   			    enum igt_commit_style commit_style)
>   {
>   	igt_display_t *display = &data.display;
> @@ -273,18 +273,19 @@ static void modeset_with_fb(igt_output_t *output,
>   	mode = igt_output_get_mode(output);
>   
>   	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> -	igt_plane_set_fb(primary, &data.red);
> -	igt_fb_set_size(&data.red, primary, mode->hdisplay, mode->vdisplay);
> +	igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].red);
> +	igt_fb_set_size(&data.fbs[crtc->crtc_index].red, primary, mode->hdisplay, mode->vdisplay);
>   
>   	igt_display_commit2(display, commit_style);
>   
> -	igt_plane_set_fb(primary, &data.green);
> +	igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].green);
>   
>   	/* Wait for Flip completion before starting the HDCP authentication */
>   	commit_display_and_wait_for_flip(commit_style);
>   }
>   
> -static bool test_cp_enable(igt_output_t *output, enum igt_commit_style commit_style,
> +static bool test_cp_enable(igt_output_t *output, igt_crtc_t *crtc,
> +			   enum igt_commit_style commit_style,
>   			   int content_type, bool type_change)
>   {
>   	igt_display_t *display = &data.display;
> @@ -307,7 +308,7 @@ static bool test_cp_enable(igt_output_t *output, enum igt_commit_style commit_st
>   	ret = wait_for_prop_value(output, CP_ENABLED,
>   				  KERNEL_AUTH_TIME_ALLOWED_MSEC);
>   	if (ret) {
> -		igt_plane_set_fb(primary, &data.green);
> +		igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].green);
>   		igt_display_commit2(display, commit_style);
>   	}
>   
> @@ -320,13 +321,15 @@ static void test_mst_cp_disable(igt_output_t *hdcp_mst_output[],
>   {
>   	igt_display_t *display = &data.display;
>   	igt_plane_t *primary;
> +	igt_crtc_t *crtc;
>   	bool ret;
>   	int count;
>   	u64 val;
>   
>   	for (count = 0; count < valid_outputs; count++) {
> +		crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
>   		primary = igt_output_get_plane_type(hdcp_mst_output[count], DRM_PLANE_TYPE_PRIMARY);
> -		igt_plane_set_fb(primary, &data.red);
> +		igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].red);
>   		igt_output_set_prop_value(hdcp_mst_output[count], IGT_CONNECTOR_CONTENT_PROTECTION,
>   					  CP_UNDESIRED);
>   	}
> @@ -344,7 +347,8 @@ static void test_mst_cp_disable(igt_output_t *hdcp_mst_output[],
>   	igt_assert_f(ret, "Content Protection not cleared on all MST outputs\n");
>   }
>   
> -static void test_cp_disable(igt_output_t *output, enum igt_commit_style commit_style)
> +static void test_cp_disable(igt_output_t *output, igt_crtc_t *crtc,
> +			    enum igt_commit_style commit_style)
>   {
>   	igt_display_t *display = &data.display;
>   	igt_plane_t *primary;
> @@ -358,7 +362,7 @@ static void test_cp_disable(igt_output_t *output, enum igt_commit_style commit_s
>   	 */
>   	igt_output_set_prop_value(output, IGT_CONNECTOR_CONTENT_PROTECTION,
>   				  CP_UNDESIRED);
> -	igt_plane_set_fb(primary, &data.red);
> +	igt_plane_set_fb(primary, &data.fbs[crtc->crtc_index].red);
>   	igt_display_commit2(display, commit_style);
>   
>   	/* Wait for HDCP to be disabled, before crtc off */
> @@ -367,7 +371,7 @@ static void test_cp_disable(igt_output_t *output, enum igt_commit_style commit_s
>   	igt_assert_f(ret, "Content Protection not cleared\n");
>   }
>   
> -static void test_cp_enable_with_retry(igt_output_t *output,
> +static void test_cp_enable_with_retry(igt_output_t *output, igt_crtc_t *crtc,
>   				      enum igt_commit_style commit_style,
>   				      int retry, int content_type,
>   				      bool expect_failure,
> @@ -378,16 +382,16 @@ static void test_cp_enable_with_retry(igt_output_t *output,
>   
>   	do {
>   		if (!type_change || retry_orig != retry)
> -			test_cp_disable(output, commit_style);
> +			test_cp_disable(output, crtc, commit_style);
>   
> -		ret = test_cp_enable(output, commit_style, content_type, type_change);
> +		ret = test_cp_enable(output, crtc, commit_style, content_type, type_change);
>   
>   		if (!ret && --retry)
>   			igt_debug("Retry (%d/2) ...\n", 3 - retry);
>   	} while (retry && !ret);
>   
>   	if (!ret)
> -		test_cp_disable(output, commit_style);
> +		test_cp_disable(output, crtc, commit_style);
>   
>   	if (expect_failure)
>   		igt_assert_f(!ret,
> @@ -457,16 +461,16 @@ static void test_content_protection_on_output(igt_output_t *output,
>   	igt_display_t *display = &data.display;
>   	bool ret;
>   
> -	test_cp_enable_with_retry(output, commit_style, 3, content_type, false,
> +	test_cp_enable_with_retry(output, crtc, commit_style, 3, content_type, false,
>   				  false);
>   
>   	if (data.cp_tests & CP_TYPE_CHANGE) {
>   		/* Type 1 -> Type 0 */
> -		test_cp_enable_with_retry(output, commit_style, 3,
> +		test_cp_enable_with_retry(output, crtc, commit_style, 3,
>   					  HDCP_CONTENT_TYPE_0, false,
>   					  true);
>   		/* Type 0 -> Type 1 */
> -		test_cp_enable_with_retry(output, commit_style, 3,
> +		test_cp_enable_with_retry(output, crtc, commit_style, 3,
>   					  content_type, false,
>   					  true);
>   	}
> @@ -476,14 +480,14 @@ static void test_content_protection_on_output(igt_output_t *output,
>   			     "mei_hdcp unload failed");
>   
>   		/* Expected to fail */
> -		test_cp_enable_with_retry(output, commit_style, 3,
> +		test_cp_enable_with_retry(output, crtc, commit_style, 3,
>   					  content_type, true, false);
>   
>   		igt_assert_f(!igt_kmod_load("mei_hdcp", NULL),
>   			     "mei_hdcp load failed");
>   
>   		/* Expected to pass */
> -		test_cp_enable_with_retry(output, commit_style, 3,
> +		test_cp_enable_with_retry(output, crtc, commit_style, 3,
>   					  content_type, false, false);
>   	}
>   
> @@ -502,7 +506,7 @@ static void test_content_protection_on_output(igt_output_t *output,
>   		ret = wait_for_prop_value(output, CP_ENABLED,
>   					  KERNEL_AUTH_TIME_ALLOWED_MSEC);
>   		if (!ret)
> -			test_cp_enable_with_retry(output, commit_style, 2,
> +			test_cp_enable_with_retry(output, crtc, commit_style, 2,
>   						  content_type, false,
>   						  false);
>   	}
> @@ -513,7 +517,7 @@ static void test_content_protection_on_output(igt_output_t *output,
>   		ret = wait_for_prop_value(output, CP_ENABLED,
>   					  KERNEL_AUTH_TIME_ALLOWED_MSEC);
>   		if (!ret)
> -			test_cp_enable_with_retry(output, commit_style, 2,
> +			test_cp_enable_with_retry(output, crtc, commit_style, 2,
>   						  content_type, false,
>   						  false);
>   	}
> @@ -583,21 +587,24 @@ static bool sink_hdcp2_capable(igt_output_t *output)
>   	return strstr(buf, "HDCP2.2");
>   }
>   
> -static void prepare_modeset_on_mst_output(igt_output_t *output, bool is_enabled)
> +static void prepare_modeset_on_mst_output(igt_output_t *output, igt_crtc_t *crtc, bool is_enabled)
>   {
>   	drmModeModeInfo *mode;
>   	igt_plane_t *primary;
>   	int width, height;
> +	struct igt_fb *fb;
>   
>   	mode = igt_output_get_mode(output);
>   
>   	width = mode->hdisplay;
>   	height = mode->vdisplay;
>   
> +	fb = is_enabled ? &data.fbs[crtc->crtc_index].green : &data.fbs[crtc->crtc_index].red;
> +
>   	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>   	igt_plane_set_fb(primary, NULL);
> -	igt_plane_set_fb(primary, is_enabled ? &data.green : &data.red);
> -	igt_fb_set_size(is_enabled ? &data.green : &data.red, primary, width, height);
> +	igt_plane_set_fb(primary, fb);
> +	igt_fb_set_size(fb, primary, width, height);
>   	igt_plane_set_size(primary, width, height);
>   }
>   
> @@ -669,11 +676,11 @@ static void reset_i915_force_hdcp14(igt_output_t *output)
>   }
>   
>   static void
> -test_fini(igt_output_t *output, enum igt_commit_style commit_style)
> +test_fini(igt_output_t *output, igt_crtc_t *crtc, enum igt_commit_style commit_style)
>   {
>   	igt_plane_t *primary;
>   
> -	test_cp_disable(output, commit_style);
> +	test_cp_disable(output, crtc, commit_style);
>   	primary = igt_output_get_plane_type(output,
>   					    DRM_PLANE_TYPE_PRIMARY);
>   	igt_plane_set_fb(primary, NULL);
> @@ -769,7 +776,7 @@ test_content_protection(enum igt_commit_style commit_style, int content_type)
>   			if (!intel_pipe_output_combo_valid(display))
>   				continue;
>   
> -			modeset_with_fb(output, commit_style);
> +			modeset_with_fb(output, crtc, commit_style);
>   			if (data.is_force_hdcp14)
>   				set_i915_force_hdcp14(output);
>   
> @@ -783,7 +790,7 @@ test_content_protection(enum igt_commit_style commit_style, int content_type)
>   			if (data.is_force_hdcp14)
>   				reset_i915_force_hdcp14(output);
>   
> -			test_fini(output, commit_style);
> +			test_fini(output, crtc, commit_style);
>   			/*
>   			 * Testing a output with a pipe is enough for HDCP
>   			 * testing. No ROI in testing the connector with other
> @@ -876,8 +883,11 @@ test_mst_cp_enable_with_retry(igt_output_t *hdcp_mst_output[], int valid_outputs
>   		if (!ret || retries)
>   			igt_debug("Retry %d/3\n", 3 - retries);
>   
> -		for (i = 0; i < valid_outputs; i++)
> -			prepare_modeset_on_mst_output(hdcp_mst_output[i], ret);
> +		for (i = 0; i < valid_outputs; i++) {
> +			igt_crtc_t *crtc = igt_output_get_driving_crtc(hdcp_mst_output[i]);
> +
> +			prepare_modeset_on_mst_output(hdcp_mst_output[i], crtc, ret);
> +		}
>   
>   		igt_display_commit2(display, COMMIT_ATOMIC);
>   	} while (retries && !ret);
> @@ -919,7 +929,7 @@ test_content_protection_mst(int content_type)
>   		igt_assert_f(pipe_found, "No valid pipe found for %s\n", output->name);
>   
>   		igt_output_set_crtc(output, crtc);
> -		prepare_modeset_on_mst_output(output, false);
> +		prepare_modeset_on_mst_output(output, crtc, false);
>   		dp_mst_outputs++;
>   		if (output_hdcp_capable(output, content_type))
>   			hdcp_mst_output[valid_outputs++] = output;
> @@ -982,6 +992,7 @@ static void test_content_protection_cleanup(void)
>   {
>   	igt_display_t *display = &data.display;
>   	igt_output_t *output;
> +	igt_crtc_t *crtc;
>   	uint64_t val;
>   
>   	for_each_connected_output(display, output) {
> @@ -994,7 +1005,8 @@ static void test_content_protection_cleanup(void)
>   			continue;
>   
>   		igt_info("CP Prop being UNDESIRED on %s\n", output->name);
> -		test_cp_disable(output, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> +		crtc = igt_output_get_driving_crtc(output);
nit, Do we need to guard this for NULL?
Rest LGTM,
  Tested-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
  Reviewed-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
> +		test_cp_disable(output, crtc, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>   	}
>   }
>   


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

* Re: [PATCH i-g-t v5 3/3] tests/kms_content_protection: Add FB cleanup for MST tests
  2026-03-30  3:20 ` [PATCH i-g-t v5 3/3] tests/kms_content_protection: Add FB cleanup for MST tests Jason-JH Lin
@ 2026-05-06 11:13   ` Reddy Guddati, Santhosh
  0 siblings, 0 replies; 24+ messages in thread
From: Reddy Guddati, Santhosh @ 2026-05-06 11:13 UTC (permalink / raw)
  To: igt-dev



On 30-03-2026 08:50, Jason-JH Lin wrote:
> Reuse create_fbs() framebuffers for initial MST setup to avoid
> unnecessary recreation.
> 
> When igt_override_all_active_output_modes_to_fit_bw() changes modes:
> - Detach planes before removing FBs
> - Recreate FBs with new dimensions
> - Re-attach planes
> 
> Add test cleanup: detach planes and remove all MST FBs to prevent
> resource leaks.
> 
> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
> Suggested-by: Karthik B.S <karthik.b.s@intel.com>
> Reviewed-by: Fei Shao <fshao@chromium.org>
  Tested-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>
  Reviewed-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com>


> ---
>   tests/kms_content_protection.c | 44 +++++++++++++++++++++++++++++++---
>   1 file changed, 41 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c
> index b302d4cfd47d..7a5d49106074 100644
> --- a/tests/kms_content_protection.c
> +++ b/tests/kms_content_protection.c
> @@ -945,9 +945,33 @@ test_content_protection_mst(int content_type)
>   		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
>   		igt_require_f(found, "No valid mode combo found for MST modeset\n");
>   
> -		for (count = 0; count < valid_outputs; count++)
> -			prepare_modeset_on_mst_output(hdcp_mst_output[count], false);
> +		/* Detach planes before removing framebuffers */
> +		for (count = 0; count < valid_outputs; count++) {
> +			crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
> +			prepare_modeset_on_mst_output(hdcp_mst_output[count], crtc, false);
> +		}
> +		igt_display_commit2(display, COMMIT_ATOMIC);
> +
> +		/* Need to re-prepare after mode override */
> +		for (count = 0; count < valid_outputs; count++) {
> +			drmModeModeInfo *mode;
> +
> +			crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
> +
> +			igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].red);
> +			igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].green);
> +
> +			mode = igt_output_get_mode(hdcp_mst_output[count]);
> +
> +			igt_create_color_fb(data.drm_fd, mode->hdisplay, mode->vdisplay,
> +					    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
> +					    1.f, 0.f, 0.f, &data.fbs[crtc->crtc_index].red);
> +			igt_create_color_fb(data.drm_fd, mode->hdisplay, mode->vdisplay,
> +					    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
> +					    0.f, 1.f, 0.f, &data.fbs[crtc->crtc_index].green);
>   
> +			prepare_modeset_on_mst_output(hdcp_mst_output[count], crtc, false);
> +		}
>   		ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
>   		igt_require_f(ret == 0, "Commit failure during MST modeset\n");
>   	}
> @@ -973,8 +997,9 @@ test_content_protection_mst(int content_type)
>   	/*
>   	 * Verify if CP is still enabled on other outputs by disabling CP on the first output.
>   	 */
> +	crtc = igt_output_get_driving_crtc(hdcp_mst_output[0]);
>   	igt_debug("CP Prop being UNDESIRED on %s\n", hdcp_mst_output[0]->name);
> -	test_cp_disable(hdcp_mst_output[0], COMMIT_ATOMIC);
> +	test_cp_disable(hdcp_mst_output[0], crtc, COMMIT_ATOMIC);
>   
>   	/* CP is expected to be still enabled on other outputs*/
>   	for (i = 1; i < valid_outputs; i++) {
> @@ -985,6 +1010,19 @@ test_content_protection_mst(int content_type)
>   
>   	if (data.cp_tests & CP_LIC)
>   		test_cp_lic_on_mst(hdcp_mst_output, valid_outputs, 1);
> +
> +	/* Detach planes before removing framebuffers */
> +	for (count = 0; count < valid_outputs; count++) {
> +		crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
> +		prepare_modeset_on_mst_output(hdcp_mst_output[count], crtc, false);
> +	}
> +	igt_display_commit2(display, COMMIT_ATOMIC);
> +
> +	for (count = 0; count < valid_outputs; count++) {
> +		crtc = igt_output_get_driving_crtc(hdcp_mst_output[count]);
> +		igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].red);
> +		igt_remove_fb(data.drm_fd, &data.fbs[crtc->crtc_index].green);
> +	}
>   }
>   
>   


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

* Re: [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-05-05 22:28           ` Manasi Navare
@ 2026-05-06 12:15             ` Karthik B S
  2026-05-06 18:15               ` Manasi Navare
  0 siblings, 1 reply; 24+ messages in thread
From: Karthik B S @ 2026-05-06 12:15 UTC (permalink / raw)
  To: Manasi Navare, Reddy Guddati, Santhosh
  Cc: Jason-JH Lin, igt-dev, Swati Sharma, Kamil Konieczny,
	Juha-Pekka Heikkila, Bhanuprakash Modem, Fei Shao, Jani,
	Paul-PL Chen, Nancy Lin, Singo Chang, Gil Dekel, Yacoub,
	Project_Global_Chrome_Upstream_Group

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

Hi Manasi,

Santhosh from our team has tested this out at our end. Thanks Santhosh.

Will get this merged.

Thanks and Regards,
Karthik.B.S

On 5/6/2026 3:58 AM, Manasi Navare wrote:
> Hi @Karthik B S <mailto:karthik.b.s@intel.com> , were you able to test 
> this locally for regressions?
> If you could add your R-B , we can get this landed as soon as possible.
> This is time critical for us and is required to scale to MTK platform
>
> Regards
> Manasi
>
> On Mon, May 4, 2026 at 1:32 PM Manasi Navare <navaremanasi@google.com> 
> wrote:
>
>     Thanks a lot @Karthik B S <mailto:karthik.b.s@intel.com>  for your
>     response,
>     And appreciate you trying this on your end and for your help on
>     getting this landed.
>
>     Regards
>     Manasi
>
>     On Mon, May 4, 2026 at 1:31 AM Karthik B S <karthik.b.s@intel.com>
>     wrote:
>
>         Hi Manasi,
>
>         On 5/1/2026 4:29 AM, Manasi Navare wrote:
>>         This change looks good to me,
>>
>>         Reviewed-by: Manasi Navare <navaremanasi@google.com>
>>
>>         @Karthik B S <mailto:karthik.b.s@intel.com>  and others from
>>         Intel signal boosting this, could we get some traction on
>>         this, its reviewed by the team, could we please land this?
>
>         Sure, the idea LGTM in general. Will try this out at our end
>         once before merging as this test doesn't have coverage on CI
>         currently.
>
>         Regards,
>         Karthik.B.S
>>
>>         Regards
>>         Manasi
>>
>>         On Wed, Apr 29, 2026 at 1:31 PM Manasi Navare
>>         <navaremanasi@google.com> wrote:
>>
>>             Thanks Jason-JH for this improvement in the
>>             kms_content_protection IGT test.
>>             It makes sense to create a fb per CRTC given that each
>>             CRTC can have different mode timings/resolutions.
>>
>>             @karthik.b.s@intel.com <mailto:karthik.b.s@intel.com> ,
>>             @bhanuprakash.modem@gmail.com, @swati2.sharma@intel.com
>>             Could you please take a look at this patch and help
>>             provide feedback?
>>             We would like to get this landed as it helps improve our
>>             testing.
>>
>>             Regards
>>             Manasi
>>
>>
>>
>>             On Sun, Mar 29, 2026 at 8:22 PM Jason-JH Lin
>>             <jason-jh.lin@mediatek.com> wrote:
>>
>>                 Replace global framebuffers (data.red/green) with
>>                 per-CRTC array
>>                 (data.fbs[IGT_MAX_PIPES]) to support multiple outputs
>>                 with different
>>                 resolutions.
>>
>>                 Add create_fbs()/remove_fbs() to manage framebuffer
>>                 lifecycle at
>>                 test initialization/cleanup, creating each FB with
>>                 the resolution of
>>                 the first output that can connect to that CRTC.
>>
>>                 Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
>>                 Reviewed-by: Fei Shao <fshao@chromium.org>
>>                 ---
>>                  tests/kms_content_protection.c | 50
>>                 +++++++++++++++++++++++++---------
>>                  1 file changed, 37 insertions(+), 13 deletions(-)
>>
>>                 diff --git a/tests/kms_content_protection.c
>>                 b/tests/kms_content_protection.c
>>                 index caf3d7a56ae4..df9ff5efcaa2 100644
>>                 --- a/tests/kms_content_protection.c
>>                 +++ b/tests/kms_content_protection.c
>>                 @@ -107,10 +107,15 @@
>>
>>                  IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
>>
>>                 +struct hdcp_test_fbs {
>>                 +       struct igt_fb red;
>>                 +       struct igt_fb green;
>>                 +};
>>                 +
>>                  struct data {
>>                         int drm_fd;
>>                         igt_display_t display;
>>                 -       struct igt_fb red, green;
>>                 +       struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
>>                         unsigned int cp_tests;
>>                         struct udev_monitor *uevent_monitor;
>>                         bool is_force_hdcp14;
>>                 @@ -991,31 +996,49 @@ static void
>>                 test_content_protection_cleanup(void)
>>                                 igt_info("CP Prop being UNDESIRED on
>>                 %s\n", output->name);
>>                                 test_cp_disable(output,
>>                 display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>>                         }
>>                 -
>>                 -       igt_remove_fb(data.drm_fd, &data.red);
>>                 -       igt_remove_fb(data.drm_fd, &data.green);
>>                  }
>>
>>                  static void create_fbs(void)
>>                  {
>>                 -       uint16_t width = 0, height = 0;
>>                         drmModeModeInfo *mode;
>>                         igt_output_t *output;
>>                 +       igt_crtc_t *crtc;
>>
>>                 +       /* Create framebuffers for each connected
>>                 output's pipe */
>>                 for_each_connected_output(&data.display, output) {
>>                                 mode = igt_output_get_mode(output);
>>                                 igt_assert(mode);
>>
>>                 -               width = max(width, mode->hdisplay);
>>                 -               height = max(height, mode->vdisplay);
>>                 +               /* Find a valid crtc for this output */
>>                 +  for_each_crtc(&data.display, crtc) {
>>                 +                       if
>>                 (!igt_crtc_connector_valid(crtc, output))
>>                 +  continue;
>>                 +
>>                 +                       /* Skip if already created
>>                 for this crtc */
>>                 +                       if
>>                 (data.fbs[crtc->crtc_index].red.fb_id)
>>                 +  continue;
>>                 +
>>                 +  igt_create_color_fb(data.drm_fd, mode->hdisplay,
>>                 mode->vdisplay,
>>                 +    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>                 +    1.f, 0.f, 0.f, &data.fbs[crtc->crtc_index].red);
>>                 +  igt_create_color_fb(data.drm_fd, mode->hdisplay,
>>                 mode->vdisplay,
>>                 +    DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>                 +    0.f, 1.f, 0.f, &data.fbs[crtc->crtc_index].green);
>>                 +                       break;
>>                 +               }
>>                         }
>>                 +}
>>
>>                 -       igt_create_color_fb(data.drm_fd, width, height,
>>                 -  DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>                 -                           1.f, 0.f, 0.f, &data.red);
>>                 -       igt_create_color_fb(data.drm_fd, width, height,
>>                 -  DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>                 -                           0.f, 1.f, 0.f, &data.green);
>>                 +static void remove_fbs(void)
>>                 +{
>>                 +       igt_crtc_t *crtc;
>>                 +
>>                 +       for_each_crtc(&data.display, crtc) {
>>                 +               if (data.fbs[crtc->crtc_index].red.fb_id)
>>                 +  igt_remove_fb(data.drm_fd,
>>                 &data.fbs[crtc->crtc_index].red);
>>                 +               if
>>                 (data.fbs[crtc->crtc_index].green.fb_id)
>>                 +  igt_remove_fb(data.drm_fd,
>>                 &data.fbs[crtc->crtc_index].green);
>>                 +       }
>>                  }
>>
>>                  static const struct {
>>                 @@ -1241,6 +1264,7 @@ int igt_main()
>>
>>                         igt_fixture() {
>>                 test_content_protection_cleanup();
>>                 +               remove_fbs();
>>                 igt_display_fini(&data.display);
>>                 drm_close_driver(data.drm_fd);
>>                         }
>>                 -- 
>>                 2.43.0
>>

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

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

* Re: [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure
  2026-05-06 12:15             ` Karthik B S
@ 2026-05-06 18:15               ` Manasi Navare
  0 siblings, 0 replies; 24+ messages in thread
From: Manasi Navare @ 2026-05-06 18:15 UTC (permalink / raw)
  To: Karthik B S
  Cc: Reddy Guddati, Santhosh, Jason-JH Lin, igt-dev, Swati Sharma,
	Kamil Konieczny, Juha-Pekka Heikkila, Bhanuprakash Modem,
	Fei Shao, Jani, Paul-PL Chen, Nancy Lin, Singo Chang, Gil Dekel,
	Yacoub, Project_Global_Chrome_Upstream_Group

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

Thanks Kathik and Santosh for testing this on your end, for your reviews
and for getting this landed

Regards
Manasi

On Wed, May 6, 2026 at 5:16 AM Karthik B S <karthik.b.s@intel.com> wrote:

> Hi Manasi,
>
> Santhosh from our team has tested this out at our end. Thanks Santhosh.
>
> Will get this merged.
> Thanks and Regards,
> Karthik.B.S
>
> On 5/6/2026 3:58 AM, Manasi Navare wrote:
>
> Hi @Karthik B S <karthik.b.s@intel.com> , were you able to test this
> locally for regressions?
> If you could add your R-B , we can get this landed as soon as possible.
> This is time critical for us and is required to scale to MTK platform
>
> Regards
> Manasi
>
> On Mon, May 4, 2026 at 1:32 PM Manasi Navare <navaremanasi@google.com>
> wrote:
>
>> Thanks a lot @Karthik B S <karthik.b.s@intel.com>  for your response,
>> And appreciate you trying this on your end and for your help on getting
>> this landed.
>>
>> Regards
>> Manasi
>>
>> On Mon, May 4, 2026 at 1:31 AM Karthik B S <karthik.b.s@intel.com> wrote:
>>
>>> Hi Manasi,
>>> On 5/1/2026 4:29 AM, Manasi Navare wrote:
>>>
>>> This change looks good to me,
>>>
>>> Reviewed-by: Manasi Navare <navaremanasi@google.com>
>>>
>>> @Karthik B S <karthik.b.s@intel.com>  and others from Intel signal
>>> boosting this, could we get some traction on this, its reviewed by the
>>> team, could we please land this?
>>>
>>> Sure, the idea LGTM in general. Will try this out at our end once before
>>> merging as this test doesn't have coverage on CI currently.
>>> Regards,
>>> Karthik.B.S
>>>
>>>
>>> Regards
>>> Manasi
>>>
>>> On Wed, Apr 29, 2026 at 1:31 PM Manasi Navare <navaremanasi@google.com>
>>> wrote:
>>>
>>>> Thanks Jason-JH for this improvement in the kms_content_protection IGT
>>>> test.
>>>> It makes sense to create a fb per CRTC given that each CRTC can have
>>>> different mode timings/resolutions.
>>>>
>>>> @karthik.b.s@intel.com <karthik.b.s@intel.com> , @
>>>> bhanuprakash.modem@gmail.com, @swati2.sharma@intel.com
>>>> Could you please take a look at this patch and help provide feedback?
>>>> We would like to get this landed as it helps improve our testing.
>>>>
>>>> Regards
>>>> Manasi
>>>>
>>>>
>>>>
>>>> On Sun, Mar 29, 2026 at 8:22 PM Jason-JH Lin <jason-jh.lin@mediatek.com>
>>>> wrote:
>>>>
>>>>> Replace global framebuffers (data.red/green) with per-CRTC array
>>>>> (data.fbs[IGT_MAX_PIPES]) to support multiple outputs with different
>>>>> resolutions.
>>>>>
>>>>> Add create_fbs()/remove_fbs() to manage framebuffer lifecycle at
>>>>> test initialization/cleanup, creating each FB with the resolution of
>>>>> the first output that can connect to that CRTC.
>>>>>
>>>>> Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
>>>>> Reviewed-by: Fei Shao <fshao@chromium.org>
>>>>> ---
>>>>>  tests/kms_content_protection.c | 50 +++++++++++++++++++++++++---------
>>>>>  1 file changed, 37 insertions(+), 13 deletions(-)
>>>>>
>>>>> diff --git a/tests/kms_content_protection.c
>>>>> b/tests/kms_content_protection.c
>>>>> index caf3d7a56ae4..df9ff5efcaa2 100644
>>>>> --- a/tests/kms_content_protection.c
>>>>> +++ b/tests/kms_content_protection.c
>>>>> @@ -107,10 +107,15 @@
>>>>>
>>>>>  IGT_TEST_DESCRIPTION("Test content protection (HDCP)");
>>>>>
>>>>> +struct hdcp_test_fbs {
>>>>> +       struct igt_fb red;
>>>>> +       struct igt_fb green;
>>>>> +};
>>>>> +
>>>>>  struct data {
>>>>>         int drm_fd;
>>>>>         igt_display_t display;
>>>>> -       struct igt_fb red, green;
>>>>> +       struct hdcp_test_fbs fbs[IGT_MAX_PIPES];
>>>>>         unsigned int cp_tests;
>>>>>         struct udev_monitor *uevent_monitor;
>>>>>         bool is_force_hdcp14;
>>>>> @@ -991,31 +996,49 @@ static void test_content_protection_cleanup(void)
>>>>>                 igt_info("CP Prop being UNDESIRED on %s\n",
>>>>> output->name);
>>>>>                 test_cp_disable(output, display->is_atomic ?
>>>>> COMMIT_ATOMIC : COMMIT_LEGACY);
>>>>>         }
>>>>> -
>>>>> -       igt_remove_fb(data.drm_fd, &data.red);
>>>>> -       igt_remove_fb(data.drm_fd, &data.green);
>>>>>  }
>>>>>
>>>>>  static void create_fbs(void)
>>>>>  {
>>>>> -       uint16_t width = 0, height = 0;
>>>>>         drmModeModeInfo *mode;
>>>>>         igt_output_t *output;
>>>>> +       igt_crtc_t *crtc;
>>>>>
>>>>> +       /* Create framebuffers for each connected output's pipe */
>>>>>         for_each_connected_output(&data.display, output) {
>>>>>                 mode = igt_output_get_mode(output);
>>>>>                 igt_assert(mode);
>>>>>
>>>>> -               width = max(width, mode->hdisplay);
>>>>> -               height = max(height, mode->vdisplay);
>>>>> +               /* Find a valid crtc for this output */
>>>>> +               for_each_crtc(&data.display, crtc) {
>>>>> +                       if (!igt_crtc_connector_valid(crtc, output))
>>>>> +                               continue;
>>>>> +
>>>>> +                       /* Skip if already created for this crtc */
>>>>> +                       if (data.fbs[crtc->crtc_index].red.fb_id)
>>>>> +                               continue;
>>>>> +
>>>>> +                       igt_create_color_fb(data.drm_fd,
>>>>> mode->hdisplay, mode->vdisplay,
>>>>> +                                           DRM_FORMAT_XRGB8888,
>>>>> DRM_FORMAT_MOD_LINEAR,
>>>>> +                                           1.f, 0.f, 0.f,
>>>>> &data.fbs[crtc->crtc_index].red);
>>>>> +                       igt_create_color_fb(data.drm_fd,
>>>>> mode->hdisplay, mode->vdisplay,
>>>>> +                                           DRM_FORMAT_XRGB8888,
>>>>> DRM_FORMAT_MOD_LINEAR,
>>>>> +                                           0.f, 1.f, 0.f,
>>>>> &data.fbs[crtc->crtc_index].green);
>>>>> +                       break;
>>>>> +               }
>>>>>         }
>>>>> +}
>>>>>
>>>>> -       igt_create_color_fb(data.drm_fd, width, height,
>>>>> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>>>> -                           1.f, 0.f, 0.f, &data.red);
>>>>> -       igt_create_color_fb(data.drm_fd, width, height,
>>>>> -                           DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR,
>>>>> -                           0.f, 1.f, 0.f, &data.green);
>>>>> +static void remove_fbs(void)
>>>>> +{
>>>>> +       igt_crtc_t *crtc;
>>>>> +
>>>>> +       for_each_crtc(&data.display, crtc) {
>>>>> +               if (data.fbs[crtc->crtc_index].red.fb_id)
>>>>> +                       igt_remove_fb(data.drm_fd,
>>>>> &data.fbs[crtc->crtc_index].red);
>>>>> +               if (data.fbs[crtc->crtc_index].green.fb_id)
>>>>> +                       igt_remove_fb(data.drm_fd,
>>>>> &data.fbs[crtc->crtc_index].green);
>>>>> +       }
>>>>>  }
>>>>>
>>>>>  static const struct {
>>>>> @@ -1241,6 +1264,7 @@ int igt_main()
>>>>>
>>>>>         igt_fixture() {
>>>>>                 test_content_protection_cleanup();
>>>>> +               remove_fbs();
>>>>>                 igt_display_fini(&data.display);
>>>>>                 drm_close_driver(data.drm_fd);
>>>>>         }
>>>>> --
>>>>> 2.43.0
>>>>>
>>>>>

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

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

end of thread, other threads:[~2026-05-06 18:15 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-30  3:20 [PATCH i-g-t v5 0/3] Optimize framebuffer management Jason-JH Lin
2026-03-30  3:20 ` [PATCH i-g-t v5 1/3] tests/kms_content_protection: Add per-CRTC framebuffer infrastructure Jason-JH Lin
2026-04-29 20:31   ` Manasi Navare
2026-04-30 22:59     ` Manasi Navare
2026-05-04  8:31       ` Karthik B S
2026-05-04 20:32         ` Manasi Navare
2026-05-05 22:28           ` Manasi Navare
2026-05-06 12:15             ` Karthik B S
2026-05-06 18:15               ` Manasi Navare
2026-05-06 10:57           ` Reddy Guddati, Santhosh
2026-03-30  3:20 ` [PATCH i-g-t v5 2/3] tests/kms_content_protection: Pass crtc parameter and use per-CRTC FBs Jason-JH Lin
2026-04-17  4:12   ` Fei Shao
2026-05-06 11:05   ` Reddy Guddati, Santhosh
2026-03-30  3:20 ` [PATCH i-g-t v5 3/3] tests/kms_content_protection: Add FB cleanup for MST tests Jason-JH Lin
2026-05-06 11:13   ` Reddy Guddati, Santhosh
2026-03-30  4:14 ` ✓ Xe.CI.BAT: success for Optimize framebuffer management Patchwork
2026-03-30  4:37 ` ✓ i915.CI.BAT: " Patchwork
2026-03-30  4:37 ` Patchwork
2026-03-30  4:38 ` Patchwork
2026-03-30  4:38 ` Patchwork
2026-03-30  4:38 ` Patchwork
2026-03-30  5:10 ` ✓ Xe.CI.FULL: " Patchwork
2026-03-30  6:37 ` ✗ i915.CI.Full: failure " Patchwork
2026-04-14  5:59 ` [PATCH i-g-t v5 0/3] " Jason-JH Lin (林睿祥)

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