Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf
  2024-01-21 12:57 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
@ 2024-01-21 12:57 ` Kunal Joshi
  0 siblings, 0 replies; 13+ messages in thread
From: Kunal Joshi @ 2024-01-21 12:57 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/intel/kms_psr2_sf.c | 119 ++++++++++++++++++++++----------------
 1 file changed, 69 insertions(+), 50 deletions(-)

diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
index c826cd7c3..8f34f46b9 100644
--- a/tests/intel/kms_psr2_sf.c
+++ b/tests/intel/kms_psr2_sf.c
@@ -979,6 +979,21 @@ pipe_output_combo_valid(igt_display_t *display,
 	return ret;
 }
 
+static const char *get_psr_mode_for_output(data_t *data, igt_output_t *output)
+{
+	const char *psr_mode = NULL;
+
+	if (psr_sink_support(data->drm_fd, data->debugfs_fd, PR_MODE_SEL_FETCH,
+			     output))
+		psr_mode = "pr-";
+	else if (psr_sink_support(data->drm_fd, data->debugfs_fd, PSR_MODE_2,
+				  output))
+		psr_mode = "psr2-";
+	else
+		igt_assert_f(false, "PR/PSR2 selective fetch not supported\n");
+	return psr_mode;
+}
+
 igt_main
 {
 	data_t data = {};
@@ -1001,11 +1016,6 @@ igt_main
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
 
-		igt_require_f(psr_sink_support(data.drm_fd,
-					       data.debugfs_fd, PSR_MODE_2,
-					       NULL),
-			      "Sink does not support PSR2\n");
-
 		display_init(&data);
 
 		if ((intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 20) &&
@@ -1013,10 +1023,6 @@ igt_main
 			data.fbc_flag = true;
 		}
 
-		/* Test if PSR2 can be enabled */
-		igt_require_f(psr_enable(data.drm_fd,
-					 data.debugfs_fd, PSR_MODE_2_SEL_FETCH),
-			      "Error enabling PSR2\n");
 
 		data.damage_area_count = MAX_DAMAGE_AREAS;
 		data.primary_format = DRM_FORMAT_XRGB8888;
@@ -1055,7 +1061,7 @@ igt_main
 		/* Verify primary plane selective fetch */
 		igt_describe("Test that selective fetch works on primary plane");
 		igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y],
-					   op_str(data.op)) {
+								   op_str(data.op)) {
 			for (i = 0; i < n_pipes; i++) {
 				if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i]))
 					continue;
@@ -1063,9 +1069,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_PRIMARY;
@@ -1096,10 +1103,11 @@ igt_main
 					for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 						if (j != FEATURE_NONE && !(coexist_features[i] & j))
 							continue;
-						igt_dynamic_f("pipe-%s-%s%s",
-							      kmstest_pipe_name(pipes[i]),
-							      igt_output_name(outputs[i]),
-							      coexist_feature_str(j)) {
+						igt_dynamic_f("%spipe-%s-%s%s",
+									  get_psr_mode_for_output(&data, outputs[i]),
+									  kmstest_pipe_name(pipes[i]),
+									  igt_output_name(outputs[i]),
+									  coexist_feature_str(j)) {
 							data.pipe = pipes[i];
 							data.output = outputs[i];
 							data.test_plane_id = DRM_PLANE_TYPE_PRIMARY;
@@ -1128,9 +1136,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1158,9 +1167,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
@@ -1184,9 +1194,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
@@ -1211,9 +1222,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
@@ -1238,9 +1250,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
@@ -1266,9 +1279,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1295,9 +1309,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 					data.pipe = pipes[i];
 					data.output = outputs[i];
 					data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1322,9 +1337,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1349,9 +1365,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1377,9 +1394,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						for (k = 1; k <= MAX_DAMAGE_AREAS; k++) {
@@ -1410,9 +1428,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+								  get_psr_mode_for_output(&data, outputs[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.damage_area_count = 1;
-- 
2.25.1


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

* [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf
@ 2024-01-22  7:49 Kunal Joshi
  2024-01-22  7:49 ` [PATCH i-g-t 1/2] lib/igt_psr.c: add support for panel replay sf Kunal Joshi
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Kunal Joshi @ 2024-01-22  7:49 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

kmd series [1] adds supports for panel replay selective fetch,
modify lib and kms_psr2_sf to extend kms_psr2_sf tests to validate
panel replay selective fetch as well.

[1] https://patchwork.freedesktop.org/patch/575163/?series=128193&rev=3

Kunal Joshi (2):
  lib/igt_psr.c: add support for panel replay sf
  tests/intel/kms_psr2_sf: extend tests for panel replay sf

 lib/igt_psr.c             |  46 +++++++++-----
 lib/igt_psr.h             |   6 +-
 tests/intel/kms_psr2_sf.c | 127 ++++++++++++++++++++++----------------
 tests/kms_async_flips.c   |   4 +-
 tests/kms_cursor_legacy.c |   2 +-
 5 files changed, 111 insertions(+), 74 deletions(-)

-- 
2.25.1


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

* [PATCH i-g-t 1/2] lib/igt_psr.c: add support for panel replay sf
  2024-01-22  7:49 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
@ 2024-01-22  7:49 ` Kunal Joshi
  2024-02-05 12:00   ` Hogander, Jouni
  2024-01-22  7:49 ` [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests " Kunal Joshi
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Kunal Joshi @ 2024-01-22  7:49 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi, Arun R Murthy

modify functions in igt_psr to extend support for validating
panel replay selective fetch.

Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Animesh Manna <animesh.manna@intel.com>
Cc: Arun R Murthy <arun.r.murthy@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 lib/igt_psr.c             | 46 ++++++++++++++++++++++++++-------------
 lib/igt_psr.h             |  6 ++---
 tests/intel/kms_psr2_sf.c |  8 ++++---
 tests/kms_async_flips.c   |  4 ++--
 tests/kms_cursor_legacy.c |  2 +-
 5 files changed, 42 insertions(+), 24 deletions(-)

diff --git a/lib/igt_psr.c b/lib/igt_psr.c
index 663bac163..1123c8d98 100644
--- a/lib/igt_psr.c
+++ b/lib/igt_psr.c
@@ -37,14 +37,21 @@ bool psr_disabled_check(int debugfs_fd)
 	return strstr(buf, "PSR mode: disabled\n");
 }
 
-bool psr2_selective_fetch_check(int debugfs_fd)
+enum psr_mode selective_fetch_check(int debugfs_fd, igt_output_t *output)
 {
+	char debugfs_file[128] = {0};
 	char buf[PSR_STATUS_MAX_LEN];
 
-	igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status", buf,
-				sizeof(buf));
+	if (output)
+		sprintf(debugfs_file, "%s/i915_psr_status", output->name);
+	else
+		sprintf(debugfs_file, "%s", "i915_edp_psr_status");
 
-	return strstr(buf, "PSR2 selective fetch: enabled");
+	igt_debugfs_simple_read(debugfs_fd, debugfs_file, buf,
+							sizeof(buf));
+
+	return strstr(buf, "PSR2 selective fetch: enabled") ? PSR_MODE_2_SEL_FETCH :
+		   strstr(buf, "Panel Replay Selective Update Enabled") ? PR_MODE_SEL_FETCH : PSR_DISABLED;
 }
 
 static bool psr_active_check(int debugfs_fd, enum psr_mode mode, igt_output_t *output)
@@ -246,6 +253,8 @@ bool psr_sink_support(int device, int debugfs_fd, enum psr_mode mode, igt_output
 		       (strstr(line, "[0x03]") || strstr(line, "[0x04]")));
 	case PR_MODE:
 		return strstr(line, "Panel Replay = yes");
+	case PR_MODE_SEL_FETCH:
+		return strstr(line, "Panel Replay = yes, Panel Replay Selective Update = yes");
 	default:
 		igt_assert_f(false, "Invalid psr mode\n");
 		return false;
@@ -305,7 +314,7 @@ void psr_print_debugfs(int debugfs_fd)
 	igt_info("%s", buf);
 }
 
-bool i915_psr2_selective_fetch_check(int drm_fd)
+bool i915_psr2_selective_fetch_check(int drm_fd, igt_output_t *output)
 {
 	int debugfs_fd;
 	bool ret;
@@ -314,24 +323,24 @@ bool i915_psr2_selective_fetch_check(int drm_fd)
 		return false;
 
 	debugfs_fd = igt_debugfs_dir(drm_fd);
-	ret = psr2_selective_fetch_check(debugfs_fd);
+	ret = selective_fetch_check(debugfs_fd, output) != PSR_DISABLED;
 	close(debugfs_fd);
 
 	return ret;
 }
 
-/**
- * i915_psr2_sel_fetch_to_psr1
+/*
+ * i915_pr_psr2_sel_fetch_to_pr_psr1
  *
- * Check if PSR2 selective fetch is enabled, if yes switch to PSR1 and returns
+ * Check if PR/PSR2 selective fetch is enabled, if yes switch to PR/PSR1 and returns
  * true otherwise returns false.
- * This function should be called from tests that are not compatible with PSR2
- * selective fetch.
  *
+ * @param drm_fd The file descriptor of the DRM device.
+ * @param output The output for which the conversion is performed.
  * Returns:
- * True if PSR mode changed to PSR1, false otherwise.
+ *	True if the conversion was successful, false otherwise.
  */
-bool i915_psr2_sel_fetch_to_psr1(int drm_fd)
+bool i915_pr_psr2_sel_fetch_to_pr_psr1(int drm_fd, igt_output_t *output)
 {
 	int debugfs_fd;
 	bool ret = false;
@@ -340,11 +349,18 @@ bool i915_psr2_sel_fetch_to_psr1(int drm_fd)
 		return ret;
 
 	debugfs_fd = igt_debugfs_dir(drm_fd);
-	if (psr2_selective_fetch_check(debugfs_fd)) {
+	switch (selective_fetch_check(debugfs_fd, output)) {
+	case PSR_MODE_2_SEL_FETCH:
 		psr_set(drm_fd, debugfs_fd, PSR_MODE_1);
 		ret = true;
+		break;
+	case PR_MODE_SEL_FETCH:
+		psr_set(drm_fd, debugfs_fd, PR_MODE);
+		ret = true;
+		break;
+	default:
+		ret = false;
 	}
-
 	close(debugfs_fd);
 	return ret;
 }
diff --git a/lib/igt_psr.h b/lib/igt_psr.h
index 36711c0d4..5dc70f23e 100644
--- a/lib/igt_psr.h
+++ b/lib/igt_psr.h
@@ -46,7 +46,7 @@ enum fbc_mode {
 };
 
 bool psr_disabled_check(int debugfs_fd);
-bool psr2_selective_fetch_check(int debugfs_fd);
+enum psr_mode selective_fetch_check(int debugfs_fd, igt_output_t *output);
 bool psr_wait_entry(int debugfs_fd, enum psr_mode mode, igt_output_t *output);
 bool psr_wait_update(int debugfs_fd, enum psr_mode mode, igt_output_t *output);
 bool psr_long_wait_update(int debugfs_fd, enum psr_mode mode, igt_output_t *output);
@@ -57,9 +57,9 @@ bool psr2_wait_su(int debugfs_fd, uint16_t *num_su_blocks);
 void psr_print_debugfs(int debugfs_fd);
 enum psr_mode psr_get_mode(int debugfs_fd);
 
-bool i915_psr2_selective_fetch_check(int drm_fd);
+bool i915_psr2_selective_fetch_check(int drm_fd, igt_output_t *output);
 
-bool i915_psr2_sel_fetch_to_psr1(int drm_fd);
+bool i915_pr_psr2_sel_fetch_to_pr_psr1(int drm_fd, igt_output_t *output);
 void i915_psr2_sel_fetch_restore(int drm_fd);
 
 #endif
diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
index ecf9ad77f..c826cd7c3 100644
--- a/tests/intel/kms_psr2_sf.c
+++ b/tests/intel/kms_psr2_sf.c
@@ -994,6 +994,7 @@ igt_main
 	int fbc_status[] = {FBC_DISABLED, FBC_ENABLED};
 
 	igt_fixture {
+		bool pr_or_psr2_selective_fetch_supported = false;
 		drmModeResPtr res;
 
 		data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE);
@@ -1026,10 +1027,9 @@ igt_main
 		igt_info("Big framebuffer size %dx%d\n",
 			 data.big_fb_width, data.big_fb_height);
 
-		igt_require_f(psr2_selective_fetch_check(data.debugfs_fd),
-			      "PSR2 selective fetch not enabled\n");
-
 		for_each_pipe_with_valid_output(&data.display, data.pipe, data.output) {
+			pr_or_psr2_selective_fetch_supported |= (selective_fetch_check(data.debugfs_fd,
+													 data.output) != PSR_DISABLED);
 			coexist_features[n_pipes] = 0;
 			if (check_psr2_support(&data)) {
 				pipes[n_pipes] = data.pipe;
@@ -1041,6 +1041,8 @@ igt_main
 				n_pipes++;
 			}
 		}
+		igt_require_f(pr_or_psr2_selective_fetch_supported,
+					  "PR/PSR2 selective fetch not supported\n");
 	}
 
 	for (y = 0; y < ARRAY_SIZE(fbc_status); y++) {
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index a0349fa03..0ab8ea429 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -391,7 +391,7 @@ static void test_cursor(data_t *data)
 	 * necessary, causing the async flip to fail because async flip is not
 	 * supported in cursor plane.
 	 */
-	igt_skip_on_f(i915_psr2_selective_fetch_check(data->drm_fd),
+	igt_skip_on_f(i915_pr_psr2_sel_fetch_to_pr_psr1(data->drm_fd, NULL),
 		      "PSR2 sel fetch causes cursor to be added to primary plane " \
 		      "pages flips and async flip is not supported in cursor\n");
 
@@ -704,7 +704,7 @@ igt_main
 		 * necessary, causing the async flip to fail because async flip is not
 		 * supported in cursor plane.
 		 */
-		igt_skip_on_f(i915_psr2_selective_fetch_check(data.drm_fd),
+		igt_skip_on_f(i915_pr_psr2_sel_fetch_to_pr_psr1(data.drm_fd, NULL),
 			      "PSR2 sel fetch causes cursor to be added to primary plane " \
 			      "pages flips and async flip is not supported in cursor\n");
 
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 0017659d4..f453e2998 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -1849,7 +1849,7 @@ igt_main
 		 * page flip with cursor legacy APIS when Intel's PSR2 selective
 		 * fetch is enabled, so switching PSR1 for this whole test.
 		 */
-		intel_psr2_restore = i915_psr2_sel_fetch_to_psr1(display.drm_fd);
+		intel_psr2_restore = i915_pr_psr2_sel_fetch_to_pr_psr1(display.drm_fd, NULL);
 	}
 
 	igt_describe("Test checks how many cursor updates we can fit between vblanks "
-- 
2.25.1


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

* [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf
  2024-01-22  7:49 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
  2024-01-22  7:49 ` [PATCH i-g-t 1/2] lib/igt_psr.c: add support for panel replay sf Kunal Joshi
@ 2024-01-22  7:49 ` Kunal Joshi
  2024-02-05 12:28   ` Hogander, Jouni
  2024-01-22  8:39 ` ✓ CI.xeBAT: success for extend psr2_sf test for pr_sf (rev2) Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Kunal Joshi @ 2024-01-22  7:49 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi, Arun R Murthy

v2: fixed dynamic test name

Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Animesh Manna <animesh.manna@intel.com>
Cc: Arun R Murthy <arun.r.murthy@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/intel/kms_psr2_sf.c | 119 ++++++++++++++++++++++----------------
 1 file changed, 69 insertions(+), 50 deletions(-)

diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
index c826cd7c3..29a187fc4 100644
--- a/tests/intel/kms_psr2_sf.c
+++ b/tests/intel/kms_psr2_sf.c
@@ -979,6 +979,21 @@ pipe_output_combo_valid(igt_display_t *display,
 	return ret;
 }
 
+static const char *get_psr_mode_for_output(data_t *data, igt_output_t *output)
+{
+	const char *psr_mode = NULL;
+
+	if (psr_sink_support(data->drm_fd, data->debugfs_fd, PR_MODE_SEL_FETCH,
+			     output))
+		psr_mode = "pr-";
+	else if (psr_sink_support(data->drm_fd, data->debugfs_fd, PSR_MODE_2,
+				  output))
+		psr_mode = "psr2-";
+	else
+		igt_assert_f(false, "PR/PSR2 selective fetch not supported\n");
+	return psr_mode;
+}
+
 igt_main
 {
 	data_t data = {};
@@ -1001,11 +1016,6 @@ igt_main
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
 
-		igt_require_f(psr_sink_support(data.drm_fd,
-					       data.debugfs_fd, PSR_MODE_2,
-					       NULL),
-			      "Sink does not support PSR2\n");
-
 		display_init(&data);
 
 		if ((intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 20) &&
@@ -1013,10 +1023,6 @@ igt_main
 			data.fbc_flag = true;
 		}
 
-		/* Test if PSR2 can be enabled */
-		igt_require_f(psr_enable(data.drm_fd,
-					 data.debugfs_fd, PSR_MODE_2_SEL_FETCH),
-			      "Error enabling PSR2\n");
 
 		data.damage_area_count = MAX_DAMAGE_AREAS;
 		data.primary_format = DRM_FORMAT_XRGB8888;
@@ -1055,7 +1061,7 @@ igt_main
 		/* Verify primary plane selective fetch */
 		igt_describe("Test that selective fetch works on primary plane");
 		igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y],
-					   op_str(data.op)) {
+								   op_str(data.op)) {
 			for (i = 0; i < n_pipes; i++) {
 				if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i]))
 					continue;
@@ -1063,9 +1069,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_PRIMARY;
@@ -1096,10 +1103,11 @@ igt_main
 					for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 						if (j != FEATURE_NONE && !(coexist_features[i] & j))
 							continue;
-						igt_dynamic_f("pipe-%s-%s%s",
-							      kmstest_pipe_name(pipes[i]),
-							      igt_output_name(outputs[i]),
-							      coexist_feature_str(j)) {
+						igt_dynamic_f("%spipe-%s-%s%s",
+									  get_psr_mode_for_output(&data, outputs[i]),
+									  kmstest_pipe_name(pipes[i]),
+									  igt_output_name(outputs[i]),
+									  coexist_feature_str(j)) {
 							data.pipe = pipes[i];
 							data.output = outputs[i];
 							data.test_plane_id = DRM_PLANE_TYPE_PRIMARY;
@@ -1128,9 +1136,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1158,9 +1167,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
@@ -1184,9 +1194,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
@@ -1211,9 +1222,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
@@ -1238,9 +1250,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
@@ -1266,9 +1279,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1295,9 +1309,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 					data.pipe = pipes[i];
 					data.output = outputs[i];
 					data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1322,9 +1337,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1349,9 +1365,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
@@ -1377,9 +1394,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						for (k = 1; k <= MAX_DAMAGE_AREAS; k++) {
@@ -1410,9 +1428,10 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
-						      igt_output_name(outputs[i]),
-						      coexist_feature_str(j)) {
+					igt_dynamic_f("%spipe-%s-%s%s", get_psr_mode_for_output(&data, outputs[i]),
+								  kmstest_pipe_name(pipes[i]),
+								  igt_output_name(outputs[i]),
+								  coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.damage_area_count = 1;
-- 
2.25.1


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

* ✓ CI.xeBAT: success for extend psr2_sf test for pr_sf (rev2)
  2024-01-22  7:49 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
  2024-01-22  7:49 ` [PATCH i-g-t 1/2] lib/igt_psr.c: add support for panel replay sf Kunal Joshi
  2024-01-22  7:49 ` [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests " Kunal Joshi
@ 2024-01-22  8:39 ` Patchwork
  2024-01-22  8:50 ` ✓ Fi.CI.BAT: " Patchwork
  2024-01-22 10:36 ` ✗ Fi.CI.IGT: failure " Patchwork
  4 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2024-01-22  8:39 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

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

== Series Details ==

Series: extend psr2_sf test for pr_sf (rev2)
URL   : https://patchwork.freedesktop.org/series/129004/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_7683_BAT -> XEIGTPW_10568_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (4 -> 4)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


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

  * IGT: IGT_7683 -> IGTPW_10568
  * Linux: xe-644-238e8655c184b7cf16731690b59da560641a07ad -> xe-657-36703044a630ac1119ddf628677d7ced5ff6afc2

  IGTPW_10568: 10568
  IGT_7683: 7683
  xe-644-238e8655c184b7cf16731690b59da560641a07ad: 238e8655c184b7cf16731690b59da560641a07ad
  xe-657-36703044a630ac1119ddf628677d7ced5ff6afc2: 36703044a630ac1119ddf628677d7ced5ff6afc2

== Logs ==

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

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

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

* ✓ Fi.CI.BAT: success for extend psr2_sf test for pr_sf (rev2)
  2024-01-22  7:49 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
                   ` (2 preceding siblings ...)
  2024-01-22  8:39 ` ✓ CI.xeBAT: success for extend psr2_sf test for pr_sf (rev2) Patchwork
@ 2024-01-22  8:50 ` Patchwork
  2024-01-22 10:36 ` ✗ Fi.CI.IGT: failure " Patchwork
  4 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2024-01-22  8:50 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

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

== Series Details ==

Series: extend psr2_sf test for pr_sf (rev2)
URL   : https://patchwork.freedesktop.org/series/129004/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14150 -> IGTPW_10568
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (37 -> 36)
------------------------------

  Additional (1): bat-mtlp-8 
  Missing    (2): fi-snb-2520m fi-bsw-n3050 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-mtlp-8:         NOTRUN -> [SKIP][1] ([i915#9318])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html

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

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

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

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

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

  * igt@i915_suspend@basic-s3-without-i915:
    - bat-mtlp-8:         NOTRUN -> [SKIP][7] ([i915#6645])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/bat-mtlp-8/igt@i915_suspend@basic-s3-without-i915.html

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

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

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

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

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-mtlp-8:         NOTRUN -> [SKIP][12] ([fdo#109285])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-mtlp-8:         NOTRUN -> [SKIP][13] ([i915#5274])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html

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

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

  * igt@prime_vgem@basic-fence-read:
    - bat-mtlp-8:         NOTRUN -> [SKIP][16] ([i915#3708]) +2 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s0@smem:
    - bat-jsl-3:          [INCOMPLETE][17] ([i915#9883]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/bat-jsl-3/igt@gem_exec_suspend@basic-s0@smem.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/bat-jsl-3/igt@gem_exec_suspend@basic-s0@smem.html

  * igt@i915_suspend@basic-s3-without-i915:
    - bat-jsl-3:          [FAIL][19] ([i915#10031]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/bat-jsl-3/igt@i915_suspend@basic-s3-without-i915.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/bat-jsl-3/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-1:
    - bat-rpls-2:         [ABORT][21] ([i915#7978]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/bat-rpls-2/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-1.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/bat-rpls-2/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-1.html

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

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [i915#10031]: https://gitlab.freedesktop.org/drm/intel/issues/10031
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
  [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
  [i915#9883]: https://gitlab.freedesktop.org/drm/intel/issues/9883


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7683 -> IGTPW_10568

  CI-20190529: 20190529
  CI_DRM_14150: 36703044a630ac1119ddf628677d7ced5ff6afc2 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_10568: 10568
  IGT_7683: 7683


Testlist changes
----------------

+igt@xe_waitfence@invalid-engine

== Logs ==

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

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

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

* ✗ Fi.CI.IGT: failure for extend psr2_sf test for pr_sf (rev2)
  2024-01-22  7:49 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
                   ` (3 preceding siblings ...)
  2024-01-22  8:50 ` ✓ Fi.CI.BAT: " Patchwork
@ 2024-01-22 10:36 ` Patchwork
  4 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2024-01-22 10:36 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

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

== Series Details ==

Series: extend psr2_sf test for pr_sf (rev2)
URL   : https://patchwork.freedesktop.org/series/129004/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14150_full -> IGTPW_10568_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_10568_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_10568_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_10568/index.html

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

  Missing    (2): shard-snb-0 pig-kbl-iris 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@api_intel_bb@lot-of-buffers:
    - shard-mtlp:         NOTRUN -> [ABORT][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-3/igt@api_intel_bb@lot-of-buffers.html

  * igt@drm_buddy@drm_buddy@drm_test_buddy_alloc_limit:
    - shard-dg2:          NOTRUN -> [DMESG-WARN][2] +1 other test dmesg-warn
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@drm_buddy@drm_buddy@drm_test_buddy_alloc_limit.html

  * igt@kms_flip@2x-blocking-wf_vblank@ab-vga1-hdmi-a1:
    - shard-snb:          [PASS][3] -> [ABORT][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-snb2/igt@kms_flip@2x-blocking-wf_vblank@ab-vga1-hdmi-a1.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb6/igt@kms_flip@2x-blocking-wf_vblank@ab-vga1-hdmi-a1.html

  * igt@kms_plane_cursor@viewport@pipe-a-hdmi-a-1-size-128:
    - shard-snb:          NOTRUN -> [ABORT][5]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb2/igt@kms_plane_cursor@viewport@pipe-a-hdmi-a-1-size-128.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-dg1:          [PASS][6] -> [FAIL][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-13/igt@kms_pm_rpm@system-suspend-modeset.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@kms_pm_rpm@system-suspend-modeset.html

  * {igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area@psr2-pipe-a-edp-1} (NEW):
    - shard-mtlp:         NOTRUN -> [SKIP][8] +22 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area@psr2-pipe-a-edp-1.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
    - shard-dg2:          NOTRUN -> [SKIP][9] +1 other test skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
    - shard-rkl:          NOTRUN -> [SKIP][10] +2 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
    - shard-dg1:          NOTRUN -> [SKIP][11] +1 other test skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
    - shard-tglu:         NOTRUN -> [SKIP][12] +1 other test skip
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-8/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list:
    - shard-tglu:         NOTRUN -> [FAIL][13]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html

  * igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset:
    - shard-dg2:          [PASS][14] -> [DMESG-WARN][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg2-6/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
    - shard-rkl:          [PASS][16] -> [DMESG-WARN][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
    - shard-dg1:          [PASS][18] -> [DMESG-WARN][19] +1 other test dmesg-warn
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-12/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
    - shard-tglu:         NOTRUN -> [DMESG-WARN][20] +1 other test dmesg-warn
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
    - shard-glk:          [PASS][21] -> [DMESG-WARN][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-glk8/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-glk8/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
    - shard-mtlp:         [PASS][23] -> [DMESG-WARN][24] +1 other test dmesg-warn
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-mtlp-8/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_clip_offset.html

  * igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_swab:
    - shard-snb:          [PASS][25] -> [DMESG-WARN][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-snb4/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_swab.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb6/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_swab.html

  
#### Warnings ####

  * igt@i915_selftest@mock@evict:
    - shard-dg2:          [ABORT][27] -> [INCOMPLETE][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg2-3/igt@i915_selftest@mock@evict.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@i915_selftest@mock@evict.html

  * igt@kms_async_flips@test-cursor:
    - shard-mtlp:         [SKIP][29] ([i915#6229]) -> [SKIP][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-mtlp-1/igt@kms_async_flips@test-cursor.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@kms_async_flips@test-cursor.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf:
    - shard-rkl:          [SKIP][31] ([i915#9683]) -> [SKIP][32] +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-6/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@cursor-plane-update-sf:
    - shard-dg2:          [SKIP][33] ([i915#9683]) -> [SKIP][34] +3 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg2-10/igt@kms_psr2_sf@cursor-plane-update-sf.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_psr2_sf@cursor-plane-update-sf.html
    - shard-rkl:          [SKIP][35] ([fdo#111068] / [i915#9683]) -> [SKIP][36] +3 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-2/igt@kms_psr2_sf@cursor-plane-update-sf.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_psr2_sf@cursor-plane-update-sf.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-sf:
    - shard-dg1:          [SKIP][37] ([i915#9683]) -> [SKIP][38] +3 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-19/igt@kms_psr2_sf@overlay-plane-move-continuous-sf.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_psr2_sf@overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@overlay-plane-update-continuous-sf:
    - shard-tglu:         [SKIP][39] ([fdo#111068] / [i915#9683]) -> [SKIP][40] +2 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-tglu-6/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-8/igt@kms_psr2_sf@overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
    - shard-dg1:          [SKIP][41] ([fdo#111068] / [i915#9683]) -> [SKIP][42] +4 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-13/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb:
    - shard-tglu:         [SKIP][43] ([i915#9683]) -> [SKIP][44] +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-tglu-6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list:
    - shard-rkl:          [FAIL][45] -> [DMESG-FAIL][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html
    - shard-glk:          [FAIL][47] -> [DMESG-FAIL][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-glk8/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-glk8/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html
    - shard-mtlp:         [FAIL][49] -> [DMESG-FAIL][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-mtlp-8/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html
    - shard-dg2:          [FAIL][51] -> [DMESG-FAIL][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg2-6/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@kms_selftest@drm_format_helper@drm_format_helper_test-drm_test_fb_build_fourcc_list.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf}:
    - shard-dg2:          NOTRUN -> [SKIP][53] +4 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf.html

  * {igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf}:
    - shard-dg2:          [SKIP][54] ([i915#9683]) -> [SKIP][55] +3 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg2-7/igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf.html

  * {igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf}:
    - shard-rkl:          NOTRUN -> [SKIP][56] +1 other test skip
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf.html
    - shard-dg1:          NOTRUN -> [SKIP][57] +1 other test skip
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf.html

  * {igt@kms_psr2_sf@fbc-overlay-plane-update-sf-dmg-area}:
    - shard-dg1:          [SKIP][58] ([i915#9683]) -> [SKIP][59] +7 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-17/igt@kms_psr2_sf@fbc-overlay-plane-update-sf-dmg-area.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-12/igt@kms_psr2_sf@fbc-overlay-plane-update-sf-dmg-area.html

  * {igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area}:
    - shard-tglu:         [SKIP][60] ([i915#9683]) -> [SKIP][61] +7 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-tglu-7/igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area.html

  * {igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area}:
    - shard-rkl:          [SKIP][62] ([i915#9683]) -> [SKIP][63] +8 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-5/igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area.html
    - shard-tglu:         NOTRUN -> [SKIP][64] +2 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area.html

  
New tests
---------

  New tests have been introduced between CI_DRM_14150_full and IGTPW_10568_full:

### New IGT tests (46) ###

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [11.85] s

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [11.81] s

  * igt@kms_psr2_sf@cursor-plane-move-continuous-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [11.16] s

  * igt@kms_psr2_sf@cursor-plane-move-continuous-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [11.16] s

  * igt@kms_psr2_sf@cursor-plane-update-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.37] s

  * igt@kms_psr2_sf@cursor-plane-update-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.40] s

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.87] s

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.28] s

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.83] s

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.24] s

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.88] s

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.21] s

  * igt@kms_psr2_sf@fbc-cursor-plane-update-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.89] s

  * igt@kms_psr2_sf@fbc-cursor-plane-update-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.28] s

  * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.83] s

  * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.20] s

  * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.83] s

  * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.24] s

  * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.83] s

  * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.29] s

  * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.83] s

  * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.26] s

  * igt@kms_psr2_sf@fbc-overlay-plane-update-sf-dmg-area@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.83] s

  * igt@kms_psr2_sf@fbc-overlay-plane-update-sf-dmg-area@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.28] s

  * igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.83] s

  * igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.24] s

  * igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area@psr2-pipe-a-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [0.83] s

  * igt@kms_psr2_sf@fbc-primary-plane-update-sf-dmg-area@psr2-pipe-b-edp-1:
    - Statuses : 1 skip(s)
    - Exec time: [1.30] s

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [17.28] s

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [17.27] s

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [12.10] s

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [12.10] s

  * igt@kms_psr2_sf@overlay-plane-move-continuous-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [6.79] s

  * igt@kms_psr2_sf@overlay-plane-move-continuous-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [6.77] s

  * igt@kms_psr2_sf@overlay-plane-update-continuous-sf@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.84] s

  * igt@kms_psr2_sf@overlay-plane-update-continuous-sf@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [1.86] s

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [6.82] s

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [6.82] s

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [6.86] s

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [6.86] s

  * igt@kms_psr2_sf@plane-move-sf-dmg-area@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [5.47] s

  * igt@kms_psr2_sf@plane-move-sf-dmg-area@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [5.49] s

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [7.79] s

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [8.24] s

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area@psr2-pipe-a-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [6.86] s

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area@psr2-pipe-b-edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [6.88] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-dg1:          NOTRUN -> [SKIP][65] ([i915#8411])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-16/igt@api_intel_bb@blit-reloc-purge-cache.html

  * igt@api_intel_bb@crc32:
    - shard-rkl:          NOTRUN -> [SKIP][66] ([i915#6230])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@api_intel_bb@crc32.html
    - shard-dg1:          NOTRUN -> [SKIP][67] ([i915#6230])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-16/igt@api_intel_bb@crc32.html
    - shard-tglu:         NOTRUN -> [SKIP][68] ([i915#6230])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@api_intel_bb@crc32.html

  * igt@api_intel_bb@object-reloc-keep-cache:
    - shard-dg2:          NOTRUN -> [SKIP][69] ([i915#8411])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@api_intel_bb@object-reloc-keep-cache.html

  * igt@api_intel_bb@object-reloc-purge-cache:
    - shard-mtlp:         NOTRUN -> [SKIP][70] ([i915#8411]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@api_intel_bb@object-reloc-purge-cache.html
    - shard-rkl:          NOTRUN -> [SKIP][71] ([i915#8411]) +1 other test skip
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@api_intel_bb@object-reloc-purge-cache.html

  * igt@debugfs_test@basic-hwmon:
    - shard-rkl:          NOTRUN -> [SKIP][72] ([i915#9318])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@debugfs_test@basic-hwmon.html

  * igt@device_reset@cold-reset-bound:
    - shard-mtlp:         NOTRUN -> [SKIP][73] ([i915#7701])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-3/igt@device_reset@cold-reset-bound.html

  * igt@drm_fdinfo@all-busy-check-all:
    - shard-mtlp:         NOTRUN -> [SKIP][74] ([i915#8414]) +15 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@drm_fdinfo@all-busy-check-all.html

  * igt@drm_fdinfo@busy-check-all@bcs0:
    - shard-dg1:          NOTRUN -> [SKIP][75] ([i915#8414]) +9 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@drm_fdinfo@busy-check-all@bcs0.html

  * igt@drm_fdinfo@most-busy-idle-check-all@vecs1:
    - shard-dg2:          NOTRUN -> [SKIP][76] ([i915#8414]) +44 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@drm_fdinfo@most-busy-idle-check-all@vecs1.html

  * igt@fbdev@pan:
    - shard-snb:          [PASS][77] -> [FAIL][78] ([i915#4435])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-snb5/igt@fbdev@pan.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb7/igt@fbdev@pan.html

  * igt@gem_busy@semaphore:
    - shard-dg2:          NOTRUN -> [SKIP][79] ([i915#3936])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@gem_busy@semaphore.html
    - shard-dg1:          NOTRUN -> [SKIP][80] ([i915#3936])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@gem_busy@semaphore.html
    - shard-mtlp:         NOTRUN -> [SKIP][81] ([i915#3936])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-4/igt@gem_busy@semaphore.html

  * igt@gem_ccs@ctrl-surf-copy:
    - shard-tglu:         NOTRUN -> [SKIP][82] ([i915#3555]) +4 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-3/igt@gem_ccs@ctrl-surf-copy.html

  * igt@gem_ccs@ctrl-surf-copy-new-ctx:
    - shard-rkl:          NOTRUN -> [SKIP][83] ([i915#9323])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@gem_ccs@ctrl-surf-copy-new-ctx.html

  * igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0:
    - shard-dg2:          NOTRUN -> [INCOMPLETE][84] ([i915#7297])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html

  * igt@gem_compute@compute-square:
    - shard-mtlp:         NOTRUN -> [SKIP][85] ([i915#9310])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-4/igt@gem_compute@compute-square.html

  * igt@gem_ctx_persistence@engines-mixed-process:
    - shard-snb:          NOTRUN -> [SKIP][86] ([fdo#109271] / [i915#1099]) +3 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb5/igt@gem_ctx_persistence@engines-mixed-process.html

  * igt@gem_ctx_persistence@hang:
    - shard-mtlp:         NOTRUN -> [SKIP][87] ([i915#8555]) +1 other test skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-4/igt@gem_ctx_persistence@hang.html

  * igt@gem_ctx_persistence@heartbeat-close:
    - shard-dg1:          NOTRUN -> [SKIP][88] ([i915#8555]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-15/igt@gem_ctx_persistence@heartbeat-close.html

  * igt@gem_ctx_persistence@heartbeat-hostile:
    - shard-dg2:          NOTRUN -> [SKIP][89] ([i915#8555]) +2 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@gem_ctx_persistence@heartbeat-hostile.html

  * igt@gem_ctx_sseu@engines:
    - shard-mtlp:         NOTRUN -> [SKIP][90] ([i915#280])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-4/igt@gem_ctx_sseu@engines.html

  * igt@gem_eio@hibernate:
    - shard-dg1:          [PASS][91] -> [ABORT][92] ([i915#7975] / [i915#8213])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-18/igt@gem_eio@hibernate.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-14/igt@gem_eio@hibernate.html

  * igt@gem_eio@unwedge-stress:
    - shard-dg1:          [PASS][93] -> [FAIL][94] ([i915#5784])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-19/igt@gem_eio@unwedge-stress.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-14/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_balancer@bonded-dual:
    - shard-dg1:          NOTRUN -> [SKIP][95] ([i915#4771])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@gem_exec_balancer@bonded-dual.html

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

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

  * igt@gem_exec_capture@many-4k-incremental:
    - shard-dg2:          NOTRUN -> [FAIL][98] ([i915#9606]) +1 other test fail
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@gem_exec_capture@many-4k-incremental.html
    - shard-rkl:          NOTRUN -> [FAIL][99] ([i915#9606]) +1 other test fail
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@gem_exec_capture@many-4k-incremental.html

  * igt@gem_exec_capture@many-4k-zero:
    - shard-dg1:          NOTRUN -> [FAIL][100] ([i915#9606])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@gem_exec_capture@many-4k-zero.html
    - shard-glk:          NOTRUN -> [FAIL][101] ([i915#9606])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-glk7/igt@gem_exec_capture@many-4k-zero.html
    - shard-mtlp:         NOTRUN -> [FAIL][102] ([i915#9606])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@gem_exec_capture@many-4k-zero.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-rkl:          [PASS][103] -> [FAIL][104] ([i915#2846])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-2/igt@gem_exec_fair@basic-deadline.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@gem_exec_fair@basic-deadline.html
    - shard-mtlp:         NOTRUN -> [SKIP][105] ([i915#4473] / [i915#4771]) +1 other test skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-rrul:
    - shard-dg2:          NOTRUN -> [SKIP][106] ([i915#3539] / [i915#4852]) +9 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@gem_exec_fair@basic-none-rrul.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-rkl:          [PASS][107] -> [FAIL][108] ([i915#2842]) +2 other tests fail
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-3/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][109] ([i915#2842]) +3 other tests fail
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-glk9/igt@gem_exec_fair@basic-throttle@rcs0.html

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

  * igt@gem_exec_flush@basic-batch-kernel-default-wb:
    - shard-dg1:          NOTRUN -> [SKIP][111] ([i915#3539] / [i915#4852]) +5 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-16/igt@gem_exec_flush@basic-batch-kernel-default-wb.html

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

  * igt@gem_exec_flush@basic-uc-set-default:
    - shard-dg2:          NOTRUN -> [SKIP][113] ([i915#3539]) +1 other test skip
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@gem_exec_flush@basic-uc-set-default.html

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

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

  * igt@gem_exec_reloc@basic-write-cpu-active:
    - shard-dg1:          NOTRUN -> [SKIP][116] ([i915#3281]) +10 other tests skip
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-12/igt@gem_exec_reloc@basic-write-cpu-active.html

  * igt@gem_exec_schedule@deep@rcs0:
    - shard-mtlp:         NOTRUN -> [SKIP][117] ([i915#4537])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-8/igt@gem_exec_schedule@deep@rcs0.html

  * igt@gem_exec_schedule@preempt-queue-chain:
    - shard-dg2:          NOTRUN -> [SKIP][118] ([i915#4537] / [i915#4812]) +1 other test skip
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@gem_exec_schedule@preempt-queue-chain.html

  * igt@gem_exec_schedule@preempt-queue-contexts:
    - shard-dg1:          NOTRUN -> [SKIP][119] ([i915#4812])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-12/igt@gem_exec_schedule@preempt-queue-contexts.html
    - shard-mtlp:         NOTRUN -> [SKIP][120] ([i915#4537] / [i915#4812])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-3/igt@gem_exec_schedule@preempt-queue-contexts.html

  * igt@gem_fence_thrash@bo-copy:
    - shard-dg2:          NOTRUN -> [SKIP][121] ([i915#4860]) +3 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@gem_fence_thrash@bo-copy.html
    - shard-dg1:          NOTRUN -> [SKIP][122] ([i915#4860])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@gem_fence_thrash@bo-copy.html
    - shard-mtlp:         NOTRUN -> [SKIP][123] ([i915#4860]) +1 other test skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@gem_fence_thrash@bo-copy.html

  * igt@gem_lmem_swapping@heavy-verify-multi-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][124] ([i915#4613]) +3 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-8/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
    - shard-glk:          NOTRUN -> [SKIP][125] ([fdo#109271] / [i915#4613]) +6 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-glk4/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][126] ([i915#4613]) +1 other test skip
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-4/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html

  * igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0:
    - shard-dg1:          NOTRUN -> [SKIP][127] ([i915#4565])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@gem_lmem_swapping@heavy-verify-multi-ccs@lmem0.html

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

  * igt@gem_media_fill@media-fill:
    - shard-mtlp:         NOTRUN -> [SKIP][129] ([i915#8289])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@gem_media_fill@media-fill.html
    - shard-dg2:          NOTRUN -> [SKIP][130] ([i915#8289])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@gem_media_fill@media-fill.html

  * igt@gem_mmap@bad-size:
    - shard-mtlp:         NOTRUN -> [SKIP][131] ([i915#4083]) +7 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-3/igt@gem_mmap@bad-size.html

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

  * igt@gem_mmap_gtt@cpuset-basic-small-copy:
    - shard-dg1:          NOTRUN -> [SKIP][133] ([i915#4077]) +3 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@gem_mmap_gtt@cpuset-basic-small-copy.html

  * igt@gem_mmap_gtt@fault-concurrent-y:
    - shard-mtlp:         NOTRUN -> [SKIP][134] ([i915#4077]) +4 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@gem_mmap_gtt@fault-concurrent-y.html

  * igt@gem_mmap_wc@copy:
    - shard-dg2:          NOTRUN -> [SKIP][135] ([i915#4083]) +11 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@gem_mmap_wc@copy.html

  * igt@gem_mmap_wc@read:
    - shard-dg1:          NOTRUN -> [SKIP][136] ([i915#4083]) +7 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-15/igt@gem_mmap_wc@read.html

  * igt@gem_partial_pwrite_pread@reads:
    - shard-dg1:          NOTRUN -> [SKIP][137] ([i915#3282]) +5 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@gem_partial_pwrite_pread@reads.html

  * igt@gem_partial_pwrite_pread@reads-display:
    - shard-mtlp:         NOTRUN -> [SKIP][138] ([i915#3282]) +2 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-2/igt@gem_partial_pwrite_pread@reads-display.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-display:
    - shard-dg2:          NOTRUN -> [SKIP][139] ([i915#3282]) +6 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@gem_partial_pwrite_pread@writes-after-reads-display.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-glk:          NOTRUN -> [INCOMPLETE][140] ([i915#10042])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-glk4/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_pwrite@basic-self:
    - shard-rkl:          NOTRUN -> [SKIP][141] ([i915#3282]) +5 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@gem_pwrite@basic-self.html

  * igt@gem_pxp@create-regular-context-2:
    - shard-tglu:         NOTRUN -> [SKIP][142] ([i915#4270]) +2 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-4/igt@gem_pxp@create-regular-context-2.html

  * igt@gem_pxp@protected-encrypted-src-copy-not-readible:
    - shard-dg1:          NOTRUN -> [SKIP][143] ([i915#4270]) +2 other tests skip
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-15/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html

  * igt@gem_pxp@reject-modify-context-protection-off-2:
    - shard-dg2:          NOTRUN -> [SKIP][144] ([i915#4270]) +4 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@gem_pxp@reject-modify-context-protection-off-2.html

  * igt@gem_pxp@verify-pxp-stale-buf-execution:
    - shard-mtlp:         NOTRUN -> [SKIP][145] ([i915#4270]) +1 other test skip
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@gem_pxp@verify-pxp-stale-buf-execution.html

  * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][146] ([i915#8428]) +7 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled.html

  * igt@gem_set_tiling_vs_blt@tiled-to-tiled:
    - shard-dg2:          NOTRUN -> [SKIP][147] ([i915#4079]) +1 other test skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html

  * igt@gem_softpin@noreloc-s3:
    - shard-tglu:         [PASS][148] -> [ABORT][149] ([i915#8213])
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-tglu-7/igt@gem_softpin@noreloc-s3.html
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-9/igt@gem_softpin@noreloc-s3.html

  * igt@gem_tiled_pread_pwrite:
    - shard-dg1:          NOTRUN -> [SKIP][150] ([i915#4079])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-15/igt@gem_tiled_pread_pwrite.html

  * igt@gem_userptr_blits@coherency-unsync:
    - shard-tglu:         NOTRUN -> [SKIP][151] ([i915#3297])
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@gem_userptr_blits@coherency-unsync.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-mtlp:         NOTRUN -> [SKIP][152] ([i915#3297])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@gem_userptr_blits@readonly-unsync.html

  * igt@gem_userptr_blits@relocations:
    - shard-mtlp:         NOTRUN -> [SKIP][153] ([i915#3281]) +12 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@gem_userptr_blits@relocations.html

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-rkl:          NOTRUN -> [SKIP][154] ([i915#3297])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@gem_userptr_blits@unsync-unmap-after-close.html

  * igt@gen3_mixed_blits:
    - shard-dg2:          NOTRUN -> [SKIP][155] ([fdo#109289]) +3 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@gen3_mixed_blits.html
    - shard-rkl:          NOTRUN -> [SKIP][156] ([fdo#109289]) +2 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@gen3_mixed_blits.html

  * igt@gen7_exec_parse@bitmasks:
    - shard-tglu:         NOTRUN -> [SKIP][157] ([fdo#109289]) +2 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-3/igt@gen7_exec_parse@bitmasks.html

  * igt@gen7_exec_parse@cmd-crossing-page:
    - shard-dg1:          NOTRUN -> [SKIP][158] ([fdo#109289])
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@gen7_exec_parse@cmd-crossing-page.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-mtlp:         NOTRUN -> [SKIP][159] ([i915#2856]) +4 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@gen9_exec_parse@allowed-all.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-rkl:          NOTRUN -> [SKIP][160] ([i915#2527]) +2 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@gen9_exec_parse@bb-oversize.html
    - shard-dg1:          NOTRUN -> [SKIP][161] ([i915#2527]) +2 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@gen9_exec_parse@bb-oversize.html
    - shard-tglu:         NOTRUN -> [SKIP][162] ([i915#2527] / [i915#2856])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-9/igt@gen9_exec_parse@bb-oversize.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-dg2:          NOTRUN -> [SKIP][163] ([i915#2856]) +5 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@gen9_exec_parse@shadow-peek.html

  * igt@i915_module_load@load:
    - shard-dg2:          NOTRUN -> [SKIP][164] ([i915#6227])
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@i915_module_load@load.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-snb:          [PASS][165] -> [INCOMPLETE][166] ([i915#9200] / [i915#9849])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-snb2/igt@i915_module_load@reload-with-fault-injection.html
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb6/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_module_load@resize-bar:
    - shard-mtlp:         NOTRUN -> [SKIP][167] ([i915#6412])
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_freq_mult@media-freq@gt0:
    - shard-rkl:          NOTRUN -> [SKIP][168] ([i915#6590])
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@i915_pm_freq_mult@media-freq@gt0.html
    - shard-dg1:          NOTRUN -> [SKIP][169] ([i915#6590])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@i915_pm_freq_mult@media-freq@gt0.html

  * igt@i915_pm_freq_mult@media-freq@gt1:
    - shard-mtlp:         NOTRUN -> [SKIP][170] ([i915#6590]) +1 other test skip
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@i915_pm_freq_mult@media-freq@gt1.html

  * igt@i915_pm_rc6_residency@rc6-fence@gt0:
    - shard-tglu:         NOTRUN -> [WARN][171] ([i915#2681])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@i915_pm_rc6_residency@rc6-fence@gt0.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-dg2:          [PASS][172] -> [INCOMPLETE][173] ([i915#9142])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg2-10/igt@i915_pm_rpm@system-suspend-execbuf.html
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@i915_pm_rps@min-max-config-idle:
    - shard-dg1:          NOTRUN -> [SKIP][174] ([i915#6621])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-14/igt@i915_pm_rps@min-max-config-idle.html

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

  * igt@i915_pm_rps@reset:
    - shard-snb:          [PASS][176] -> [INCOMPLETE][177] ([i915#7790])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-snb2/igt@i915_pm_rps@reset.html
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb4/igt@i915_pm_rps@reset.html

  * igt@i915_pm_rps@waitboost:
    - shard-mtlp:         NOTRUN -> [FAIL][178] ([i915#8346])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@i915_pm_rps@waitboost.html

  * igt@i915_power@sanity:
    - shard-rkl:          NOTRUN -> [SKIP][179] ([i915#7984])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@i915_power@sanity.html

  * igt@i915_query@query-topology-unsupported:
    - shard-dg2:          NOTRUN -> [SKIP][180] ([fdo#109302])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@i915_query@query-topology-unsupported.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-rkl:          [PASS][181] -> [FAIL][182] ([i915#10031])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-2/igt@i915_suspend@basic-s3-without-i915.html
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_addfb_basic@clobberred-modifier:
    - shard-dg2:          NOTRUN -> [SKIP][183] ([i915#4212]) +1 other test skip
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_addfb_basic@clobberred-modifier.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-rkl:          NOTRUN -> [SKIP][184] ([i915#3826])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-2-y-rc-ccs-cc:
    - shard-rkl:          NOTRUN -> [SKIP][185] ([i915#8709]) +3 other tests skip
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-2-y-rc-ccs-cc.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-2-4-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][186] ([i915#8709]) +11 other tests skip
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-2-4-mc-ccs.html

  * igt@kms_atomic_transition@plane-all-modeset-transition:
    - shard-mtlp:         NOTRUN -> [SKIP][187] ([i915#1769] / [i915#3555])
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@kms_atomic_transition@plane-all-modeset-transition.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-snb:          NOTRUN -> [SKIP][188] ([fdo#109271] / [i915#1769])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

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

  * igt@kms_big_fb@4-tiled-32bpp-rotate-270:
    - shard-tglu:         NOTRUN -> [SKIP][190] ([fdo#111615] / [i915#5286]) +5 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-7/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-addfb:
    - shard-dg1:          NOTRUN -> [SKIP][191] ([i915#5286])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@kms_big_fb@4-tiled-addfb.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0:
    - shard-rkl:          NOTRUN -> [SKIP][192] ([i915#5286]) +3 other tests skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html
    - shard-dg1:          NOTRUN -> [SKIP][193] ([i915#4538] / [i915#5286]) +1 other test skip
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-16/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-mtlp:         NOTRUN -> [FAIL][194] ([i915#5138])
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][195] ([fdo#111614] / [i915#3638]) +3 other tests skip
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-4/igt@kms_big_fb@linear-32bpp-rotate-90.html
    - shard-dg1:          NOTRUN -> [SKIP][196] ([i915#3638]) +2 other tests skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@linear-8bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][197] ([fdo#111614]) +5 other tests skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_big_fb@linear-8bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - shard-mtlp:         NOTRUN -> [SKIP][198] ([fdo#111614]) +4 other tests skip
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-8/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
    - shard-tglu:         NOTRUN -> [SKIP][199] ([fdo#111614])
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-mtlp:         NOTRUN -> [SKIP][200] ([i915#6187]) +1 other test skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-mtlp:         NOTRUN -> [SKIP][201] ([fdo#111615]) +13 other tests skip
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-dg2:          NOTRUN -> [SKIP][202] ([i915#5190]) +19 other tests skip
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

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

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-rkl:          NOTRUN -> [SKIP][204] ([fdo#111615]) +1 other test skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-rkl:          NOTRUN -> [SKIP][205] ([fdo#110723]) +6 other tests skip
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
    - shard-dg1:          NOTRUN -> [SKIP][206] ([i915#4538]) +6 other tests skip
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-tglu:         NOTRUN -> [SKIP][207] ([fdo#111615]) +6 other tests skip
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-8/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_ccs@pipe-a-bad-pixel-format-4-tiled-dg2-rc-ccs-cc:
    - shard-mtlp:         NOTRUN -> [SKIP][208] ([i915#5354] / [i915#6095]) +57 other tests skip
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_ccs@pipe-a-bad-pixel-format-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@pipe-a-bad-rotation-90-y-tiled-gen12-mc-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][209] ([i915#5354] / [i915#6095]) +62 other tests skip
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_ccs@pipe-a-bad-rotation-90-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@pipe-b-ccs-on-another-bo-y-tiled-gen12-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][210] ([i915#5354]) +122 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@kms_ccs@pipe-b-ccs-on-another-bo-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@pipe-b-crc-primary-rotation-180-4-tiled-dg2-rc-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][211] ([i915#5354] / [i915#6095]) +29 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_ccs@pipe-b-crc-primary-rotation-180-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4-tiled-mtl-rc-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][212] ([i915#5354]) +37 other tests skip
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@pipe-c-missing-ccs-buffer-4-tiled-mtl-mc-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][213] ([i915#5354] / [i915#6095]) +46 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-7/igt@kms_ccs@pipe-c-missing-ccs-buffer-4-tiled-mtl-mc-ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-rkl:          NOTRUN -> [SKIP][214] ([i915#3742]) +1 other test skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_cdclk@mode-transition.html

  * igt@kms_chamelium_color@ctm-blue-to-red:
    - shard-mtlp:         NOTRUN -> [SKIP][215] ([fdo#111827])
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_chamelium_color@ctm-blue-to-red.html
    - shard-dg1:          NOTRUN -> [SKIP][216] ([fdo#111827])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_chamelium_color@ctm-blue-to-red.html
    - shard-tglu:         NOTRUN -> [SKIP][217] ([fdo#111827])
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@kms_chamelium_color@ctm-blue-to-red.html

  * igt@kms_chamelium_color@degamma:
    - shard-dg2:          NOTRUN -> [SKIP][218] ([fdo#111827]) +2 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@kms_chamelium_color@degamma.html
    - shard-rkl:          NOTRUN -> [SKIP][219] ([fdo#111827]) +2 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@kms_chamelium_color@degamma.html

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

  * igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][221] ([i915#7828]) +11 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-2/igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode.html

  * igt@kms_chamelium_hpd@hdmi-hpd-storm:
    - shard-tglu:         NOTRUN -> [SKIP][222] ([i915#7828]) +10 other tests skip
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-9/igt@kms_chamelium_hpd@hdmi-hpd-storm.html

  * igt@kms_chamelium_hpd@hdmi-hpd-storm-disable:
    - shard-dg1:          NOTRUN -> [SKIP][223] ([i915#7828]) +10 other tests skip
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html

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

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-tglu:         NOTRUN -> [SKIP][225] ([i915#3116] / [i915#3299]) +1 other test skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-3/igt@kms_content_protection@dp-mst-lic-type-0.html
    - shard-mtlp:         NOTRUN -> [SKIP][226] ([i915#3299])
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-8/igt@kms_content_protection@dp-mst-lic-type-0.html
    - shard-dg1:          NOTRUN -> [SKIP][227] ([i915#3299])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-rkl:          NOTRUN -> [SKIP][228] ([i915#3116]) +1 other test skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-mtlp:         NOTRUN -> [SKIP][229] ([i915#6944])
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_content_protection@legacy.html
    - shard-dg1:          NOTRUN -> [SKIP][230] ([i915#7116])
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg2:          NOTRUN -> [SKIP][231] ([i915#9424])
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-7/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@type1:
    - shard-dg2:          NOTRUN -> [SKIP][232] ([i915#7118]) +2 other tests skip
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@cursor-offscreen-256x85:
    - shard-mtlp:         NOTRUN -> [SKIP][233] ([i915#8814]) +1 other test skip
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@kms_cursor_crc@cursor-offscreen-256x85.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-tglu:         NOTRUN -> [SKIP][234] ([fdo#109279] / [i915#3359])
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-7/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-rkl:          NOTRUN -> [SKIP][235] ([fdo#109279] / [i915#3359])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-random-32x32:
    - shard-dg1:          NOTRUN -> [SKIP][236] ([i915#3555]) +3 other tests skip
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-14/igt@kms_cursor_crc@cursor-random-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x10:
    - shard-rkl:          NOTRUN -> [SKIP][237] ([i915#3555]) +3 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-4/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-dg2:          NOTRUN -> [SKIP][238] ([i915#3555]) +4 other tests skip
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_crc@cursor-sliding-32x32:
    - shard-mtlp:         NOTRUN -> [SKIP][239] ([i915#3555] / [i915#8814]) +3 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@kms_cursor_crc@cursor-sliding-32x32.html

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][240] ([i915#3359])
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-dg1:          NOTRUN -> [SKIP][241] ([i915#3359])
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-tglu:         NOTRUN -> [SKIP][242] ([i915#3359])
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-mtlp:         NOTRUN -> [SKIP][243] ([i915#3359]) +1 other test skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-dg2:          NOTRUN -> [SKIP][244] ([i915#3359])
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-dg2:          NOTRUN -> [SKIP][245] ([fdo#109274] / [i915#5354]) +7 other tests skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-rkl:          NOTRUN -> [SKIP][246] ([i915#4103]) +2 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
    - shard-dg1:          NOTRUN -> [SKIP][247] ([i915#4103] / [i915#4213])
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-12/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
    - shard-tglu:         NOTRUN -> [SKIP][248] ([i915#4103])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
    - shard-mtlp:         NOTRUN -> [SKIP][249] ([i915#4213])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-dg1:          NOTRUN -> [SKIP][250] ([fdo#111767] / [fdo#111825])
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-16/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
    - shard-snb:          NOTRUN -> [SKIP][251] ([fdo#109271] / [fdo#111767]) +1 other test skip
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb4/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
    - shard-tglu:         NOTRUN -> [SKIP][252] ([fdo#109274] / [fdo#111767])
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
    - shard-mtlp:         NOTRUN -> [SKIP][253] ([fdo#111767])
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [PASS][254] -> [FAIL][255] ([i915#2346])
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-mtlp:         NOTRUN -> [SKIP][256] ([i915#9067])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
    - shard-rkl:          NOTRUN -> [SKIP][257] ([i915#9067])
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-4/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
    - shard-tglu:         NOTRUN -> [SKIP][258] ([i915#9067])
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-2/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-dg2:          NOTRUN -> [SKIP][259] ([i915#4103] / [i915#4213]) +2 other tests skip
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-dg2:          NOTRUN -> [SKIP][260] ([i915#9833])
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][261] ([i915#9723])
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-1.html
    - shard-tglu:         NOTRUN -> [SKIP][262] ([i915#9723])
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-1.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][263] ([i915#9227])
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-3.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][264] ([i915#9723])
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-16/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4.html

  * igt@kms_dp_aux_dev:
    - shard-dg2:          NOTRUN -> [SKIP][265] ([i915#1257])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@kms_dp_aux_dev.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-dg2:          NOTRUN -> [SKIP][266] ([i915#3840] / [i915#9688])
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_dsc@dsc-fractional-bpp.html
    - shard-dg1:          NOTRUN -> [SKIP][267] ([i915#3840])
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-12/igt@kms_dsc@dsc-fractional-bpp.html
    - shard-tglu:         NOTRUN -> [SKIP][268] ([i915#3840])
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-7/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc:
    - shard-dg2:          NOTRUN -> [SKIP][269] ([i915#3840])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-mtlp:         NOTRUN -> [SKIP][270] ([i915#3555] / [i915#3840]) +1 other test skip
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-8/igt@kms_dsc@dsc-with-bpc.html
    - shard-dg2:          NOTRUN -> [SKIP][271] ([i915#3555] / [i915#3840])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_dsc@dsc-with-bpc.html
    - shard-rkl:          NOTRUN -> [SKIP][272] ([i915#3555] / [i915#3840])
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_dsc@dsc-with-bpc.html
    - shard-dg1:          NOTRUN -> [SKIP][273] ([i915#3555] / [i915#3840])
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-15/igt@kms_dsc@dsc-with-bpc.html

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

  * igt@kms_feature_discovery@display-3x:
    - shard-dg2:          NOTRUN -> [SKIP][275] ([i915#1839])
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@kms_feature_discovery@display-3x.html

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

  * igt@kms_fence_pin_leak:
    - shard-dg2:          NOTRUN -> [SKIP][277] ([i915#4881])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_fence_pin_leak.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-tglu:         NOTRUN -> [SKIP][278] ([fdo#109274] / [i915#3637]) +10 other tests skip
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-9/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][279] ([fdo#109274] / [fdo#111767])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

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

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

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
    - shard-dg2:          NOTRUN -> [SKIP][282] ([fdo#109274]) +11 other tests skip
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
    - shard-dg1:          NOTRUN -> [SKIP][283] ([fdo#111825] / [i915#9934]) +10 other tests skip
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-12/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][284] ([i915#8810])
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-8/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-dg1:          NOTRUN -> [SKIP][285] ([i915#2587] / [i915#2672]) +2 other tests skip
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html
    - shard-tglu:         NOTRUN -> [SKIP][286] ([i915#2587] / [i915#2672]) +1 other test skip
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][287] ([i915#2672]) +7 other tests skip
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][288] ([i915#2672]) +3 other tests skip
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][289] ([i915#2672]) +5 other tests skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][290] ([i915#2672] / [i915#3555]) +2 other tests skip
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode.html

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

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite:
    - shard-snb:          [PASS][292] -> [SKIP][293] ([fdo#109271]) +6 other tests skip
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][294] ([i915#8708]) +25 other tests skip
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][295] ([fdo#111825] / [i915#1825]) +52 other tests skip
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][296] ([i915#10055])
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][297] ([i915#8708]) +19 other tests skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move:
    - shard-tglu:         NOTRUN -> [SKIP][298] ([fdo#110189]) +19 other tests skip
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][299] ([fdo#111825]) +13 other tests skip
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-pwrite:
    - shard-dg1:          NOTRUN -> [SKIP][300] ([fdo#111825]) +40 other tests skip
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-pwrite.html

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

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-rkl:          NOTRUN -> [SKIP][303] ([i915#3023]) +23 other tests skip
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html

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

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-pgflip-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][305] ([i915#1825]) +42 other tests skip
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-tglu:         NOTRUN -> [SKIP][306] ([fdo#109280]) +41 other tests skip
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][307] ([i915#3458]) +18 other tests skip
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-tglu:         [PASS][308] -> [SKIP][309] ([i915#433])
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-tglu-2/igt@kms_hdmi_inject@inject-audio.html
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][310] ([i915#3555] / [i915#8228]) +2 other tests skip
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_hdr@bpc-switch-dpms.html
    - shard-dg1:          NOTRUN -> [SKIP][311] ([i915#3555] / [i915#8228]) +2 other tests skip
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-tglu:         NOTRUN -> [SKIP][312] ([i915#3555] / [i915#8228]) +3 other tests skip
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-2/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-mtlp:         NOTRUN -> [SKIP][313] ([i915#3555] / [i915#8228]) +1 other test skip
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-3/igt@kms_hdr@invalid-metadata-sizes.html
    - shard-dg2:          NOTRUN -> [SKIP][314] ([i915#3555] / [i915#8228]) +3 other tests skip
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-dg2:          NOTRUN -> [SKIP][315] ([i915#6301])
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_panel_fitting@atomic-fastset.html
    - shard-rkl:          NOTRUN -> [SKIP][316] ([i915#6301])
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_panel_fitting@atomic-fastset.html
    - shard-dg1:          NOTRUN -> [SKIP][317] ([i915#6301]) +1 other test skip
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-15/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_panel_fitting@legacy:
    - shard-tglu:         NOTRUN -> [SKIP][318] ([i915#6301])
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-3/igt@kms_panel_fitting@legacy.html

  * igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes:
    - shard-mtlp:         NOTRUN -> [SKIP][319] ([fdo#109289]) +1 other test skip
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][320] ([i915#4573]) +1 other test fail
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-glk4/igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1.html

  * igt@kms_plane_lowres@tiling-none@pipe-b-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][321] ([i915#3582]) +3 other tests skip
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-2/igt@kms_plane_lowres@tiling-none@pipe-b-edp-1.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][322] ([i915#3555] / [i915#8821])
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][323] ([i915#3555] / [i915#8806])
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_plane_multiple@tiling-y.html
    - shard-dg2:          NOTRUN -> [SKIP][324] ([i915#8806])
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-tglu:         NOTRUN -> [SKIP][325] ([fdo#109274]) +2 other tests skip
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
    - shard-mtlp:         NOTRUN -> [SKIP][326] ([i915#9809]) +3 other tests skip
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][327] ([i915#9423]) +5 other tests skip
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-a-hdmi-a-1.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][328] ([i915#9423]) +7 other tests skip
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-c-hdmi-a-1.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-c-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][329] ([i915#9423]) +19 other tests skip
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-c-hdmi-a-4.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][330] ([i915#5176]) +5 other tests skip
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][331] ([i915#5176] / [i915#9423]) +3 other tests skip
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-hdmi-a-3.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-d-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][332] ([i915#9423]) +11 other tests skip
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-7/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-d-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][333] ([i915#5235]) +1 other test skip
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-a-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][334] ([i915#5235]) +6 other tests skip
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-2/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-a-edp-1.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][335] ([i915#3555] / [i915#5235])
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][336] ([i915#5235]) +3 other tests skip
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-hdmi-a-4.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][337] ([i915#5235] / [i915#9423]) +7 other tests skip
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-dg1:          NOTRUN -> [SKIP][338] ([i915#3361])
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-16/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-dg2:          NOTRUN -> [SKIP][339] ([i915#9340])
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-lpsp:
    - shard-dg2:          NOTRUN -> [SKIP][340] ([i915#9519])
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-7/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
    - shard-dg1:          NOTRUN -> [SKIP][341] ([i915#9519])
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-17/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-rkl:          [PASS][342] -> [SKIP][343] ([i915#9519])
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-3/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-rkl:          NOTRUN -> [SKIP][344] ([i915#9519])
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@modeset-pc8-residency-stress:
    - shard-mtlp:         NOTRUN -> [SKIP][345] ([fdo#109293])
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-7/igt@kms_pm_rpm@modeset-pc8-residency-stress.html
    - shard-rkl:          NOTRUN -> [SKIP][346] ([fdo#109293] / [fdo#109506])
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@kms_pm_rpm@modeset-pc8-residency-stress.html

  * igt@kms_pm_rpm@pc8-residency:
    - shard-dg2:          NOTRUN -> [SKIP][347] ([fdo#109293] / [fdo#109506]) +1 other test skip
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_pm_rpm@pc8-residency.html
    - shard-dg1:          NOTRUN -> [SKIP][348] ([fdo#109293] / [fdo#109506]) +1 other test skip
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@kms_pm_rpm@pc8-residency.html
    - shard-tglu:         NOTRUN -> [SKIP][349] ([fdo#109293] / [fdo#109506]) +1 other test skip
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-8/igt@kms_pm_rpm@pc8-residency.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-rkl:          NOTRUN -> [SKIP][350] ([i915#6524])
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_prime@basic-modeset-hybrid:
    - shard-dg2:          NOTRUN -> [SKIP][351] ([i915#6524] / [i915#6805])
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@kms_prime@basic-modeset-hybrid.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-tglu:         NOTRUN -> [SKIP][352] ([fdo#109642] / [fdo#111068] / [i915#9683])
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@kms_psr2_su@page_flip-p010.html

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

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-snb:          NOTRUN -> [SKIP][354] ([fdo#109271]) +242 other tests skip
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-snb1/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2:          NOTRUN -> [SKIP][355] ([i915#4235]) +1 other test skip
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-mtlp:         NOTRUN -> [SKIP][356] ([i915#4235]) +2 other tests skip
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
    - shard-dg2:          NOTRUN -> [SKIP][357] ([i915#4235] / [i915#5190])
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-10/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

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

  * igt@kms_sysfs_edid_timing:
    - shard-dg2:          NOTRUN -> [FAIL][359] ([IGT#2])
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@kms_sysfs_edid_timing.html
    - shard-dg1:          NOTRUN -> [FAIL][360] ([IGT#2] / [i915#6493])
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@kms_sysfs_edid_timing.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-mtlp:         NOTRUN -> [SKIP][361] ([i915#8623])
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-rkl:          NOTRUN -> [SKIP][362] ([fdo#109309])
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [FAIL][363] ([i915#9196])
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [FAIL][364] ([i915#9196]) +1 other test fail
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-4/igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1.html

  * igt@kms_vrr@flip-basic-fastset:
    - shard-rkl:          NOTRUN -> [SKIP][365] ([i915#9906])
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@kms_vrr@flip-basic-fastset.html

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

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

  * igt@perf@mi-rpc:
    - shard-dg2:          NOTRUN -> [SKIP][368] ([i915#2434])
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@perf@mi-rpc.html
    - shard-dg1:          NOTRUN -> [SKIP][369] ([i915#2434])
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@perf@mi-rpc.html

  * igt@perf_pmu@busy-double-start@rcs0:
    - shard-mtlp:         [PASS][370] -> [FAIL][371] ([i915#4349]) +1 other test fail
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-mtlp-1/igt@perf_pmu@busy-double-start@rcs0.html
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-8/igt@perf_pmu@busy-double-start@rcs0.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          NOTRUN -> [FAIL][372] ([i915#4349]) +3 other tests fail
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@perf_pmu@most-busy-idle-check-all@rcs0:
    - shard-dg1:          [PASS][373] -> [FAIL][374] ([i915#9593])
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-17/igt@perf_pmu@most-busy-idle-check-all@rcs0.html
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@perf_pmu@most-busy-idle-check-all@rcs0.html

  * igt@perf_pmu@rc6@other-idle-gt0:
    - shard-dg2:          NOTRUN -> [SKIP][375] ([i915#8516])
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-6/igt@perf_pmu@rc6@other-idle-gt0.html

  * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
    - shard-dg2:          NOTRUN -> [CRASH][376] ([i915#9351])
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html

  * igt@prime_vgem@basic-fence-flip:
    - shard-dg2:          NOTRUN -> [SKIP][377] ([i915#3708])
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][378] ([i915#3708] / [i915#4077])
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-1/igt@prime_vgem@basic-gtt.html
    - shard-dg1:          NOTRUN -> [SKIP][379] ([i915#3708] / [i915#4077])
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-15/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-write:
    - shard-dg1:          NOTRUN -> [SKIP][380] ([i915#3708])
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-14/igt@prime_vgem@basic-write.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-dg1:          NOTRUN -> [SKIP][381] ([i915#9917])
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-rkl:          NOTRUN -> [SKIP][382] ([fdo#109307])
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@tools_test@sysfs_l3_parity.html
    - shard-dg1:          NOTRUN -> [SKIP][383] ([fdo#109307] / [i915#4818])
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@tools_test@sysfs_l3_parity.html
    - shard-tglu:         NOTRUN -> [SKIP][384] ([fdo#109307])
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-7/igt@tools_test@sysfs_l3_parity.html
    - shard-mtlp:         NOTRUN -> [SKIP][385] ([i915#4818])
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-5/igt@tools_test@sysfs_l3_parity.html
    - shard-dg2:          NOTRUN -> [SKIP][386] ([i915#4818])
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@tools_test@sysfs_l3_parity.html

  * igt@v3d/v3d_perfmon@create-perfmon-exceed:
    - shard-mtlp:         NOTRUN -> [SKIP][387] ([i915#2575]) +13 other tests skip
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-1/igt@v3d/v3d_perfmon@create-perfmon-exceed.html

  * igt@v3d/v3d_submit_cl@bad-multisync-pad:
    - shard-tglu:         NOTRUN -> [SKIP][388] ([fdo#109315] / [i915#2575]) +9 other tests skip
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-5/igt@v3d/v3d_submit_cl@bad-multisync-pad.html

  * igt@v3d/v3d_submit_cl@job-perfmon:
    - shard-dg1:          NOTRUN -> [SKIP][389] ([i915#2575]) +11 other tests skip
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-18/igt@v3d/v3d_submit_cl@job-perfmon.html

  * igt@v3d/v3d_submit_csd@bad-multisync-extension:
    - shard-rkl:          NOTRUN -> [SKIP][390] ([fdo#109315]) +11 other tests skip
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-6/igt@v3d/v3d_submit_csd@bad-multisync-extension.html

  * igt@v3d/v3d_submit_csd@job-perfmon:
    - shard-dg2:          NOTRUN -> [SKIP][391] ([i915#2575]) +16 other tests skip
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-5/igt@v3d/v3d_submit_csd@job-perfmon.html

  * igt@vc4/vc4_perfmon@create-single-perfmon:
    - shard-mtlp:         NOTRUN -> [SKIP][392] ([i915#7711]) +7 other tests skip
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-mtlp-4/igt@vc4/vc4_perfmon@create-single-perfmon.html

  * igt@vc4/vc4_tiling@set-bad-handle:
    - shard-rkl:          NOTRUN -> [SKIP][393] ([i915#7711]) +7 other tests skip
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-7/igt@vc4/vc4_tiling@set-bad-handle.html

  * igt@vc4/vc4_tiling@set-get:
    - shard-dg2:          NOTRUN -> [SKIP][394] ([i915#7711]) +11 other tests skip
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg2-2/igt@vc4/vc4_tiling@set-get.html

  * igt@vc4/vc4_wait_bo@used-bo-0ns:
    - shard-dg1:          NOTRUN -> [SKIP][395] ([i915#7711]) +7 other tests skip
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-13/igt@vc4/vc4_wait_bo@used-bo-0ns.html

  * igt@vc4/vc4_wait_seqno@bad-seqno-0ns:
    - shard-tglu:         NOTRUN -> [SKIP][396] ([i915#2575]) +10 other tests skip
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-7/igt@vc4/vc4_wait_seqno@bad-seqno-0ns.html

  
#### Possible fixes ####

  * igt@drm_fdinfo@virtual-idle:
    - shard-rkl:          [FAIL][397] ([i915#7742]) -> [PASS][398]
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-6/igt@drm_fdinfo@virtual-idle.html
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-5/igt@drm_fdinfo@virtual-idle.html

  * igt@gem_ctx_isolation@preservation-s3@bcs0:
    - shard-dg1:          [DMESG-WARN][399] ([i915#4423]) -> [PASS][400]
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-dg1-15/igt@gem_ctx_isolation@preservation-s3@bcs0.html
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-dg1-19/igt@gem_ctx_isolation@preservation-s3@bcs0.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-rkl:          [FAIL][401] ([i915#2842]) -> [PASS][402] +1 other test pass
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-rkl-7/igt@gem_exec_fair@basic-none@vecs0.html
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-rkl-1/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglu:         [FAIL][403] ([i915#2842]) -> [PASS][404]
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-tglu-8/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-8/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-tglu:         [FAIL][405] ([i915#2876]) -> [PASS][406]
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14150/shard-tglu-8/igt@gem_exec_fair@basic-pace@rcs0.html
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10568/shard-tglu-6/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg1:          [TIMEOUT][407] ([i915#5493]) -> [PAS

== Logs ==

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

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

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

* Re: [PATCH i-g-t 1/2] lib/igt_psr.c: add support for panel replay sf
  2024-01-22  7:49 ` [PATCH i-g-t 1/2] lib/igt_psr.c: add support for panel replay sf Kunal Joshi
@ 2024-02-05 12:00   ` Hogander, Jouni
  2024-02-07 13:49     ` Joshi, Kunal1
  0 siblings, 1 reply; 13+ messages in thread
From: Hogander, Jouni @ 2024-02-05 12:00 UTC (permalink / raw)
  To: Joshi, Kunal1, igt-dev@lists.freedesktop.org
  Cc: Murthy, Arun R, Manna, Animesh

On Mon, 2024-01-22 at 13:19 +0530, Kunal Joshi wrote:
> modify functions in igt_psr to extend support for validating
> panel replay selective fetch.
> 
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Animesh Manna <animesh.manna@intel.com>
> Cc: Arun R Murthy <arun.r.murthy@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> ---
>  lib/igt_psr.c             | 46 ++++++++++++++++++++++++++-----------
> --
>  lib/igt_psr.h             |  6 ++---
>  tests/intel/kms_psr2_sf.c |  8 ++++---
>  tests/kms_async_flips.c   |  4 ++--
>  tests/kms_cursor_legacy.c |  2 +-
>  5 files changed, 42 insertions(+), 24 deletions(-)
> 
> diff --git a/lib/igt_psr.c b/lib/igt_psr.c
> index 663bac163..1123c8d98 100644
> --- a/lib/igt_psr.c
> +++ b/lib/igt_psr.c
> @@ -37,14 +37,21 @@ bool psr_disabled_check(int debugfs_fd)
>         return strstr(buf, "PSR mode: disabled\n");
>  }
>  
> -bool psr2_selective_fetch_check(int debugfs_fd)
> +enum psr_mode selective_fetch_check(int debugfs_fd, igt_output_t
> *output)
>  {
> +       char debugfs_file[128] = {0};
>         char buf[PSR_STATUS_MAX_LEN];
>  
> -       igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status",
> buf,
> -                               sizeof(buf));
> +       if (output)
> +               sprintf(debugfs_file, "%s/i915_psr_status", output-
> >name);
> +       else
> +               sprintf(debugfs_file, "%s", "i915_edp_psr_status");
>  
> -       return strstr(buf, "PSR2 selective fetch: enabled");
> +       igt_debugfs_simple_read(debugfs_fd, debugfs_file, buf,
> +                                                       sizeof(buf));
> +
> +       return strstr(buf, "PSR2 selective fetch: enabled") ?
> PSR_MODE_2_SEL_FETCH :
> +                  strstr(buf, "Panel Replay Selective Update
> Enabled") ? PR_MODE_SEL_FETCH : PSR_DISABLED;

There is no need to change this function. "PSR2 selective fetch:
enable" is valid check for both of the cases. we will have in Panel
Replay case:

PSR mode: Panel Replay Selective Update Enabled
Source PSR/PanelReplay ctl: enabled [0xc2004a99]
Source PSR/PanelReplay status: IDLE [0x04000000]
Busy frontbuffer bits: 0x00000000
Performance counter: 0
Frame:	PSR2 SU blocks:
0	0
1	0
2	0
3	0
4	0
5	0
6	0
7	0
PSR2 selective fetch: enabled

See:

https://patchwork.freedesktop.org/patch/575163/?series=128193&rev=3

BR,

Jouni Högander

>  }
>  
>  static bool psr_active_check(int debugfs_fd, enum psr_mode mode,
> igt_output_t *output)
> @@ -246,6 +253,8 @@ bool psr_sink_support(int device, int debugfs_fd,
> enum psr_mode mode, igt_output
>                        (strstr(line, "[0x03]") || strstr(line,
> "[0x04]")));
>         case PR_MODE:
>                 return strstr(line, "Panel Replay = yes");
> +       case PR_MODE_SEL_FETCH:
> +               return strstr(line, "Panel Replay = yes, Panel Replay
> Selective Update = yes");
>         default:
>                 igt_assert_f(false, "Invalid psr mode\n");
>                 return false;
> @@ -305,7 +314,7 @@ void psr_print_debugfs(int debugfs_fd)
>         igt_info("%s", buf);
>  }
>  
> -bool i915_psr2_selective_fetch_check(int drm_fd)
> +bool i915_psr2_selective_fetch_check(int drm_fd, igt_output_t
> *output)
>  {
>         int debugfs_fd;
>         bool ret;
> @@ -314,24 +323,24 @@ bool i915_psr2_selective_fetch_check(int
> drm_fd)
>                 return false;
>  
>         debugfs_fd = igt_debugfs_dir(drm_fd);
> -       ret = psr2_selective_fetch_check(debugfs_fd);
> +       ret = selective_fetch_check(debugfs_fd, output) !=
> PSR_DISABLED;
>         close(debugfs_fd);
>  
>         return ret;
>  }
>  
> -/**
> - * i915_psr2_sel_fetch_to_psr1
> +/*
> + * i915_pr_psr2_sel_fetch_to_pr_psr1
>   *
> - * Check if PSR2 selective fetch is enabled, if yes switch to PSR1
> and returns
> + * Check if PR/PSR2 selective fetch is enabled, if yes switch to
> PR/PSR1 and returns
>   * true otherwise returns false.
> - * This function should be called from tests that are not compatible
> with PSR2
> - * selective fetch.
>   *
> + * @param drm_fd The file descriptor of the DRM device.
> + * @param output The output for which the conversion is performed.
>   * Returns:
> - * True if PSR mode changed to PSR1, false otherwise.
> + *     True if the conversion was successful, false otherwise.
>   */
> -bool i915_psr2_sel_fetch_to_psr1(int drm_fd)
> +bool i915_pr_psr2_sel_fetch_to_pr_psr1(int drm_fd, igt_output_t
> *output)
>  {
>         int debugfs_fd;
>         bool ret = false;
> @@ -340,11 +349,18 @@ bool i915_psr2_sel_fetch_to_psr1(int drm_fd)
>                 return ret;
>  
>         debugfs_fd = igt_debugfs_dir(drm_fd);
> -       if (psr2_selective_fetch_check(debugfs_fd)) {
> +       switch (selective_fetch_check(debugfs_fd, output)) {
> +       case PSR_MODE_2_SEL_FETCH:
>                 psr_set(drm_fd, debugfs_fd, PSR_MODE_1);
>                 ret = true;
> +               break;
> +       case PR_MODE_SEL_FETCH:
> +               psr_set(drm_fd, debugfs_fd, PR_MODE);
> +               ret = true;
> +               break;
> +       default:
> +               ret = false;
>         }
> -
>         close(debugfs_fd);
>         return ret;
>  }
> diff --git a/lib/igt_psr.h b/lib/igt_psr.h
> index 36711c0d4..5dc70f23e 100644
> --- a/lib/igt_psr.h
> +++ b/lib/igt_psr.h
> @@ -46,7 +46,7 @@ enum fbc_mode {
>  };
>  
>  bool psr_disabled_check(int debugfs_fd);
> -bool psr2_selective_fetch_check(int debugfs_fd);
> +enum psr_mode selective_fetch_check(int debugfs_fd, igt_output_t
> *output);
>  bool psr_wait_entry(int debugfs_fd, enum psr_mode mode, igt_output_t
> *output);
>  bool psr_wait_update(int debugfs_fd, enum psr_mode mode,
> igt_output_t *output);
>  bool psr_long_wait_update(int debugfs_fd, enum psr_mode mode,
> igt_output_t *output);
> @@ -57,9 +57,9 @@ bool psr2_wait_su(int debugfs_fd, uint16_t
> *num_su_blocks);
>  void psr_print_debugfs(int debugfs_fd);
>  enum psr_mode psr_get_mode(int debugfs_fd);
>  
> -bool i915_psr2_selective_fetch_check(int drm_fd);
> +bool i915_psr2_selective_fetch_check(int drm_fd, igt_output_t
> *output);
>  
> -bool i915_psr2_sel_fetch_to_psr1(int drm_fd);
> +bool i915_pr_psr2_sel_fetch_to_pr_psr1(int drm_fd, igt_output_t
> *output);
>  void i915_psr2_sel_fetch_restore(int drm_fd);
>  
>  #endif
> diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
> index ecf9ad77f..c826cd7c3 100644
> --- a/tests/intel/kms_psr2_sf.c
> +++ b/tests/intel/kms_psr2_sf.c
> @@ -994,6 +994,7 @@ igt_main
>         int fbc_status[] = {FBC_DISABLED, FBC_ENABLED};
>  
>         igt_fixture {
> +               bool pr_or_psr2_selective_fetch_supported = false;
>                 drmModeResPtr res;
>  
>                 data.drm_fd = drm_open_driver_master(DRIVER_INTEL |
> DRIVER_XE);
> @@ -1026,10 +1027,9 @@ igt_main
>                 igt_info("Big framebuffer size %dx%d\n",
>                          data.big_fb_width, data.big_fb_height);
>  
> -
>                igt_require_f(psr2_selective_fetch_check(data.debugfs_f
> d),
> -                             "PSR2 selective fetch not enabled\n");
> -
>                 for_each_pipe_with_valid_output(&data.display,
> data.pipe, data.output) {
> +                       pr_or_psr2_selective_fetch_supported |=
> (selective_fetch_check(data.debugfs_fd,
> +                                                                    
>                                     data.output) != PSR_DISABLED);
>                         coexist_features[n_pipes] = 0;
>                         if (check_psr2_support(&data)) {
>                                 pipes[n_pipes] = data.pipe;
> @@ -1041,6 +1041,8 @@ igt_main
>                                 n_pipes++;
>                         }
>                 }
> +               igt_require_f(pr_or_psr2_selective_fetch_supported,
> +                                         "PR/PSR2 selective fetch
> not supported\n");
>         }
>  
>         for (y = 0; y < ARRAY_SIZE(fbc_status); y++) {
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index a0349fa03..0ab8ea429 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -391,7 +391,7 @@ static void test_cursor(data_t *data)
>          * necessary, causing the async flip to fail because async
> flip is not
>          * supported in cursor plane.
>          */
> -       igt_skip_on_f(i915_psr2_selective_fetch_check(data->drm_fd),
> +       igt_skip_on_f(i915_pr_psr2_sel_fetch_to_pr_psr1(data->drm_fd,
> NULL),
>                       "PSR2 sel fetch causes cursor to be added to
> primary plane " \
>                       "pages flips and async flip is not supported in
> cursor\n");
>  
> @@ -704,7 +704,7 @@ igt_main
>                  * necessary, causing the async flip to fail because
> async flip is not
>                  * supported in cursor plane.
>                  */
> -
>                igt_skip_on_f(i915_psr2_selective_fetch_check(data.drm_
> fd),
> +               igt_skip_on_f(i915_pr_psr2_sel_fetch_to_pr_psr1(data.
> drm_fd, NULL),
>                               "PSR2 sel fetch causes cursor to be
> added to primary plane " \
>                               "pages flips and async flip is not
> supported in cursor\n");
>  
> diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
> index 0017659d4..f453e2998 100644
> --- a/tests/kms_cursor_legacy.c
> +++ b/tests/kms_cursor_legacy.c
> @@ -1849,7 +1849,7 @@ igt_main
>                  * page flip with cursor legacy APIS when Intel's
> PSR2 selective
>                  * fetch is enabled, so switching PSR1 for this whole
> test.
>                  */
> -               intel_psr2_restore =
> i915_psr2_sel_fetch_to_psr1(display.drm_fd);
> +               intel_psr2_restore =
> i915_pr_psr2_sel_fetch_to_pr_psr1(display.drm_fd, NULL);
>         }
>  
>         igt_describe("Test checks how many cursor updates we can fit
> between vblanks "


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

* Re: [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf
  2024-01-22  7:49 ` [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests " Kunal Joshi
@ 2024-02-05 12:28   ` Hogander, Jouni
  0 siblings, 0 replies; 13+ messages in thread
From: Hogander, Jouni @ 2024-02-05 12:28 UTC (permalink / raw)
  To: Joshi, Kunal1, igt-dev@lists.freedesktop.org
  Cc: Murthy, Arun R, Manna, Animesh

On Mon, 2024-01-22 at 13:19 +0530, Kunal Joshi wrote:
> v2: fixed dynamic test name

I think you should modify check_psr2_support to take into account
outputs supporting PR.

BR,

Jouni Högander

> 
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Animesh Manna <animesh.manna@intel.com>
> Cc: Arun R Murthy <arun.r.murthy@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> ---
>  tests/intel/kms_psr2_sf.c | 119 ++++++++++++++++++++++--------------
> --
>  1 file changed, 69 insertions(+), 50 deletions(-)
> 
> diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
> index c826cd7c3..29a187fc4 100644
> --- a/tests/intel/kms_psr2_sf.c
> +++ b/tests/intel/kms_psr2_sf.c
> @@ -979,6 +979,21 @@ pipe_output_combo_valid(igt_display_t *display,
>         return ret;
>  }
>  
> +static const char *get_psr_mode_for_output(data_t *data,
> igt_output_t *output)
> +{
> +       const char *psr_mode = NULL;
> +
> +       if (psr_sink_support(data->drm_fd, data->debugfs_fd,
> PR_MODE_SEL_FETCH,
> +                            output))
> +               psr_mode = "pr-";
> +       else if (psr_sink_support(data->drm_fd, data->debugfs_fd,
> PSR_MODE_2,
> +                                 output))
> +               psr_mode = "psr2-";
> +       else
> +               igt_assert_f(false, "PR/PSR2 selective fetch not
> supported\n");
> +       return psr_mode;
> +}
> +
>  igt_main
>  {
>         data_t data = {};
> @@ -1001,11 +1016,6 @@ igt_main
>                 data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
>                 kmstest_set_vt_graphics_mode();
>  
> -               igt_require_f(psr_sink_support(data.drm_fd,
> -                                              data.debugfs_fd,
> PSR_MODE_2,
> -                                              NULL),
> -                             "Sink does not support PSR2\n");
> -
>                 display_init(&data);
>  
>                 if
> ((intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 20) &&
> @@ -1013,10 +1023,6 @@ igt_main
>                         data.fbc_flag = true;
>                 }
>  
> -               /* Test if PSR2 can be enabled */
> -               igt_require_f(psr_enable(data.drm_fd,
> -                                        data.debugfs_fd,
> PSR_MODE_2_SEL_FETCH),
> -                             "Error enabling PSR2\n");
>  
>                 data.damage_area_count = MAX_DAMAGE_AREAS;
>                 data.primary_format = DRM_FORMAT_XRGB8888;
> @@ -1055,7 +1061,7 @@ igt_main
>                 /* Verify primary plane selective fetch */
>                 igt_describe("Test that selective fetch works on
> primary plane");
>                 igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-
> area", append_fbc_subtest[y],
> -                                          op_str(data.op)) {
> +                                                                 
> op_str(data.op)) {
>                         for (i = 0; i < n_pipes; i++) {
>                                 if
> (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i]))
>                                         continue;
> @@ -1063,9 +1069,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_PRIMARY;
> @@ -1096,10 +1103,11 @@ igt_main
>                                         for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                                 if (j != FEATURE_NONE
> && !(coexist_features[i] & j))
>                                                         continue;
> -                                               igt_dynamic_f("pipe-
> %s-%s%s",
> -                                                            
> kmstest_pipe_name(pipes[i]),
> -                                                            
> igt_output_name(outputs[i]),
> -                                                            
> coexist_feature_str(j)) {
> +                                               igt_dynamic_f("%spipe
> -%s-%s%s",
> +                                                                    
>      get_psr_mode_for_output(&data, outputs[i]),
> +                                                                    
>      kmstest_pipe_name(pipes[i]),
> +                                                                    
>      igt_output_name(outputs[i]),
> +                                                                    
>      coexist_feature_str(j)) {
>                                                         data.pipe =
> pipes[i];
>                                                         data.output =
> outputs[i];
>                                                         data.test_pla
> ne_id = DRM_PLANE_TYPE_PRIMARY;
> @@ -1128,9 +1136,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
> @@ -1158,9 +1167,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_CURSOR;
> @@ -1184,9 +1194,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_CURSOR;
> @@ -1211,9 +1222,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_CURSOR;
> @@ -1238,9 +1250,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_CURSOR;
> @@ -1266,9 +1279,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
> @@ -1295,9 +1309,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                         data.pipe = pipes[i];
>                                         data.output = outputs[i];
>                                         data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
> @@ -1322,9 +1337,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
> @@ -1349,9 +1365,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
> @@ -1377,9 +1394,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 for (k = 1; k <=
> MAX_DAMAGE_AREAS; k++) {
> @@ -1410,9 +1428,10 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> -                                                    
> igt_output_name(outputs[i]),
> -                                                    
> coexist_feature_str(j)) {
> +                                       igt_dynamic_f("%spipe-%s-
> %s%s", get_psr_mode_for_output(&data, outputs[i]),
> +                                                                
> kmstest_pipe_name(pipes[i]),
> +                                                                
> igt_output_name(outputs[i]),
> +                                                                
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.damage_area_coun
> t = 1;


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

* Re: [PATCH i-g-t 1/2] lib/igt_psr.c: add support for panel replay sf
  2024-02-05 12:00   ` Hogander, Jouni
@ 2024-02-07 13:49     ` Joshi, Kunal1
  0 siblings, 0 replies; 13+ messages in thread
From: Joshi, Kunal1 @ 2024-02-07 13:49 UTC (permalink / raw)
  To: Hogander, Jouni, igt-dev@lists.freedesktop.org
  Cc: Murthy, Arun R, Manna, Animesh

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

Hello Jouni,

On 2/5/2024 5:30 PM, Hogander, Jouni wrote:
> On Mon, 2024-01-22 at 13:19 +0530, Kunal Joshi wrote:
>> modify functions in igt_psr to extend support for validating
>> panel replay selective fetch.
>>
>> Cc: Jouni Högander<jouni.hogander@intel.com>
>> Cc: Animesh Manna<animesh.manna@intel.com>
>> Cc: Arun R Murthy<arun.r.murthy@intel.com>
>> Signed-off-by: Kunal Joshi<kunal1.joshi@intel.com>
>> ---
>>   lib/igt_psr.c             | 46 ++++++++++++++++++++++++++-----------
>> --
>>   lib/igt_psr.h             |  6 ++---
>>   tests/intel/kms_psr2_sf.c |  8 ++++---
>>   tests/kms_async_flips.c   |  4 ++--
>>   tests/kms_cursor_legacy.c |  2 +-
>>   5 files changed, 42 insertions(+), 24 deletions(-)
>>
>> diff --git a/lib/igt_psr.c b/lib/igt_psr.c
>> index 663bac163..1123c8d98 100644
>> --- a/lib/igt_psr.c
>> +++ b/lib/igt_psr.c
>> @@ -37,14 +37,21 @@ bool psr_disabled_check(int debugfs_fd)
>>          return strstr(buf, "PSR mode: disabled\n");
>>   }
>>   
>> -bool psr2_selective_fetch_check(int debugfs_fd)
>> +enum psr_mode selective_fetch_check(int debugfs_fd, igt_output_t
>> *output)
>>   {
>> +       char debugfs_file[128] = {0};
>>          char buf[PSR_STATUS_MAX_LEN];
>>   
>> -       igt_debugfs_simple_read(debugfs_fd, "i915_edp_psr_status",
>> buf,
>> -                               sizeof(buf));
>> +       if (output)
>> +               sprintf(debugfs_file, "%s/i915_psr_status", output-
>>> name);
>> +       else
>> +               sprintf(debugfs_file, "%s", "i915_edp_psr_status");
>>   
>> -       return strstr(buf, "PSR2 selective fetch: enabled");
>> +       igt_debugfs_simple_read(debugfs_fd, debugfs_file, buf,
>> +                                                       sizeof(buf));
>> +
>> +       return strstr(buf, "PSR2 selective fetch: enabled") ?
>> PSR_MODE_2_SEL_FETCH :
>> +                  strstr(buf, "Panel Replay Selective Update
>> Enabled") ? PR_MODE_SEL_FETCH : PSR_DISABLED;
> There is no need to change this function. "PSR2 selective fetch:
> enable" is valid check for both of the cases. we will have in Panel
> Replay case:
>
> PSR mode: Panel Replay Selective Update Enabled
> Source PSR/PanelReplay ctl: enabled [0xc2004a99]
> Source PSR/PanelReplay status: IDLE [0x04000000]
> Busy frontbuffer bits: 0x00000000
> Performance counter: 0
> Frame:	PSR2 SU blocks:
> 0	0
> 1	0
> 2	0
> 3	0
> 4	0
> 5	0
> 6	0
> 7	0
> PSR2 selective fetch: enabled
>
> See:
>
> https://patchwork.freedesktop.org/patch/575163/?series=128193&rev=3
>
> BR,
>
> Jouni Högander
Thanks for checking this out, have float new series addressing your 
review comments.
>>   }
>>   
>>   static bool psr_active_check(int debugfs_fd, enum psr_mode mode,
>> igt_output_t *output)
>> @@ -246,6 +253,8 @@ bool psr_sink_support(int device, int debugfs_fd,
>> enum psr_mode mode, igt_output
>>                         (strstr(line, "[0x03]") || strstr(line,
>> "[0x04]")));
>>          case PR_MODE:
>>                  return strstr(line, "Panel Replay = yes");
>> +       case PR_MODE_SEL_FETCH:
>> +               return strstr(line, "Panel Replay = yes, Panel Replay
>> Selective Update = yes");
>>          default:
>>                  igt_assert_f(false, "Invalid psr mode\n");
>>                  return false;
>> @@ -305,7 +314,7 @@ void psr_print_debugfs(int debugfs_fd)
>>          igt_info("%s", buf);
>>   }
>>   
>> -bool i915_psr2_selective_fetch_check(int drm_fd)
>> +bool i915_psr2_selective_fetch_check(int drm_fd, igt_output_t
>> *output)
>>   {
>>          int debugfs_fd;
>>          bool ret;
>> @@ -314,24 +323,24 @@ bool i915_psr2_selective_fetch_check(int
>> drm_fd)
>>                  return false;
>>   
>>          debugfs_fd = igt_debugfs_dir(drm_fd);
>> -       ret = psr2_selective_fetch_check(debugfs_fd);
>> +       ret = selective_fetch_check(debugfs_fd, output) !=
>> PSR_DISABLED;
>>          close(debugfs_fd);
>>   
>>          return ret;
>>   }
>>   
>> -/**
>> - * i915_psr2_sel_fetch_to_psr1
>> +/*
>> + * i915_pr_psr2_sel_fetch_to_pr_psr1
>>    *
>> - * Check if PSR2 selective fetch is enabled, if yes switch to PSR1
>> and returns
>> + * Check if PR/PSR2 selective fetch is enabled, if yes switch to
>> PR/PSR1 and returns
>>    * true otherwise returns false.
>> - * This function should be called from tests that are not compatible
>> with PSR2
>> - * selective fetch.
>>    *
>> + * @param drm_fd The file descriptor of the DRM device.
>> + * @param output The output for which the conversion is performed.
>>    * Returns:
>> - * True if PSR mode changed to PSR1, false otherwise.
>> + *     True if the conversion was successful, false otherwise.
>>    */
>> -bool i915_psr2_sel_fetch_to_psr1(int drm_fd)
>> +bool i915_pr_psr2_sel_fetch_to_pr_psr1(int drm_fd, igt_output_t
>> *output)
>>   {
>>          int debugfs_fd;
>>          bool ret = false;
>> @@ -340,11 +349,18 @@ bool i915_psr2_sel_fetch_to_psr1(int drm_fd)
>>                  return ret;
>>   
>>          debugfs_fd = igt_debugfs_dir(drm_fd);
>> -       if (psr2_selective_fetch_check(debugfs_fd)) {
>> +       switch (selective_fetch_check(debugfs_fd, output)) {
>> +       case PSR_MODE_2_SEL_FETCH:
>>                  psr_set(drm_fd, debugfs_fd, PSR_MODE_1);
>>                  ret = true;
>> +               break;
>> +       case PR_MODE_SEL_FETCH:
>> +               psr_set(drm_fd, debugfs_fd, PR_MODE);
>> +               ret = true;
>> +               break;
>> +       default:
>> +               ret = false;
>>          }
>> -
>>          close(debugfs_fd);
>>          return ret;
>>   }
>> diff --git a/lib/igt_psr.h b/lib/igt_psr.h
>> index 36711c0d4..5dc70f23e 100644
>> --- a/lib/igt_psr.h
>> +++ b/lib/igt_psr.h
>> @@ -46,7 +46,7 @@ enum fbc_mode {
>>   };
>>   
>>   bool psr_disabled_check(int debugfs_fd);
>> -bool psr2_selective_fetch_check(int debugfs_fd);
>> +enum psr_mode selective_fetch_check(int debugfs_fd, igt_output_t
>> *output);
>>   bool psr_wait_entry(int debugfs_fd, enum psr_mode mode, igt_output_t
>> *output);
>>   bool psr_wait_update(int debugfs_fd, enum psr_mode mode,
>> igt_output_t *output);
>>   bool psr_long_wait_update(int debugfs_fd, enum psr_mode mode,
>> igt_output_t *output);
>> @@ -57,9 +57,9 @@ bool psr2_wait_su(int debugfs_fd, uint16_t
>> *num_su_blocks);
>>   void psr_print_debugfs(int debugfs_fd);
>>   enum psr_mode psr_get_mode(int debugfs_fd);
>>   
>> -bool i915_psr2_selective_fetch_check(int drm_fd);
>> +bool i915_psr2_selective_fetch_check(int drm_fd, igt_output_t
>> *output);
>>   
>> -bool i915_psr2_sel_fetch_to_psr1(int drm_fd);
>> +bool i915_pr_psr2_sel_fetch_to_pr_psr1(int drm_fd, igt_output_t
>> *output);
>>   void i915_psr2_sel_fetch_restore(int drm_fd);
>>   
>>   #endif
>> diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
>> index ecf9ad77f..c826cd7c3 100644
>> --- a/tests/intel/kms_psr2_sf.c
>> +++ b/tests/intel/kms_psr2_sf.c
>> @@ -994,6 +994,7 @@ igt_main
>>          int fbc_status[] = {FBC_DISABLED, FBC_ENABLED};
>>   
>>          igt_fixture {
>> +               bool pr_or_psr2_selective_fetch_supported = false;
>>                  drmModeResPtr res;
>>   
>>                  data.drm_fd = drm_open_driver_master(DRIVER_INTEL |
>> DRIVER_XE);
>> @@ -1026,10 +1027,9 @@ igt_main
>>                  igt_info("Big framebuffer size %dx%d\n",
>>                           data.big_fb_width, data.big_fb_height);
>>   
>> -
>>                 igt_require_f(psr2_selective_fetch_check(data.debugfs_f
>> d),
>> -                             "PSR2 selective fetch not enabled\n");
>> -
>>                  for_each_pipe_with_valid_output(&data.display,
>> data.pipe, data.output) {
>> +                       pr_or_psr2_selective_fetch_supported |=
>> (selective_fetch_check(data.debugfs_fd,
>> +
>>                                      data.output) != PSR_DISABLED);
>>                          coexist_features[n_pipes] = 0;
>>                          if (check_psr2_support(&data)) {
>>                                  pipes[n_pipes] = data.pipe;
>> @@ -1041,6 +1041,8 @@ igt_main
>>                                  n_pipes++;
>>                          }
>>                  }
>> +               igt_require_f(pr_or_psr2_selective_fetch_supported,
>> +                                         "PR/PSR2 selective fetch
>> not supported\n");
>>          }
>>   
>>          for (y = 0; y < ARRAY_SIZE(fbc_status); y++) {
>> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
>> index a0349fa03..0ab8ea429 100644
>> --- a/tests/kms_async_flips.c
>> +++ b/tests/kms_async_flips.c
>> @@ -391,7 +391,7 @@ static void test_cursor(data_t *data)
>>           * necessary, causing the async flip to fail because async
>> flip is not
>>           * supported in cursor plane.
>>           */
>> -       igt_skip_on_f(i915_psr2_selective_fetch_check(data->drm_fd),
>> +       igt_skip_on_f(i915_pr_psr2_sel_fetch_to_pr_psr1(data->drm_fd,
>> NULL),
>>                        "PSR2 sel fetch causes cursor to be added to
>> primary plane " \
>>                        "pages flips and async flip is not supported in
>> cursor\n");
>>   
>> @@ -704,7 +704,7 @@ igt_main
>>                   * necessary, causing the async flip to fail because
>> async flip is not
>>                   * supported in cursor plane.
>>                   */
>> -
>>                 igt_skip_on_f(i915_psr2_selective_fetch_check(data.drm_
>> fd),
>> +               igt_skip_on_f(i915_pr_psr2_sel_fetch_to_pr_psr1(data.
>> drm_fd, NULL),
>>                                "PSR2 sel fetch causes cursor to be
>> added to primary plane " \
>>                                "pages flips and async flip is not
>> supported in cursor\n");
>>   
>> diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
>> index 0017659d4..f453e2998 100644
>> --- a/tests/kms_cursor_legacy.c
>> +++ b/tests/kms_cursor_legacy.c
>> @@ -1849,7 +1849,7 @@ igt_main
>>                   * page flip with cursor legacy APIS when Intel's
>> PSR2 selective
>>                   * fetch is enabled, so switching PSR1 for this whole
>> test.
>>                   */
>> -               intel_psr2_restore =
>> i915_psr2_sel_fetch_to_psr1(display.drm_fd);
>> +               intel_psr2_restore =
>> i915_pr_psr2_sel_fetch_to_pr_psr1(display.drm_fd, NULL);
>>          }
>>   
>>          igt_describe("Test checks how many cursor updates we can fit
>> between vblanks "
Regards
Kunal Joshi

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

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

* [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf
  2024-02-08 14:54 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
@ 2024-02-08 14:54 ` Kunal Joshi
  2024-02-16  8:25   ` Hogander, Jouni
  0 siblings, 1 reply; 13+ messages in thread
From: Kunal Joshi @ 2024-02-08 14:54 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi, Jouni Högander, Animesh Manna, Arun R Murthy

Extend the tests to cover panel replay selective fetch feature.

From kms_psr2_sf test point of view we have check_pr_psr2_sel_fetch_support
function to check if PR/PSR2 selective fetch is supported for an output
if output supports selective fetch then we check we enter DEEP_SLEEP mode
in run function

v2: fixed dynamic test name
v3: use check_psr2_support (Jouni)
v4: correct order of checks in check_pr_psr2_sel_fetch_support (Jouni)
    use appropriate psr mode in psr_wait_entry (Jouni)

Cc: Jouni Högander <jouni.hogander@intel.com>
Cc: Animesh Manna <animesh.manna@intel.com>
Cc: Arun R Murthy <arun.r.murthy@intel.com>
Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/intel/kms_psr2_sf.c | 147 +++++++++++++++++++++++++++++++-------
 1 file changed, 120 insertions(+), 27 deletions(-)

diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
index 8e6a9e02c..0595c1f11 100644
--- a/tests/intel/kms_psr2_sf.c
+++ b/tests/intel/kms_psr2_sf.c
@@ -172,6 +172,7 @@ typedef struct {
 	uint32_t screen_changes;
 	int cur_x, cur_y;
 	enum pipe pipe;
+	enum psr_mode psr_mode;
 	enum {
 		FEATURE_NONE  = 0,
 		FEATURE_DSC   = 1,
@@ -179,6 +180,34 @@ typedef struct {
 	} coexist_feature;
 } data_t;
 
+static enum psr_mode get_sel_fetch_mode_for_output(data_t *data, igt_output_t *output)
+{
+	enum psr_mode mode = PSR_DISABLED;
+
+	if (psr_sink_support(data->drm_fd, data->debugfs_fd,
+						 PR_MODE_SEL_FETCH, output))
+		mode = PR_MODE_SEL_FETCH;
+	else if (psr_sink_support(data->drm_fd, data->debugfs_fd,
+							  PSR_MODE_2, output))
+		mode = PSR_MODE_2;
+	else
+		igt_info("selective fetch not supported on output %s\n", output->name);
+
+	return mode;
+}
+
+static const char *get_psr_mode_str_for_output(data_t *data, igt_output_t *output)
+{
+	const char *psr_mode = NULL;
+
+	if (get_sel_fetch_mode_for_output(data, output) == PR_MODE_SEL_FETCH)
+		psr_mode = "pr-";
+	else if (get_sel_fetch_mode_for_output(data, output) == PSR_MODE_2)
+		psr_mode = "psr2-";
+	igt_assert_f(psr_mode, "Invalid psr mode\n");
+	return psr_mode;
+}
+
 static const char *op_str(enum operations op)
 {
 	static const char * const name[] = {
@@ -688,7 +717,7 @@ static void damaged_plane_move(data_t *data)
 
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
-	igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL));
+	igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode, data->output));
 
 	expected_output(data);
 }
@@ -788,7 +817,7 @@ static void plane_move_continuous(data_t *data)
 {
 	int target_x, target_y;
 
-	igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL));
+	igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode, data->output));
 
 	get_target_coords(data, &target_x, &target_y);
 
@@ -865,7 +894,7 @@ static void damaged_plane_update(data_t *data)
 	igt_plane_set_position(data->test_plane, 0, 0);
 	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
-	igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL));
+	igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode, data->output));
 
 	expected_output(data);
 }
@@ -874,7 +903,7 @@ static void run(data_t *data)
 {
 	int i;
 
-	igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL));
+	igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode, data->output));
 
 	if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED)
 		igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd,
@@ -952,14 +981,24 @@ static void cleanup(data_t *data)
 	igt_remove_fb(data->drm_fd, &data->fb_test);
 }
 
-static int check_psr2_support(data_t *data)
+static bool check_pr_psr2_sel_fetch_support(data_t *data)
 {
-	int status;
+	bool status = false;
+	enum psr_mode psr_mode;
+
+	/* Check sink supports PR/PSR2 selective fetch */
+	psr_mode = get_sel_fetch_mode_for_output(data, data->output);
+	if (psr_mode == PSR_DISABLED)
+		return false;
+
+	/* Check if selective fetch can be enabled */
+	if (!selective_fetch_check(data->debugfs_fd, data->output))
+		igt_assert("Selective fetch is not enabled even though panel should support it\n");
 
 	prepare(data);
-	status = psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL);
+	/* We enter into DEEP_SLEEP for both PSR2 and PR sel fetch */
+	status = psr_wait_entry(data->debugfs_fd, psr_mode, data->output);
 	cleanup(data);
-
 	return status;
 }
 
@@ -981,6 +1020,8 @@ pipe_output_combo_valid(igt_display_t *display,
 
 igt_main
 {
+	bool output_supports_pr_psr2_sel_fetch = false;
+	bool pr_psr2_sel_fetch_supported = false;
 	data_t data = {};
 	igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES];
 	int i, j, k, y;
@@ -1000,11 +1041,6 @@ igt_main
 		data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
 		kmstest_set_vt_graphics_mode();
 
-		igt_require_f(psr_sink_support(data.drm_fd,
-					       data.debugfs_fd, PSR_MODE_2,
-					       NULL),
-			      "Sink does not support PSR2\n");
-
 		display_init(&data);
 
 		if ((intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 20) &&
@@ -1023,7 +1059,8 @@ igt_main
 
 		for_each_pipe_with_valid_output(&data.display, data.pipe, data.output) {
 			coexist_features[n_pipes] = 0;
-			if (check_psr2_support(&data)) {
+			output_supports_pr_psr2_sel_fetch = check_pr_psr2_sel_fetch_support(&data);
+			if (output_supports_pr_psr2_sel_fetch) {
 				pipes[n_pipes] = data.pipe;
 				outputs[n_pipes] = data.output;
 
@@ -1032,7 +1069,10 @@ igt_main
 
 				n_pipes++;
 			}
+			pr_psr2_sel_fetch_supported |= output_supports_pr_psr2_sel_fetch;
 		}
+		igt_require_f(pr_psr2_sel_fetch_supported,
+					  "No output supports selective fetch\n");
 	}
 
 	for (y = 0; y < ARRAY_SIZE(fbc_status); y++) {
@@ -1053,13 +1093,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_PRIMARY;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						for (k = 1; k <= MAX_DAMAGE_AREAS; k++) {
 							data.damage_area_count = k;
 							prepare(&data);
@@ -1086,7 +1130,8 @@ igt_main
 					for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 						if (j != FEATURE_NONE && !(coexist_features[i] & j))
 							continue;
-						igt_dynamic_f("pipe-%s-%s%s",
+						igt_dynamic_f("%s-pipe-%s-%s%s",
+								  get_psr_mode_str_for_output(&data, outputs[i]),
 							      kmstest_pipe_name(pipes[i]),
 							      igt_output_name(outputs[i]),
 							      coexist_feature_str(j)) {
@@ -1094,6 +1139,9 @@ igt_main
 							data.output = outputs[i];
 							data.test_plane_id = DRM_PLANE_TYPE_PRIMARY;
 							data.coexist_feature = j;
+							data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+							igt_assert_f(data.psr_mode != PSR_DISABLED,
+										 "Invalid psr mode\n");
 							for (k = 1; k <= MAX_DAMAGE_AREAS; k++) {
 								data.damage_area_count = k;
 								prepare(&data);
@@ -1118,13 +1166,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						for (k = 1; k <= MAX_DAMAGE_AREAS; k++) {
 							data.damage_area_count = k;
 							prepare(&data);
@@ -1148,13 +1200,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						prepare(&data);
 						run(&data);
 						cleanup(&data);
@@ -1174,13 +1230,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						prepare(&data);
 						run(&data);
 						cleanup(&data);
@@ -1201,13 +1261,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						prepare(&data);
 						run(&data);
 						cleanup(&data);
@@ -1228,13 +1292,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_CURSOR;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						prepare(&data);
 						run(&data);
 						cleanup(&data);
@@ -1256,13 +1324,18 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s",
+							  get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) {
 							data.pos = k;
 							prepare(&data);
@@ -1285,13 +1358,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 					data.pipe = pipes[i];
 					data.output = outputs[i];
 					data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
 					data.coexist_feature = j;
+					data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+					igt_assert_f(data.psr_mode != PSR_DISABLED,
+								 "Invalid psr mode\n");
 					prepare(&data);
 					run(&data);
 					cleanup(&data);
@@ -1312,13 +1389,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						prepare(&data);
 						run(&data);
 						cleanup(&data);
@@ -1339,13 +1420,17 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
 						data.output = outputs[i];
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						prepare(&data);
 						run(&data);
 						cleanup(&data);
@@ -1367,7 +1452,8 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+							  get_psr_mode_str_for_output(&data, outputs[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
@@ -1376,6 +1462,9 @@ igt_main
 							data.damage_area_count = k;
 							data.test_plane_id = DRM_PLANE_TYPE_PRIMARY;
 							data.coexist_feature = j;
+							data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+							igt_assert_f(data.psr_mode != PSR_DISABLED,
+										 "Invalid psr mode\n");
 							prepare(&data);
 							run(&data);
 							cleanup(&data);
@@ -1400,7 +1489,8 @@ igt_main
 				for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) {
 					if (j != FEATURE_NONE && !(coexist_features[i] & j))
 						continue;
-					igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]),
+					igt_dynamic_f("%s-pipe-%s-%s%s", get_psr_mode_str_for_output(&data, outputs[i]),
+							  kmstest_pipe_name(pipes[i]),
 						      igt_output_name(outputs[i]),
 						      coexist_feature_str(j)) {
 						data.pipe = pipes[i];
@@ -1412,6 +1502,9 @@ igt_main
 							data.primary_format = DRM_FORMAT_NV12;
 						data.test_plane_id = DRM_PLANE_TYPE_OVERLAY;
 						data.coexist_feature = j;
+						data.psr_mode = get_sel_fetch_mode_for_output(&data, data.output);
+						igt_assert_f(data.psr_mode != PSR_DISABLED,
+									 "Invalid psr mode\n");
 						prepare(&data);
 						run(&data);
 						cleanup(&data);
-- 
2.25.1


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

* Re: [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf
  2024-02-08 14:54 ` [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf Kunal Joshi
@ 2024-02-16  8:25   ` Hogander, Jouni
  2024-02-19  5:25     ` Joshi, Kunal1
  0 siblings, 1 reply; 13+ messages in thread
From: Hogander, Jouni @ 2024-02-16  8:25 UTC (permalink / raw)
  To: Joshi, Kunal1, igt-dev@lists.freedesktop.org
  Cc: Murthy, Arun R, Manna, Animesh

On Thu, 2024-02-08 at 20:24 +0530, Kunal Joshi wrote:
> Extend the tests to cover panel replay selective fetch feature.
> 
> From kms_psr2_sf test point of view we have
> check_pr_psr2_sel_fetch_support
> function to check if PR/PSR2 selective fetch is supported for an
> output
> if output supports selective fetch then we check we enter DEEP_SLEEP
> mode
> in run function
> 
> v2: fixed dynamic test name
> v3: use check_psr2_support (Jouni)
> v4: correct order of checks in check_pr_psr2_sel_fetch_support
> (Jouni)
>     use appropriate psr mode in psr_wait_entry (Jouni)
> 
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Cc: Animesh Manna <animesh.manna@intel.com>
> Cc: Arun R Murthy <arun.r.murthy@intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
> ---
>  tests/intel/kms_psr2_sf.c | 147 +++++++++++++++++++++++++++++++-----
> --
>  1 file changed, 120 insertions(+), 27 deletions(-)
> 
> diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
> index 8e6a9e02c..0595c1f11 100644
> --- a/tests/intel/kms_psr2_sf.c
> +++ b/tests/intel/kms_psr2_sf.c
> @@ -172,6 +172,7 @@ typedef struct {
>         uint32_t screen_changes;
>         int cur_x, cur_y;
>         enum pipe pipe;
> +       enum psr_mode psr_mode;
>         enum {
>                 FEATURE_NONE  = 0,
>                 FEATURE_DSC   = 1,
> @@ -179,6 +180,34 @@ typedef struct {
>         } coexist_feature;
>  } data_t;
>  
> +static enum psr_mode get_sel_fetch_mode_for_output(data_t *data,
> igt_output_t *output)
> +{
> +       enum psr_mode mode = PSR_DISABLED;
> +
> +       if (psr_sink_support(data->drm_fd, data->debugfs_fd,
> +                                                PR_MODE_SEL_FETCH,
> output))
> +               mode = PR_MODE_SEL_FETCH;
> +       else if (psr_sink_support(data->drm_fd, data->debugfs_fd,
> +                                                         PSR_MODE_2,
> output))
> +               mode = PSR_MODE_2;
> +       else
> +               igt_info("selective fetch not supported on output
> %s\n", output->name);
> +
> +       return mode;
> +}
> +
> +static const char *get_psr_mode_str_for_output(data_t *data,
> igt_output_t *output)
> +{
> +       const char *psr_mode = NULL;

If you are doing it this way this variable should be static. I'm not
sure if renaming these testcases to pr-* and psr2-* gives any benefit.
I'll guess it is ok, if you want to do that change.

> +
> +       if (get_sel_fetch_mode_for_output(data, output) ==
> PR_MODE_SEL_FETCH)
> +               psr_mode = "pr-";
> +       else if (get_sel_fetch_mode_for_output(data, output) ==
> PSR_MODE_2)
> +               psr_mode = "psr2-";
> +       igt_assert_f(psr_mode, "Invalid psr mode\n");
> +       return psr_mode;
> +}
> +
>  static const char *op_str(enum operations op)
>  {
>         static const char * const name[] = {
> @@ -688,7 +717,7 @@ static void damaged_plane_move(data_t *data)
>  
>         igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  
> -       igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2,
> NULL));
> +       igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode,
> data->output));

Not really matter of this patch. I think at some point you need one
more patch to differentiate in psr_wait_entry (psr_active_check) based
on output type eDP vs. DP. See Bspec 68920 "Additional programming
considerations (registers common between eDP and DP)".

BR,

Jouni Högander

>  
>         expected_output(data);
>  }
> @@ -788,7 +817,7 @@ static void plane_move_continuous(data_t *data)
>  {
>         int target_x, target_y;
>  
> -       igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2,
> NULL));
> +       igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode,
> data->output));
>  
>         get_target_coords(data, &target_x, &target_y);
>  
> @@ -865,7 +894,7 @@ static void damaged_plane_update(data_t *data)
>         igt_plane_set_position(data->test_plane, 0, 0);
>         igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  
> -       igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2,
> NULL));
> +       igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode,
> data->output));
>  
>         expected_output(data);
>  }
> @@ -874,7 +903,7 @@ static void run(data_t *data)
>  {
>         int i;
>  
> -       igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2,
> NULL));
> +       igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode,
> data->output));
>  
>         if (data->fbc_flag == true && data->op_fbc_mode ==
> FBC_ENABLED)
>                 igt_assert_f(intel_fbc_wait_until_enabled(data-
> >drm_fd,
> @@ -952,14 +981,24 @@ static void cleanup(data_t *data)
>         igt_remove_fb(data->drm_fd, &data->fb_test);
>  }
>  
> -static int check_psr2_support(data_t *data)
> +static bool check_pr_psr2_sel_fetch_support(data_t *data)
>  {
> -       int status;
> +       bool status = false;
> +       enum psr_mode psr_mode;
> +
> +       /* Check sink supports PR/PSR2 selective fetch */
> +       psr_mode = get_sel_fetch_mode_for_output(data, data->output);
> +       if (psr_mode == PSR_DISABLED)
> +               return false;
> +
> +       /* Check if selective fetch can be enabled */
> +       if (!selective_fetch_check(data->debugfs_fd, data->output))
> +               igt_assert("Selective fetch is not enabled even
> though panel should support it\n");
>  
>         prepare(data);
> -       status = psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL);
> +       /* We enter into DEEP_SLEEP for both PSR2 and PR sel fetch */
> +       status = psr_wait_entry(data->debugfs_fd, psr_mode, data-
> >output);
>         cleanup(data);
> -
>         return status;
>  }
>  
> @@ -981,6 +1020,8 @@ pipe_output_combo_valid(igt_display_t *display,
>  
>  igt_main
>  {
> +       bool output_supports_pr_psr2_sel_fetch = false;
> +       bool pr_psr2_sel_fetch_supported = false;
>         data_t data = {};
>         igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES];
>         int i, j, k, y;
> @@ -1000,11 +1041,6 @@ igt_main
>                 data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
>                 kmstest_set_vt_graphics_mode();
>  
> -               igt_require_f(psr_sink_support(data.drm_fd,
> -                                              data.debugfs_fd,
> PSR_MODE_2,
> -                                              NULL),
> -                             "Sink does not support PSR2\n");
> -
>                 display_init(&data);
>  
>                 if
> ((intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 20) &&
> @@ -1023,7 +1059,8 @@ igt_main
>  
>                 for_each_pipe_with_valid_output(&data.display,
> data.pipe, data.output) {
>                         coexist_features[n_pipes] = 0;
> -                       if (check_psr2_support(&data)) {
> +                       output_supports_pr_psr2_sel_fetch =
> check_pr_psr2_sel_fetch_support(&data);
> +                       if (output_supports_pr_psr2_sel_fetch) {
>                                 pipes[n_pipes] = data.pipe;
>                                 outputs[n_pipes] = data.output;
>  
> @@ -1032,7 +1069,10 @@ igt_main
>  
>                                 n_pipes++;
>                         }
> +                       pr_psr2_sel_fetch_supported |=
> output_supports_pr_psr2_sel_fetch;
>                 }
> +               igt_require_f(pr_psr2_sel_fetch_supported,
> +                                         "No output supports
> selective fetch\n");
>         }
>  
>         for (y = 0; y < ARRAY_SIZE(fbc_status); y++) {
> @@ -1053,13 +1093,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_PRIMARY;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 for (k = 1; k <=
> MAX_DAMAGE_AREAS; k++) {
>                                                         data.damage_a
> rea_count = k;
>                                                         prepare(&data
> );
> @@ -1086,7 +1130,8 @@ igt_main
>                                         for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                                 if (j != FEATURE_NONE
> && !(coexist_features[i] & j))
>                                                         continue;
> -                                               igt_dynamic_f("pipe-
> %s-%s%s",
> +                                               igt_dynamic_f("%s-
> pipe-%s-%s%s",
> +                                                                
> get_psr_mode_str_for_output(&data, outputs[i]),
>                                                              
> kmstest_pipe_name(pipes[i]),
>                                                              
> igt_output_name(outputs[i]),
>                                                              
> coexist_feature_str(j)) {
> @@ -1094,6 +1139,9 @@ igt_main
>                                                         data.output =
> outputs[i];
>                                                         data.test_pla
> ne_id = DRM_PLANE_TYPE_PRIMARY;
>                                                         data.coexist_
> feature = j;
> +                                                       data.psr_mode
> = get_sel_fetch_mode_for_output(&data, data.output);
> +                                                       igt_assert_f(
> data.psr_mode != PSR_DISABLED,
> +                                                                    
>             "Invalid psr mode\n");
>                                                         for (k = 1; k
> <= MAX_DAMAGE_AREAS; k++) {
>                                                                 data.
> damage_area_count = k;
>                                                                 prepa
> re(&data);
> @@ -1118,13 +1166,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 for (k = 1; k <=
> MAX_DAMAGE_AREAS; k++) {
>                                                         data.damage_a
> rea_count = k;
>                                                         prepare(&data
> );
> @@ -1148,13 +1200,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_CURSOR;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 prepare(&data);
>                                                 run(&data);
>                                                 cleanup(&data);
> @@ -1174,13 +1230,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_CURSOR;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 prepare(&data);
>                                                 run(&data);
>                                                 cleanup(&data);
> @@ -1201,13 +1261,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_CURSOR;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 prepare(&data);
>                                                 run(&data);
>                                                 cleanup(&data);
> @@ -1228,13 +1292,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_CURSOR;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 prepare(&data);
>                                                 run(&data);
>                                                 cleanup(&data);
> @@ -1256,13 +1324,18 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s",
> +                                                        
> get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 for (k =
> POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) {
>                                                         data.pos = k;
>                                                         prepare(&data
> );
> @@ -1285,13 +1358,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                         data.pipe = pipes[i];
>                                         data.output = outputs[i];
>                                         data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
>                                         data.coexist_feature = j;
> +                                       data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                       igt_assert_f(data.psr_mode !=
> PSR_DISABLED,
> +                                                               
> "Invalid psr mode\n");
>                                         prepare(&data);
>                                         run(&data);
>                                         cleanup(&data);
> @@ -1312,13 +1389,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 prepare(&data);
>                                                 run(&data);
>                                                 cleanup(&data);
> @@ -1339,13 +1420,17 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
>                                                 data.output =
> outputs[i];
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 prepare(&data);
>                                                 run(&data);
>                                                 cleanup(&data);
> @@ -1367,7 +1452,8 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", kmstest_pipe_name(pipes[i]),
> +                                                        
> get_psr_mode_str_for_output(&data, outputs[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
> @@ -1376,6 +1462,9 @@ igt_main
>                                                         data.damage_a
> rea_count = k;
>                                                         data.test_pla
> ne_id = DRM_PLANE_TYPE_PRIMARY;
>                                                         data.coexist_
> feature = j;
> +                                                       data.psr_mode
> = get_sel_fetch_mode_for_output(&data, data.output);
> +                                                       igt_assert_f(
> data.psr_mode != PSR_DISABLED,
> +                                                                    
>             "Invalid psr mode\n");
>                                                         prepare(&data
> );
>                                                         run(&data);
>                                                         cleanup(&data
> );
> @@ -1400,7 +1489,8 @@ igt_main
>                                 for (j = FEATURE_NONE; j <
> FEATURE_COUNT; j++) {
>                                         if (j != FEATURE_NONE &&
> !(coexist_features[i] & j))
>                                                 continue;
> -                                       igt_dynamic_f("pipe-%s-%s%s",
> kmstest_pipe_name(pipes[i]),
> +                                       igt_dynamic_f("%s-pipe-%s-
> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
> +                                                        
> kmstest_pipe_name(pipes[i]),
>                                                      
> igt_output_name(outputs[i]),
>                                                      
> coexist_feature_str(j)) {
>                                                 data.pipe = pipes[i];
> @@ -1412,6 +1502,9 @@ igt_main
>                                                         data.primary_
> format = DRM_FORMAT_NV12;
>                                                 data.test_plane_id =
> DRM_PLANE_TYPE_OVERLAY;
>                                                 data.coexist_feature
> = j;
> +                                               data.psr_mode =
> get_sel_fetch_mode_for_output(&data, data.output);
> +                                               igt_assert_f(data.psr
> _mode != PSR_DISABLED,
> +                                                                    
>     "Invalid psr mode\n");
>                                                 prepare(&data);
>                                                 run(&data);
>                                                 cleanup(&data);


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

* Re: [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf
  2024-02-16  8:25   ` Hogander, Jouni
@ 2024-02-19  5:25     ` Joshi, Kunal1
  0 siblings, 0 replies; 13+ messages in thread
From: Joshi, Kunal1 @ 2024-02-19  5:25 UTC (permalink / raw)
  To: Hogander, Jouni, igt-dev@lists.freedesktop.org
  Cc: Murthy, Arun R, Manna, Animesh

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

Hello Jouni,

On 2/16/2024 1:55 PM, Hogander, Jouni wrote:
> On Thu, 2024-02-08 at 20:24 +0530, Kunal Joshi wrote:
>> Extend the tests to cover panel replay selective fetch feature.
>>
>>  From kms_psr2_sf test point of view we have
>> check_pr_psr2_sel_fetch_support
>> function to check if PR/PSR2 selective fetch is supported for an
>> output
>> if output supports selective fetch then we check we enter DEEP_SLEEP
>> mode
>> in run function
>>
>> v2: fixed dynamic test name
>> v3: use check_psr2_support (Jouni)
>> v4: correct order of checks in check_pr_psr2_sel_fetch_support
>> (Jouni)
>>      use appropriate psr mode in psr_wait_entry (Jouni)
>>
>> Cc: Jouni Högander<jouni.hogander@intel.com>
>> Cc: Animesh Manna<animesh.manna@intel.com>
>> Cc: Arun R Murthy<arun.r.murthy@intel.com>
>> Signed-off-by: Kunal Joshi<kunal1.joshi@intel.com>
>> ---
>>   tests/intel/kms_psr2_sf.c | 147 +++++++++++++++++++++++++++++++-----
>> --
>>   1 file changed, 120 insertions(+), 27 deletions(-)
>>
>> diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c
>> index 8e6a9e02c..0595c1f11 100644
>> --- a/tests/intel/kms_psr2_sf.c
>> +++ b/tests/intel/kms_psr2_sf.c
>> @@ -172,6 +172,7 @@ typedef struct {
>>          uint32_t screen_changes;
>>          int cur_x, cur_y;
>>          enum pipe pipe;
>> +       enum psr_mode psr_mode;
>>          enum {
>>                  FEATURE_NONE  = 0,
>>                  FEATURE_DSC   = 1,
>> @@ -179,6 +180,34 @@ typedef struct {
>>          } coexist_feature;
>>   } data_t;
>>   
>> +static enum psr_mode get_sel_fetch_mode_for_output(data_t *data,
>> igt_output_t *output)
>> +{
>> +       enum psr_mode mode = PSR_DISABLED;
>> +
>> +       if (psr_sink_support(data->drm_fd, data->debugfs_fd,
>> +                                                PR_MODE_SEL_FETCH,
>> output))
>> +               mode = PR_MODE_SEL_FETCH;
>> +       else if (psr_sink_support(data->drm_fd, data->debugfs_fd,
>> +                                                         PSR_MODE_2,
>> output))
>> +               mode = PSR_MODE_2;
>> +       else
>> +               igt_info("selective fetch not supported on output
>> %s\n", output->name);
>> +
>> +       return mode;
>> +}
>> +
>> +static const char *get_psr_mode_str_for_output(data_t *data,
>> igt_output_t *output)
>> +{
>> +       const char *psr_mode = NULL;
> If you are doing it this way this variable should be static. I'm not
> sure if renaming these testcases to pr-* and psr2-* gives any benefit.
> I'll guess it is ok, if you want to do that change.

Have addressed your comment in the next revision, kept the naming just 
to know
test executed on PR or PSR panel.

>
>> +
>> +       if (get_sel_fetch_mode_for_output(data, output) ==
>> PR_MODE_SEL_FETCH)
>> +               psr_mode = "pr-";
>> +       else if (get_sel_fetch_mode_for_output(data, output) ==
>> PSR_MODE_2)
>> +               psr_mode = "psr2-";
>> +       igt_assert_f(psr_mode, "Invalid psr mode\n");
>> +       return psr_mode;
>> +}
>> +
>>   static const char *op_str(enum operations op)
>>   {
>>          static const char * const name[] = {
>> @@ -688,7 +717,7 @@ static void damaged_plane_move(data_t *data)
>>   
>>          igt_display_commit2(&data->display, COMMIT_ATOMIC);
>>   
>> -       igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2,
>> NULL));
>> +       igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode,
>> data->output));
> Not really matter of this patch. I think at some point you need one
> more patch to differentiate in psr_wait_entry (psr_active_check) based
> on output type eDP vs. DP. See Bspec 68920 "Additional programming
> considerations (registers common between eDP and DP)".
>
Sure will send this changes as separate later.
>
> BR,
>
> Jouni Högander
>
>>   
>>          expected_output(data);
>>   }
>> @@ -788,7 +817,7 @@ static void plane_move_continuous(data_t *data)
>>   {
>>          int target_x, target_y;
>>   
>> -       igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2,
>> NULL));
>> +       igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode,
>> data->output));
>>   
>>          get_target_coords(data, &target_x, &target_y);
>>   
>> @@ -865,7 +894,7 @@ static void damaged_plane_update(data_t *data)
>>          igt_plane_set_position(data->test_plane, 0, 0);
>>          igt_display_commit2(&data->display, COMMIT_ATOMIC);
>>   
>> -       igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2,
>> NULL));
>> +       igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode,
>> data->output));
>>   
>>          expected_output(data);
>>   }
>> @@ -874,7 +903,7 @@ static void run(data_t *data)
>>   {
>>          int i;
>>   
>> -       igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2,
>> NULL));
>> +       igt_assert(psr_wait_entry(data->debugfs_fd, data->psr_mode,
>> data->output));
>>   
>>          if (data->fbc_flag == true && data->op_fbc_mode ==
>> FBC_ENABLED)
>>                  igt_assert_f(intel_fbc_wait_until_enabled(data-
>>> drm_fd,
>> @@ -952,14 +981,24 @@ static void cleanup(data_t *data)
>>          igt_remove_fb(data->drm_fd, &data->fb_test);
>>   }
>>   
>> -static int check_psr2_support(data_t *data)
>> +static bool check_pr_psr2_sel_fetch_support(data_t *data)
>>   {
>> -       int status;
>> +       bool status = false;
>> +       enum psr_mode psr_mode;
>> +
>> +       /* Check sink supports PR/PSR2 selective fetch */
>> +       psr_mode = get_sel_fetch_mode_for_output(data, data->output);
>> +       if (psr_mode == PSR_DISABLED)
>> +               return false;
>> +
>> +       /* Check if selective fetch can be enabled */
>> +       if (!selective_fetch_check(data->debugfs_fd, data->output))
>> +               igt_assert("Selective fetch is not enabled even
>> though panel should support it\n");
>>   
>>          prepare(data);
>> -       status = psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL);
>> +       /* We enter into DEEP_SLEEP for both PSR2 and PR sel fetch */
>> +       status = psr_wait_entry(data->debugfs_fd, psr_mode, data-
>>> output);
>>          cleanup(data);
>> -
>>          return status;
>>   }
>>   
>> @@ -981,6 +1020,8 @@ pipe_output_combo_valid(igt_display_t *display,
>>   
>>   igt_main
>>   {
>> +       bool output_supports_pr_psr2_sel_fetch = false;
>> +       bool pr_psr2_sel_fetch_supported = false;
>>          data_t data = {};
>>          igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES];
>>          int i, j, k, y;
>> @@ -1000,11 +1041,6 @@ igt_main
>>                  data.debugfs_fd = igt_debugfs_dir(data.drm_fd);
>>                  kmstest_set_vt_graphics_mode();
>>   
>> -               igt_require_f(psr_sink_support(data.drm_fd,
>> -                                              data.debugfs_fd,
>> PSR_MODE_2,
>> -                                              NULL),
>> -                             "Sink does not support PSR2\n");
>> -
>>                  display_init(&data);
>>   
>>                  if
>> ((intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 20) &&
>> @@ -1023,7 +1059,8 @@ igt_main
>>   
>>                  for_each_pipe_with_valid_output(&data.display,
>> data.pipe, data.output) {
>>                          coexist_features[n_pipes] = 0;
>> -                       if (check_psr2_support(&data)) {
>> +                       output_supports_pr_psr2_sel_fetch =
>> check_pr_psr2_sel_fetch_support(&data);
>> +                       if (output_supports_pr_psr2_sel_fetch) {
>>                                  pipes[n_pipes] = data.pipe;
>>                                  outputs[n_pipes] = data.output;
>>   
>> @@ -1032,7 +1069,10 @@ igt_main
>>   
>>                                  n_pipes++;
>>                          }
>> +                       pr_psr2_sel_fetch_supported |=
>> output_supports_pr_psr2_sel_fetch;
>>                  }
>> +               igt_require_f(pr_psr2_sel_fetch_supported,
>> +                                         "No output supports
>> selective fetch\n");
>>          }
>>   
>>          for (y = 0; y < ARRAY_SIZE(fbc_status); y++) {
>> @@ -1053,13 +1093,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_PRIMARY;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  for (k = 1; k <=
>> MAX_DAMAGE_AREAS; k++) {
>>                                                          data.damage_a
>> rea_count = k;
>>                                                          prepare(&data
>> );
>> @@ -1086,7 +1130,8 @@ igt_main
>>                                          for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                                  if (j != FEATURE_NONE
>> && !(coexist_features[i] & j))
>>                                                          continue;
>> -                                               igt_dynamic_f("pipe-
>> %s-%s%s",
>> +                                               igt_dynamic_f("%s-
>> pipe-%s-%s%s",
>> +
>> get_psr_mode_str_for_output(&data, outputs[i]),
>>                                                               
>> kmstest_pipe_name(pipes[i]),
>>                                                               
>> igt_output_name(outputs[i]),
>>                                                               
>> coexist_feature_str(j)) {
>> @@ -1094,6 +1139,9 @@ igt_main
>>                                                          data.output =
>> outputs[i];
>>                                                          data.test_pla
>> ne_id = DRM_PLANE_TYPE_PRIMARY;
>>                                                          data.coexist_
>> feature = j;
>> +                                                       data.psr_mode
>> = get_sel_fetch_mode_for_output(&data, data.output);
>> +                                                       igt_assert_f(
>> data.psr_mode != PSR_DISABLED,
>> +
>>              "Invalid psr mode\n");
>>                                                          for (k = 1; k
>> <= MAX_DAMAGE_AREAS; k++) {
>>                                                                  data.
>> damage_area_count = k;
>>                                                                  prepa
>> re(&data);
>> @@ -1118,13 +1166,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_OVERLAY;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  for (k = 1; k <=
>> MAX_DAMAGE_AREAS; k++) {
>>                                                          data.damage_a
>> rea_count = k;
>>                                                          prepare(&data
>> );
>> @@ -1148,13 +1200,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_CURSOR;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  prepare(&data);
>>                                                  run(&data);
>>                                                  cleanup(&data);
>> @@ -1174,13 +1230,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_CURSOR;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  prepare(&data);
>>                                                  run(&data);
>>                                                  cleanup(&data);
>> @@ -1201,13 +1261,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_CURSOR;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  prepare(&data);
>>                                                  run(&data);
>>                                                  cleanup(&data);
>> @@ -1228,13 +1292,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_CURSOR;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  prepare(&data);
>>                                                  run(&data);
>>                                                  cleanup(&data);
>> @@ -1256,13 +1324,18 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s",
>> +
>> get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_OVERLAY;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  for (k =
>> POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) {
>>                                                          data.pos = k;
>>                                                          prepare(&data
>> );
>> @@ -1285,13 +1358,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                          data.pipe = pipes[i];
>>                                          data.output = outputs[i];
>>                                          data.test_plane_id =
>> DRM_PLANE_TYPE_OVERLAY;
>>                                          data.coexist_feature = j;
>> +                                       data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                       igt_assert_f(data.psr_mode !=
>> PSR_DISABLED,
>> +
>> "Invalid psr mode\n");
>>                                          prepare(&data);
>>                                          run(&data);
>>                                          cleanup(&data);
>> @@ -1312,13 +1389,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_OVERLAY;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  prepare(&data);
>>                                                  run(&data);
>>                                                  cleanup(&data);
>> @@ -1339,13 +1420,17 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>>                                                  data.output =
>> outputs[i];
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_OVERLAY;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  prepare(&data);
>>                                                  run(&data);
>>                                                  cleanup(&data);
>> @@ -1367,7 +1452,8 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", kmstest_pipe_name(pipes[i]),
>> +
>> get_psr_mode_str_for_output(&data, outputs[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>> @@ -1376,6 +1462,9 @@ igt_main
>>                                                          data.damage_a
>> rea_count = k;
>>                                                          data.test_pla
>> ne_id = DRM_PLANE_TYPE_PRIMARY;
>>                                                          data.coexist_
>> feature = j;
>> +                                                       data.psr_mode
>> = get_sel_fetch_mode_for_output(&data, data.output);
>> +                                                       igt_assert_f(
>> data.psr_mode != PSR_DISABLED,
>> +
>>              "Invalid psr mode\n");
>>                                                          prepare(&data
>> );
>>                                                          run(&data);
>>                                                          cleanup(&data
>> );
>> @@ -1400,7 +1489,8 @@ igt_main
>>                                  for (j = FEATURE_NONE; j <
>> FEATURE_COUNT; j++) {
>>                                          if (j != FEATURE_NONE &&
>> !(coexist_features[i] & j))
>>                                                  continue;
>> -                                       igt_dynamic_f("pipe-%s-%s%s",
>> kmstest_pipe_name(pipes[i]),
>> +                                       igt_dynamic_f("%s-pipe-%s-
>> %s%s", get_psr_mode_str_for_output(&data, outputs[i]),
>> +
>> kmstest_pipe_name(pipes[i]),
>>                                                       
>> igt_output_name(outputs[i]),
>>                                                       
>> coexist_feature_str(j)) {
>>                                                  data.pipe = pipes[i];
>> @@ -1412,6 +1502,9 @@ igt_main
>>                                                          data.primary_
>> format = DRM_FORMAT_NV12;
>>                                                  data.test_plane_id =
>> DRM_PLANE_TYPE_OVERLAY;
>>                                                  data.coexist_feature
>> = j;
>> +                                               data.psr_mode =
>> get_sel_fetch_mode_for_output(&data, data.output);
>> +                                               igt_assert_f(data.psr
>> _mode != PSR_DISABLED,
>> +
>>      "Invalid psr mode\n");
>>                                                  prepare(&data);
>>                                                  run(&data);
>>                                                  cleanup(&data);

Regards
Kunal Joshi

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

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

end of thread, other threads:[~2024-02-19  5:25 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-22  7:49 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
2024-01-22  7:49 ` [PATCH i-g-t 1/2] lib/igt_psr.c: add support for panel replay sf Kunal Joshi
2024-02-05 12:00   ` Hogander, Jouni
2024-02-07 13:49     ` Joshi, Kunal1
2024-01-22  7:49 ` [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests " Kunal Joshi
2024-02-05 12:28   ` Hogander, Jouni
2024-01-22  8:39 ` ✓ CI.xeBAT: success for extend psr2_sf test for pr_sf (rev2) Patchwork
2024-01-22  8:50 ` ✓ Fi.CI.BAT: " Patchwork
2024-01-22 10:36 ` ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-02-08 14:54 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
2024-02-08 14:54 ` [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf Kunal Joshi
2024-02-16  8:25   ` Hogander, Jouni
2024-02-19  5:25     ` Joshi, Kunal1
2024-01-21 12:57 [PATCH i-g-t 0/2] extend psr2_sf test for pr_sf Kunal Joshi
2024-01-21 12:57 ` [PATCH i-g-t 2/2] tests/intel/kms_psr2_sf: extend tests for panel replay sf Kunal Joshi

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