Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 00/10] Implement Wa_14026539277
@ 2026-07-21 18:59 Gustavo Sousa
  2026-07-21 18:59 ` [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa Gustavo Sousa
                   ` (13 more replies)
  0 siblings, 14 replies; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 18:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

Wa_14026539277 requires handling from both KMD and userspace (which
includes IGT).  Do the required changes in IGT for Wa_14026539277.

Since we need to check for Wa_14026539277 as early as during IGT's
xe_device initialization (i.e. xe_device_get()), some preparatory
steps are required before the changes specific to the workaround.

So this series does that preliminary work with the initial set of
patches and then adds the workaround implementation as the final
patch.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
Gustavo Sousa (10):
      lib/xe: Move lib/intel_wa to lib/xe/xe_wa
      lib/xe: Use stricter line-equality check when checking for workarounds
      lib/xe: Gather workarounds debugfs dumps
      lib/xe: Cache workaround information in xe_device
      lib/xe: Return boolean from xe_wa()
      tests/intel/xe_pat: Adapt pat_entry_is_wb() to Xe3p
      lib/xe: Add xe_wa_from_cache()
      lib/intel_pat: Encapsulate management of xe_device's pat_cache
      lib/intel_pat: Pass xe_device to xe_get_pat_config()
      intel: Implement Wa_14026539277

 lib/intel_pat.c      |  43 +++++++++++--
 lib/intel_pat.h      |   5 ++
 lib/intel_wa.c       |  66 --------------------
 lib/intel_wa.h       |  11 ----
 lib/meson.build      |   2 +-
 lib/xe/xe_query.c    |  15 ++---
 lib/xe/xe_query.h    |  13 ++--
 lib/xe/xe_wa.c       | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/xe/xe_wa.h       |  19 ++++++
 tests/intel/xe_oa.c  |   4 +-
 tests/intel/xe_pat.c |  35 ++++++++---
 11 files changed, 278 insertions(+), 105 deletions(-)
---
base-commit: c35e1277421fed4160fe04067703843b9aa8878c
change-id: 20260714-wa_14026539277-c79e97449287

Best regards,
--  
Gustavo Sousa <gustavo.sousa@intel.com>


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

* [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
@ 2026-07-21 18:59 ` Gustavo Sousa
  2026-07-29 21:04   ` Matt Roper
  2026-07-21 18:59 ` [PATCH i-g-t 02/10] lib/xe: Use stricter line-equality check when checking for workarounds Gustavo Sousa
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 18:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

The functionality provided by intel_wa is specific devices managed by
the xe driver, so move that module to belong to the lib/xe folder.

While at it, change the function signature to match the adopted
standard for lib/xe (used xe_query.h as example).

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/intel_wa.h                 | 11 -----------
 lib/meson.build                |  2 +-
 lib/{intel_wa.c => xe/xe_wa.c} | 21 +++++++++++----------
 lib/xe/xe_wa.h                 | 11 +++++++++++
 tests/intel/xe_oa.c            |  4 ++--
 5 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/lib/intel_wa.h b/lib/intel_wa.h
deleted file mode 100644
index 765a5948ef88..000000000000
--- a/lib/intel_wa.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2025 Intel Corporation
- */
-
-#ifndef __INTEL_WA_H__
-#define __INTEL_WA_H__
-
-int igt_has_intel_wa(int drm_fd, const char *check_wa);
-
-#endif /* __INTEL_WA_H__ */
diff --git a/lib/meson.build b/lib/meson.build
index 8db9fffdecec..b31936d6c3fd 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -93,7 +93,6 @@ lib_sources = [
 	'intel_aux_pgtable.c',
 	'intel_reg_map.c',
 	'intel_iosf.c',
-        'intel_wa.c',
 	'igt_kms.c',
 	'igt_fb.c',
 	'igt_core.c',
@@ -135,6 +134,7 @@ lib_sources = [
 	'xe/xe_sriov_debugfs.c',
 	'xe/xe_sriov_provisioning.c',
 	'xe/xe_util.c',
+	'xe/xe_wa.c',
 
 	# Vendored libraries:
 	'vendor/uwildmat/uwildmat.c',
diff --git a/lib/intel_wa.c b/lib/xe/xe_wa.c
similarity index 66%
rename from lib/intel_wa.c
rename to lib/xe/xe_wa.c
index 727dd6c988df..ff5daf529831 100644
--- a/lib/intel_wa.c
+++ b/lib/xe/xe_wa.c
@@ -9,7 +9,8 @@
 
 #include "igt_debugfs.h"
 #include "igt_sysfs.h"
-#include "intel_wa.h"
+
+#include "xe/xe_wa.h"
 #include "xe/xe_query.h"
 
 static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
@@ -34,32 +35,32 @@ static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
 }
 
 /**
- * igt_has_intel_wa:
- * @drm_fd:	A drm file descriptor
- * @check_wa:	Workaround to be checked
+ * xe_wa: Check if a workaround is enabled for the device.
+ * @fd: A drm file descriptor.
+ * @wa: Name of the workaround to be checked.
  *
- * Returns:	0 if no WA, 1 if WA present, -1 on error
+ * Returns 1 if enabled, 0 if disabled, -1 on error.
  */
-int igt_has_intel_wa(int drm_fd, const char *check_wa)
+int xe_wa(int fd, const char *wa)
 {
 	int ret = 0;
 	int debugfs_fd;
 	unsigned int xe;
 	char name[256];
 
-	debugfs_fd = igt_debugfs_dir(drm_fd);
+	debugfs_fd = igt_debugfs_dir(fd);
 	if (debugfs_fd == -1)
 		return -1;
 
-	xe_for_each_gt(drm_fd, xe) {
+	xe_for_each_gt(fd, xe) {
 		sprintf(name, "gt%d/workarounds", xe);
-		ret = debugfs_file_has_wa(drm_fd, debugfs_fd, name, check_wa);
+		ret = debugfs_file_has_wa(fd, debugfs_fd, name, wa);
 		if (ret)
 			break;
 	}
 
 	if (!ret)
-		ret = debugfs_file_has_wa(drm_fd, debugfs_fd, "workarounds", check_wa);
+		ret = debugfs_file_has_wa(fd, debugfs_fd, "workarounds", wa);
 
 	close(debugfs_fd);
 	return ret;
diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
new file mode 100644
index 000000000000..4ff897196545
--- /dev/null
+++ b/lib/xe/xe_wa.h
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef XE_WA_H
+#define XE_WA_H
+
+int xe_wa(int fd, const char *wa);
+
+#endif /* XE_WA_H */
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index 68c7537d3888..fcf1d71a167f 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -24,10 +24,10 @@
 #include "igt_device.h"
 #include "igt_syncobj.h"
 #include "igt_sysfs.h"
-#include "intel_wa.h"
 #include "xe/xe_ioctl.h"
 #include "xe/xe_query.h"
 #include "xe/xe_oa.h"
+#include "xe/xe_wa.h"
 
 /**
  * TEST: perf
@@ -2678,7 +2678,7 @@ test_non_zero_reason(const struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
 	 * can result in buffer overflows.
 	 */
 	if (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_MERT &&
-		igt_has_intel_wa(drm_fd, "14026633728") > 0) {
+	    xe_wa(drm_fd, "14026633728") > 0) {
 		oa_exponent = max(oa_exponent, 8);
 		properties[9] = oa_exponent;
 	}

-- 
2.55.0


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

* [PATCH i-g-t 02/10] lib/xe: Use stricter line-equality check when checking for workarounds
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
  2026-07-21 18:59 ` [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa Gustavo Sousa
@ 2026-07-21 18:59 ` Gustavo Sousa
  2026-07-29 21:23   ` Matt Roper
  2026-07-21 18:59 ` [PATCH i-g-t 03/10] lib/xe: Gather workarounds debugfs dumps Gustavo Sousa
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 18:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

Currently debugfs_file_has_wa() uses strstr() to check if a workaround
name is present in the debugfs dump.  Using strstr() would match the
workaround name anywhere in the dump buffer and with that we risk
producing unexpected results if the checked workaround name happens to
be a substring of another workaround present in the dump.

Fix that by making sure we match the workaround name with the full
line from the dump.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/xe/xe_wa.c | 39 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
index ff5daf529831..d44431e7e61f 100644
--- a/lib/xe/xe_wa.c
+++ b/lib/xe/xe_wa.c
@@ -13,6 +13,43 @@
 #include "xe/xe_wa.h"
 #include "xe/xe_query.h"
 
+static bool debugfs_dump_has_wa(char *dump, const char *wa)
+{
+	char *a = dump;
+
+	while (*a) {
+		const char *b = wa;
+
+		/*
+		 * Each workaround name is indented by one tab
+		 * character; unindented lines are used as "section
+		 * names" identifying the type of workarounds that
+		 * follow (e.g. "GT Workarounds", "Engine Workarounds"
+		 * etc).
+		 */
+		if (*a++ != '\t')
+			goto next_line;
+
+		while (*a == *b && !(*a == '\0' || *a == '\n' || *b == '\0')) {
+			a++;
+			b++;
+		}
+
+		if ((*a == '\0' || *a == '\n') && *b == '\0')
+			return true;
+
+	next_line:
+		/* No match for this line, advance to the next one. */
+		while (*a != '\n' && *a != '\0')
+			a++;
+
+		if (*a == '\n')
+			a++;
+	}
+
+	return false;
+}
+
 static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
 			       const char *debugfs_name, const char *wa)
 {
@@ -23,7 +60,7 @@ static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
 
 	debugfs_dump = igt_sysfs_get(debugfs_fd, debugfs_name);
 	if (debugfs_dump) {
-		char *has_wa = strstr(debugfs_dump, wa);
+		bool has_wa = debugfs_dump_has_wa(debugfs_dump, wa);
 
 		free(debugfs_dump);
 

-- 
2.55.0


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

* [PATCH i-g-t 03/10] lib/xe: Gather workarounds debugfs dumps
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
  2026-07-21 18:59 ` [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa Gustavo Sousa
  2026-07-21 18:59 ` [PATCH i-g-t 02/10] lib/xe: Use stricter line-equality check when checking for workarounds Gustavo Sousa
@ 2026-07-21 18:59 ` Gustavo Sousa
  2026-07-29 21:39   ` Matt Roper
  2026-07-21 18:59 ` [PATCH i-g-t 04/10] lib/xe: Cache workaround information in xe_device Gustavo Sousa
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 18:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

In an upcoming change, we will cache workaround information in struct
xe_device.  As a preparation for that, add the logic to gather the
dumps of workaround debugfs files into a single array, which will be
used as the cached information in the future.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/xe/xe_wa.c | 92 ++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 58 insertions(+), 34 deletions(-)

diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
index d44431e7e61f..e4e1b0bb7972 100644
--- a/lib/xe/xe_wa.c
+++ b/lib/xe/xe_wa.c
@@ -7,12 +7,65 @@
 #include <stdint.h>
 #include <stdio.h>
 
+#include "igt_core.h"
 #include "igt_debugfs.h"
 #include "igt_sysfs.h"
 
 #include "xe/xe_wa.h"
 #include "xe/xe_query.h"
 
+static void free_wa_debugfs_dumps(char **dumps)
+{
+	for (char **dump = dumps; *dump; dump++)
+		free(*dump);
+
+	free(dumps);
+}
+
+static char **get_wa_debugfs_dumps(int fd)
+{
+	char **dumps;
+	int gt;
+	int debugfs_fd;
+	int count = 1; /* Device workarounds */
+
+	xe_for_each_gt(fd, gt)
+		count++;
+
+	dumps = calloc(count + 1, sizeof(*dumps));
+	if (!dumps)
+		return NULL;
+
+	debugfs_fd = igt_debugfs_dir(fd);
+	if (debugfs_fd == -1)
+		goto err;
+
+	count = 0;
+
+	if (!(dumps[count++] = igt_sysfs_get(debugfs_fd, "workarounds")))
+		goto err;
+
+	xe_for_each_gt(fd, gt) {
+		char name[32];
+
+		snprintf(name, sizeof(name), "gt%d/workarounds", gt);
+
+		if (!(dumps[count++] = igt_sysfs_get(debugfs_fd, name)))
+			goto err;
+	}
+
+	goto out;
+
+err:
+	free_wa_debugfs_dumps(dumps);
+	dumps = NULL;
+
+out:
+	close(debugfs_fd);
+
+	return dumps;
+}
+
 static bool debugfs_dump_has_wa(char *dump, const char *wa)
 {
 	char *a = dump;
@@ -50,27 +103,6 @@ static bool debugfs_dump_has_wa(char *dump, const char *wa)
 	return false;
 }
 
-static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
-			       const char *debugfs_name, const char *wa)
-{
-	char *debugfs_dump;
-
-	if (!igt_debugfs_exists(drm_fd, debugfs_name, O_RDONLY))
-		return -1;
-
-	debugfs_dump = igt_sysfs_get(debugfs_fd, debugfs_name);
-	if (debugfs_dump) {
-		bool has_wa = debugfs_dump_has_wa(debugfs_dump, wa);
-
-		free(debugfs_dump);
-
-		if (has_wa)
-			return 1;
-	}
-
-	return 0;
-}
-
 /**
  * xe_wa: Check if a workaround is enabled for the device.
  * @fd: A drm file descriptor.
@@ -80,25 +112,17 @@ static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
  */
 int xe_wa(int fd, const char *wa)
 {
+	char **dumps = get_wa_debugfs_dumps(fd);
 	int ret = 0;
-	int debugfs_fd;
-	unsigned int xe;
-	char name[256];
 
-	debugfs_fd = igt_debugfs_dir(fd);
-	if (debugfs_fd == -1)
+	if (igt_warn_on(!dumps))
 		return -1;
 
-	xe_for_each_gt(fd, xe) {
-		sprintf(name, "gt%d/workarounds", xe);
-		ret = debugfs_file_has_wa(fd, debugfs_fd, name, wa);
-		if (ret)
+	for (char **dump = dumps; *dump; dump++)
+		if ((ret = debugfs_dump_has_wa(*dump, wa)))
 			break;
-	}
 
-	if (!ret)
-		ret = debugfs_file_has_wa(fd, debugfs_fd, "workarounds", wa);
+	free_wa_debugfs_dumps(dumps);
 
-	close(debugfs_fd);
 	return ret;
 }

-- 
2.55.0


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

* [PATCH i-g-t 04/10] lib/xe: Cache workaround information in xe_device
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (2 preceding siblings ...)
  2026-07-21 18:59 ` [PATCH i-g-t 03/10] lib/xe: Gather workarounds debugfs dumps Gustavo Sousa
@ 2026-07-21 18:59 ` Gustavo Sousa
  2026-07-29 21:58   ` Matt Roper
  2026-07-21 18:59 ` [PATCH i-g-t 05/10] lib/xe: Return boolean from xe_wa() Gustavo Sousa
                   ` (9 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 18:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

One existing inconvenience with xe_wa() is that it needs to dump from
debugfs every time it is called.  A more concerning issue is that the
dump will fail if xe_wa() is called from a context without the
required privileges.

We currently have only one user of xe_wa(), but shortly we will have
another user that will need to check for a certain workaround in a
non-root user context (in test cases that use igt_drop_root()).

Let's resolve those issues by ensuring that xe_device_get() caches the
workaround information.  Tests that need to check for workarounds in
underprivileged context will need to make sure to call xe_device_get()
before dropping privileges.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/xe/xe_query.c |  6 ++++++
 lib/xe/xe_query.h |  9 +++++++--
 lib/xe/xe_wa.c    | 37 ++++++++++++++++++++++++++++---------
 lib/xe/xe_wa.h    |  5 +++++
 4 files changed, 46 insertions(+), 11 deletions(-)

diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
index 68e60ddc75a2..ea095b207534 100644
--- a/lib/xe/xe_query.c
+++ b/lib/xe/xe_query.c
@@ -28,6 +28,7 @@
 
 #include "xe_query.h"
 #include "xe_ioctl.h"
+#include "xe_wa.h"
 
 /**
  * xe_query_device_may_fail:
@@ -377,6 +378,9 @@ static void xe_device_free(struct xe_device *xe_dev)
 	free(xe_dev->vram_size);
 	free(xe_dev->eu_stall);
 	free(xe_dev->pat_cache);
+
+	xe_wa_free_cache(xe_dev);
+
 	free(xe_dev);
 }
 
@@ -441,6 +445,8 @@ struct xe_device *xe_device_get(int fd)
 	xe_dev->default_alignment = __mem_default_alignment(xe_dev->mem_regions);
 	xe_dev->has_vram = __mem_has_vram(xe_dev->mem_regions);
 
+	xe_wa_build_cache(xe_dev);
+
 	/*
 	 * Populate the PAT cache while we still have sufficient privileges
 	 * to read debugfs.  Forked children that inherit this xe_device
diff --git a/lib/xe/xe_query.h b/lib/xe/xe_query.h
index 59330d80fd1b..f70476945dee 100644
--- a/lib/xe/xe_query.h
+++ b/lib/xe/xe_query.h
@@ -80,6 +80,9 @@ struct xe_device {
 	/** @pat_cache: cached PAT index configuration, NULL if not yet populated */
 	struct intel_pat_cache *pat_cache;
 
+	/** @wa_cache: cached data for xe_wa() and related functions. */
+	void *wa_cache;
+
 	/**
 	 * @multi_lrc_mask: bitmask of engine classes supporting multi-LRC.
 	 * UINT16_MAX if not available (older kernel).
@@ -99,10 +102,12 @@ struct xe_device {
 #define xe_for_each_engine_class(__class) \
 	for (__class = 0; __class < DRM_XE_ENGINE_CLASS_COMPUTE + 1; \
 	     ++__class)
-#define xe_for_each_gt(__fd, __gt) \
-	for (uint64_t igt_unique(__mask) = xe_device_get(__fd)->gt_mask; \
+#define xe_for_each_gt_from_mask(__gt_mask, __gt) \
+	for (uint64_t igt_unique(__mask) = __gt_mask; \
 	     __gt = ffsll(igt_unique(__mask)) - 1, igt_unique(__mask) != 0; \
 	     igt_unique(__mask) &= ~(1ull << __gt))
+#define xe_for_each_gt(__fd, __gt) \
+	xe_for_each_gt_from_mask(xe_device_get(__fd)->gt_mask, __gt)
 #define xe_for_each_tile(__fd, __tile) \
 	for (uint64_t igt_unique(__mask) = xe_device_get(__fd)->tile_mask; \
 	     __tile = ffsll(igt_unique(__mask)) - 1, igt_unique(__mask) != 0; \
diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
index e4e1b0bb7972..0f4d2edc0795 100644
--- a/lib/xe/xe_wa.c
+++ b/lib/xe/xe_wa.c
@@ -22,14 +22,14 @@ static void free_wa_debugfs_dumps(char **dumps)
 	free(dumps);
 }
 
-static char **get_wa_debugfs_dumps(int fd)
+static char **get_wa_debugfs_dumps(int fd, uint64_t gt_mask)
 {
 	char **dumps;
 	int gt;
 	int debugfs_fd;
 	int count = 1; /* Device workarounds */
 
-	xe_for_each_gt(fd, gt)
+	xe_for_each_gt_from_mask(gt_mask, gt)
 		count++;
 
 	dumps = calloc(count + 1, sizeof(*dumps));
@@ -45,7 +45,7 @@ static char **get_wa_debugfs_dumps(int fd)
 	if (!(dumps[count++] = igt_sysfs_get(debugfs_fd, "workarounds")))
 		goto err;
 
-	xe_for_each_gt(fd, gt) {
+	xe_for_each_gt_from_mask(gt_mask, gt) {
 		char name[32];
 
 		snprintf(name, sizeof(name), "gt%d/workarounds", gt);
@@ -112,17 +112,36 @@ static bool debugfs_dump_has_wa(char *dump, const char *wa)
  */
 int xe_wa(int fd, const char *wa)
 {
-	char **dumps = get_wa_debugfs_dumps(fd);
-	int ret = 0;
+	char **dumps = xe_device_get(fd)->wa_cache;
 
 	if (igt_warn_on(!dumps))
 		return -1;
 
 	for (char **dump = dumps; *dump; dump++)
-		if ((ret = debugfs_dump_has_wa(*dump, wa)))
-			break;
+		if (debugfs_dump_has_wa(*dump, wa))
+			return 1;
 
-	free_wa_debugfs_dumps(dumps);
+	return 0;
+}
+
+/**
+ * xe_wa_build_cache: Build cached data for xe_wa().
+ * @xe_dev: Xe device where the cache will be stashed.
+ */
+void xe_wa_build_cache(struct xe_device *xe_dev)
+{
+	xe_dev->wa_cache = get_wa_debugfs_dumps(xe_dev->fd, xe_dev->gt_mask);
+}
+
+/**
+ * xe_wa_free_cache: Free cached data that was built with xe_wa_build_cache().
+ * @xe_dev: Xe device where the cached data is stashed.
+ */
+void xe_wa_free_cache(struct xe_device *xe_dev)
+{
+	if (!xe_dev->wa_cache)
+		return;
 
-	return ret;
+	free_wa_debugfs_dumps(xe_dev->wa_cache);
+	xe_dev->wa_cache = NULL;
 }
diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
index 4ff897196545..f0a826553df8 100644
--- a/lib/xe/xe_wa.h
+++ b/lib/xe/xe_wa.h
@@ -6,6 +6,11 @@
 #ifndef XE_WA_H
 #define XE_WA_H
 
+struct xe_device;
+
 int xe_wa(int fd, const char *wa);
 
+void xe_wa_build_cache(struct xe_device *xe_dev);
+void xe_wa_free_cache(struct xe_device *xe_dev);
+
 #endif /* XE_WA_H */

-- 
2.55.0


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

* [PATCH i-g-t 05/10] lib/xe: Return boolean from xe_wa()
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (3 preceding siblings ...)
  2026-07-21 18:59 ` [PATCH i-g-t 04/10] lib/xe: Cache workaround information in xe_device Gustavo Sousa
@ 2026-07-21 18:59 ` Gustavo Sousa
  2026-07-29 22:14   ` Matt Roper
  2026-07-21 18:59 ` [PATCH i-g-t 06/10] tests/intel/xe_pat: Adapt pat_entry_is_wb() to Xe3p Gustavo Sousa
                   ` (8 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 18:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

The function xe_wa() will cause a warning to be printed when an error
condition is found.  Since the current users of xe_wa() do not check
for errors, let's just convert the function to return a boolean.

Checking for xe_wa(...) instead of xe_wa(...) > 0 feels more natural.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/xe/xe_wa.c      | 11 ++++++-----
 lib/xe/xe_wa.h      |  4 +++-
 tests/intel/xe_oa.c |  2 +-
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
index 0f4d2edc0795..8c8f7156c21f 100644
--- a/lib/xe/xe_wa.c
+++ b/lib/xe/xe_wa.c
@@ -108,20 +108,21 @@ static bool debugfs_dump_has_wa(char *dump, const char *wa)
  * @fd: A drm file descriptor.
  * @wa: Name of the workaround to be checked.
  *
- * Returns 1 if enabled, 0 if disabled, -1 on error.
+ * Return a boolean indicating whether the workaround is enabled.
+ * On error, returns false and a warning is printed.
  */
-int xe_wa(int fd, const char *wa)
+bool xe_wa(int fd, const char *wa)
 {
 	char **dumps = xe_device_get(fd)->wa_cache;
 
 	if (igt_warn_on(!dumps))
-		return -1;
+		return false;
 
 	for (char **dump = dumps; *dump; dump++)
 		if (debugfs_dump_has_wa(*dump, wa))
-			return 1;
+			return true;
 
-	return 0;
+	return false;
 }
 
 /**
diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
index f0a826553df8..aa1c50c0f9c9 100644
--- a/lib/xe/xe_wa.h
+++ b/lib/xe/xe_wa.h
@@ -6,9 +6,11 @@
 #ifndef XE_WA_H
 #define XE_WA_H
 
+#include <stdbool.h>
+
 struct xe_device;
 
-int xe_wa(int fd, const char *wa);
+bool xe_wa(int fd, const char *wa);
 
 void xe_wa_build_cache(struct xe_device *xe_dev);
 void xe_wa_free_cache(struct xe_device *xe_dev);
diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
index fcf1d71a167f..bdaa7141004b 100644
--- a/tests/intel/xe_oa.c
+++ b/tests/intel/xe_oa.c
@@ -2678,7 +2678,7 @@ test_non_zero_reason(const struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
 	 * can result in buffer overflows.
 	 */
 	if (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_MERT &&
-	    xe_wa(drm_fd, "14026633728") > 0) {
+	    xe_wa(drm_fd, "14026633728")) {
 		oa_exponent = max(oa_exponent, 8);
 		properties[9] = oa_exponent;
 	}

-- 
2.55.0


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

* [PATCH i-g-t 06/10] tests/intel/xe_pat: Adapt pat_entry_is_wb() to Xe3p
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (4 preceding siblings ...)
  2026-07-21 18:59 ` [PATCH i-g-t 05/10] lib/xe: Return boolean from xe_wa() Gustavo Sousa
@ 2026-07-21 18:59 ` Gustavo Sousa
  2026-07-29 22:16   ` Matt Roper
  2026-07-21 19:00 ` [PATCH i-g-t 07/10] lib/xe: Add xe_wa_from_cache() Gustavo Sousa
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 18:59 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

Xe3p introduces a new device-cache policy called XA, which has the
longer name "WB Transient App".

Even though commit 4e59b8e7779b ("lib/intel_pat: use kernel debugfs as
authoritative PAT source for Xe") already gives a clue that XA is a
"write-back" cache policy type, pat_entry_is_wb() doesn't really
incorporate that information.  Add the necessary logic to
pat_entry_is_wb() so that it also considers XA starting with Xe3p.

Bspec: 71582
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 tests/intel/xe_pat.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tests/intel/xe_pat.c b/tests/intel/xe_pat.c
index 9dd4ffb69d11..bb2975b545e6 100644
--- a/tests/intel/xe_pat.c
+++ b/tests/intel/xe_pat.c
@@ -142,6 +142,13 @@ static bool pat_entry_is_uc(unsigned int gfx_ver, uint32_t pat)
 
 static bool pat_entry_is_wb(unsigned int gfx_ver, uint32_t pat)
 {
+	if (gfx_ver >= IP_VER(35, 0)) {
+		uint32_t l3 = REG_FIELD_GET(XE2_L3_POLICY, pat);
+
+		return l3 == L3_CACHE_POLICY_WB || l3 == L3_CACHE_POLICY_XD ||
+		       l3 == L3_CACHE_POLICY_XA;
+	}
+
 	if (gfx_ver >= IP_VER(20, 0)) {
 		uint32_t l3 = REG_FIELD_GET(XE2_L3_POLICY, pat);
 

-- 
2.55.0


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

* [PATCH i-g-t 07/10] lib/xe: Add xe_wa_from_cache()
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (5 preceding siblings ...)
  2026-07-21 18:59 ` [PATCH i-g-t 06/10] tests/intel/xe_pat: Adapt pat_entry_is_wb() to Xe3p Gustavo Sousa
@ 2026-07-21 19:00 ` Gustavo Sousa
  2026-07-29 22:20   ` Matt Roper
  2026-07-21 19:00 ` [PATCH i-g-t 08/10] lib/intel_pat: Encapsulate management of xe_device's pat_cache Gustavo Sousa
                   ` (6 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 19:00 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

An upcoming change will need to check if a workaround is enabled
during the creation of the xe_device struct, i.e., during the
execution of xe_device_get().  It is not possible to call xe_wa() in
that context because the struct is not yet cached and xe_wa() calling
xe_device_get() will cause an infinite recursion.

Add the function xe_wa_from_cache() to allow checking for workarounds
in that specific scenario and make a note in the function's
documentation about its purpose.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/xe/xe_wa.c | 34 ++++++++++++++++++++++++++++------
 lib/xe/xe_wa.h |  1 +
 2 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
index 8c8f7156c21f..ac3dcf6ef1c1 100644
--- a/lib/xe/xe_wa.c
+++ b/lib/xe/xe_wa.c
@@ -105,19 +105,28 @@ static bool debugfs_dump_has_wa(char *dump, const char *wa)
 
 /**
  * xe_wa: Check if a workaround is enabled for the device.
- * @fd: A drm file descriptor.
+ * @xe_dev: Xe device where the cached data is stashed.
  * @wa: Name of the workaround to be checked.
  *
- * Return a boolean indicating whether the workaround is enabled.
- * On error, returns false and a warning is printed.
+ * This function is like xe_wa(), but it receives the "incomplete"
+ * (see next paragraph) xe_device struct directly instead of a drm
+ * file descriptor.
+ *
+ * This function is only expected to be used in specific paths during
+ * the initialization of a xe_device struct (i.e. during execution of
+ * xe_device_get()), where the workaround cache is ready
+ * (i.e. xe_wa_build_cache()), but the xe_device struct is not yet
+ * fully built and cached (which is a requirement for xe_wa()).
  */
-bool xe_wa(int fd, const char *wa)
+bool xe_wa_from_cache(struct xe_device *xe_dev, const char *wa)
 {
-	char **dumps = xe_device_get(fd)->wa_cache;
+	char **dumps;
 
-	if (igt_warn_on(!dumps))
+	if (igt_warn_on(!xe_dev->wa_cache))
 		return false;
 
+	dumps = xe_dev->wa_cache;
+
 	for (char **dump = dumps; *dump; dump++)
 		if (debugfs_dump_has_wa(*dump, wa))
 			return true;
@@ -125,6 +134,19 @@ bool xe_wa(int fd, const char *wa)
 	return false;
 }
 
+/**
+ * xe_wa: Check if a workaround is enabled for the device.
+ * @fd: A drm file descriptor.
+ * @wa: Name of the workaround to be checked.
+ *
+ * Return a boolean indicating whether the workaround is enabled.
+ * On error, returns false and a warning is printed.
+ */
+bool xe_wa(int fd, const char *wa)
+{
+	return xe_wa_from_cache(xe_device_get(fd), wa);
+}
+
 /**
  * xe_wa_build_cache: Build cached data for xe_wa().
  * @xe_dev: Xe device where the cache will be stashed.
diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
index aa1c50c0f9c9..2f141ae15016 100644
--- a/lib/xe/xe_wa.h
+++ b/lib/xe/xe_wa.h
@@ -14,5 +14,6 @@ bool xe_wa(int fd, const char *wa);
 
 void xe_wa_build_cache(struct xe_device *xe_dev);
 void xe_wa_free_cache(struct xe_device *xe_dev);
+bool xe_wa_from_cache(struct xe_device *xe_dev, const char *wa);
 
 #endif /* XE_WA_H */

-- 
2.55.0


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

* [PATCH i-g-t 08/10] lib/intel_pat: Encapsulate management of xe_device's pat_cache
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (6 preceding siblings ...)
  2026-07-21 19:00 ` [PATCH i-g-t 07/10] lib/xe: Add xe_wa_from_cache() Gustavo Sousa
@ 2026-07-21 19:00 ` Gustavo Sousa
  2026-07-29 22:35   ` Matt Roper
  2026-07-21 19:00 ` [PATCH i-g-t 09/10] lib/intel_pat: Pass xe_device to xe_get_pat_config() Gustavo Sousa
                   ` (5 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 19:00 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

Currently xe_device_get() manages the PAT cached information
information by itself, by doing the necessary memory
allocation/deallocation and calling xe_get_pat_sw_config() to
initialize the cached information.

Such management is arguably better suited to be implemented as part of
the intel_pat module and encapsulated such that xe_query doesn't need
to know the details.

We will introduce changes that will require an extra logic for
initializing the cache and having such encapsulation makes it much
easier to implement.  Since we will touch this area, take this
opportunity to move the existing management to intel_pat.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/intel_pat.c   | 27 ++++++++++++++++++++++++++-
 lib/intel_pat.h   |  5 +++++
 lib/xe/xe_query.c |  9 ++-------
 lib/xe/xe_query.h |  4 +---
 4 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/lib/intel_pat.c b/lib/intel_pat.c
index 2f35bb77249f..14935e3c4692 100644
--- a/lib/intel_pat.c
+++ b/lib/intel_pat.c
@@ -144,6 +144,31 @@ int32_t xe_get_pat_hw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, i
 	return xe_get_pat_config(drm_fd, xe_pat_cache, gt, PAT_HW_CONFIG);
 }
 
+void intel_pat_build_xe_cache(struct xe_device *xe_dev)
+{
+	struct intel_pat_cache *pat_cache;
+
+	pat_cache = calloc(1, sizeof(*pat_cache));
+	igt_assert(pat_cache);
+
+	if (igt_debug_on(xe_get_pat_sw_config(xe_dev->fd, pat_cache, 0) <= 0)) {
+		free(pat_cache);
+		return;
+	}
+
+	xe_dev->pat_cache = pat_cache;
+}
+
+void intel_pat_free_xe_cache(struct xe_device *xe_dev)
+{
+	if (!xe_dev->pat_cache)
+		return;
+
+	free(xe_dev->pat_cache);
+
+	xe_dev->pat_cache = NULL;
+}
+
 /*
  * Hardcoded PAT indices for Xe platforms, used as a fallback when the
  * kernel doesn't expose gt0/pat_sw_config in debugfs.
@@ -217,7 +242,7 @@ static void intel_get_pat_idx(int fd, struct intel_pat_cache *pat)
 		struct xe_device *xe_dev = xe_device_get(fd);
 
 		if (xe_dev->pat_cache) {
-			*pat = *xe_dev->pat_cache;
+			*pat = *((struct intel_pat_cache *)xe_dev->pat_cache);
 		} else if (xe_pat_fallback(fd, pat)) {
 			igt_info("PAT sw_config debugfs not available, "
 				 "using hardcoded fallback\n");
diff --git a/lib/intel_pat.h b/lib/intel_pat.h
index a31b60e86e2a..fc9ef9b650bf 100644
--- a/lib/intel_pat.h
+++ b/lib/intel_pat.h
@@ -13,6 +13,8 @@
 #define XE_PAT_IDX_INVALID ((uint8_t)-2) /* no such PAT index on this platform */
 #define XE_PAT_MAX_ENTRIES 32
 
+struct xe_device;
+
 struct xe_pat_entry {
 	uint32_t pat;
 	bool rsvd;
@@ -40,4 +42,7 @@ uint8_t intel_get_pat_idx_uc_comp(int fd);
 int32_t xe_get_pat_sw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, int gt);
 int32_t xe_get_pat_hw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, int gt);
 
+void intel_pat_build_xe_cache(struct xe_device *xe_dev);
+void intel_pat_free_xe_cache(struct xe_device *xe_dev);
+
 #endif /* INTEL_PAT_H */
diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
index ea095b207534..aa81db45a41a 100644
--- a/lib/xe/xe_query.c
+++ b/lib/xe/xe_query.c
@@ -377,8 +377,8 @@ static void xe_device_free(struct xe_device *xe_dev)
 	free(xe_dev->mem_regions);
 	free(xe_dev->vram_size);
 	free(xe_dev->eu_stall);
-	free(xe_dev->pat_cache);
 
+	intel_pat_free_xe_cache(xe_dev);
 	xe_wa_free_cache(xe_dev);
 
 	free(xe_dev);
@@ -458,12 +458,7 @@ struct xe_device *xe_device_get(int fd)
 	 * should be extended to cache PAT entries by platform version/
 	 * revision instead.
 	 */
-	xe_dev->pat_cache = calloc(1, sizeof(*xe_dev->pat_cache));
-	igt_assert(xe_dev->pat_cache);
-	if (xe_get_pat_sw_config(xe_dev->fd, xe_dev->pat_cache, 0) <= 0) {
-		free(xe_dev->pat_cache);
-		xe_dev->pat_cache = NULL;
-	}
+	intel_pat_build_xe_cache(xe_dev);
 
 	/* We may get here from multiple threads, use first cached xe_dev */
 	pthread_mutex_lock(&cache.cache_mutex);
diff --git a/lib/xe/xe_query.h b/lib/xe/xe_query.h
index f70476945dee..82f72314f072 100644
--- a/lib/xe/xe_query.h
+++ b/lib/xe/xe_query.h
@@ -20,8 +20,6 @@
 #define XE_DEFAULT_ALIGNMENT           SZ_4K
 #define XE_DEFAULT_ALIGNMENT_64K       SZ_64K
 
-struct intel_pat_cache;
-
 struct xe_device {
 	/** @fd: xe fd */
 	int fd;
@@ -78,7 +76,7 @@ struct xe_device {
 	uint16_t dev_id;
 
 	/** @pat_cache: cached PAT index configuration, NULL if not yet populated */
-	struct intel_pat_cache *pat_cache;
+	void *pat_cache;
 
 	/** @wa_cache: cached data for xe_wa() and related functions. */
 	void *wa_cache;

-- 
2.55.0


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

* [PATCH i-g-t 09/10] lib/intel_pat: Pass xe_device to xe_get_pat_config()
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (7 preceding siblings ...)
  2026-07-21 19:00 ` [PATCH i-g-t 08/10] lib/intel_pat: Encapsulate management of xe_device's pat_cache Gustavo Sousa
@ 2026-07-21 19:00 ` Gustavo Sousa
  2026-07-29 22:38   ` Matt Roper
  2026-07-21 19:00 ` [PATCH i-g-t 10/10] intel: Implement Wa_14026539277 Gustavo Sousa
                   ` (4 subsequent siblings)
  13 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 19:00 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

In an upcoming change, we will need to check for a workaround as part
of xe_get_pat_config().  Since xe_get_pat_config() also gets called
during xe_device_get(), we will need to use xe_wa_from_cache() instead
of the regular xe_wa() function.  In preparation for that, make sure
that xe_get_pat_config() gets called with the xe_device struct instead
of the drm file descriptor.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/intel_pat.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/lib/intel_pat.c b/lib/intel_pat.c
index 14935e3c4692..ebf5cd428c68 100644
--- a/lib/intel_pat.c
+++ b/lib/intel_pat.c
@@ -24,7 +24,7 @@ enum xe_pat_config {
  * Returns: The number of PAT entries successfully read on success, or a negative error
  *          code on failure
  */
-static int32_t xe_get_pat_config(int drm_fd, struct intel_pat_cache *xe_pat_cache,
+static int32_t xe_get_pat_config(struct xe_device *xe_dev, struct intel_pat_cache *xe_pat_cache,
 				 int gt, enum xe_pat_config pat_config)
 {
 	char *line = NULL;
@@ -40,7 +40,7 @@ static int32_t xe_get_pat_config(int drm_fd, struct intel_pat_cache *xe_pat_cach
 	else
 		snprintf(config, sizeof(config), "gt%d/pat", gt);
 
-	dbgfs_fd = igt_debugfs_open(drm_fd, config, O_RDONLY);
+	dbgfs_fd = igt_debugfs_open(xe_dev->fd, config, O_RDONLY);
 	if (dbgfs_fd < 0)
 		return dbgfs_fd;
 	dbgfs_file = fdopen(dbgfs_fd, "r");
@@ -125,7 +125,9 @@ static int32_t xe_get_pat_config(int drm_fd, struct intel_pat_cache *xe_pat_cach
  */
 int32_t xe_get_pat_sw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, int gt)
 {
-	return xe_get_pat_config(drm_fd, xe_pat_cache, gt, PAT_SW_CONFIG);
+	struct xe_device *xe_dev = xe_device_get(drm_fd);
+
+	return xe_get_pat_config(xe_dev, xe_pat_cache, gt, PAT_SW_CONFIG);
 }
 
 /**
@@ -141,7 +143,9 @@ int32_t xe_get_pat_sw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, i
  */
 int32_t xe_get_pat_hw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, int gt)
 {
-	return xe_get_pat_config(drm_fd, xe_pat_cache, gt, PAT_HW_CONFIG);
+	struct xe_device *xe_dev = xe_device_get(drm_fd);
+
+	return xe_get_pat_config(xe_dev, xe_pat_cache, gt, PAT_HW_CONFIG);
 }
 
 void intel_pat_build_xe_cache(struct xe_device *xe_dev)
@@ -151,7 +155,7 @@ void intel_pat_build_xe_cache(struct xe_device *xe_dev)
 	pat_cache = calloc(1, sizeof(*pat_cache));
 	igt_assert(pat_cache);
 
-	if (igt_debug_on(xe_get_pat_sw_config(xe_dev->fd, pat_cache, 0) <= 0)) {
+	if (igt_debug_on(xe_get_pat_config(xe_dev, pat_cache, 0, PAT_SW_CONFIG) <= 0)) {
 		free(pat_cache);
 		return;
 	}

-- 
2.55.0


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

* [PATCH i-g-t 10/10] intel: Implement Wa_14026539277
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (8 preceding siblings ...)
  2026-07-21 19:00 ` [PATCH i-g-t 09/10] lib/intel_pat: Pass xe_device to xe_get_pat_config() Gustavo Sousa
@ 2026-07-21 19:00 ` Gustavo Sousa
  2026-07-21 23:18 ` ✓ Xe.CI.BAT: success for " Patchwork
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-21 19:00 UTC (permalink / raw)
  To: igt-dev; +Cc: Gustavo Sousa

Implement the adaptations in IGT required for Wa_14026539277, which is
basically selecting an alternative PAT index instead of 2-way-coherent
ones.

Because xe_pat_cache->wb is expected to be at least 1-way-coherent, we
need to select an alternative that fulfills that requirement.  Let's
use the XA 1-way-coherent index for that (PAT index 19), because other
1-way coherent configurations do not cause GPU caches to be
automatically flushed at the end of a batch in certain occasions due
to the L2 Flush Optimization feature in Xe3p.

In the specific case of the xe_pat "false-sharing" subtest, it already
checks for XA 1-way-coherent, so it is just simpler to skip the
creation of the dynamic subtest for the 2-way-coherent PAT indices,
which are tagged as reserved by the KMD on the debugfs dump of
pat_sw_config when the workaround is active.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 lib/intel_pat.c      |  4 ++++
 tests/intel/xe_pat.c | 28 ++++++++++++++++++++--------
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/lib/intel_pat.c b/lib/intel_pat.c
index ebf5cd428c68..caac00ad68fc 100644
--- a/lib/intel_pat.c
+++ b/lib/intel_pat.c
@@ -7,6 +7,7 @@
 #include "igt.h"
 #include "intel_pat.h"
 #include "xe/xe_query.h"
+#include "xe/xe_wa.h"
 
 enum xe_pat_config {
 	PAT_SW_CONFIG,
@@ -109,6 +110,9 @@ static int32_t xe_get_pat_config(struct xe_device *xe_dev, struct intel_pat_cach
 	free(line);
 	fclose(dbgfs_file);
 
+	if (xe_wa_from_cache(xe_dev, "14026539277"))
+		xe_pat_cache->wb = 19; /* XA 1-way-coherent. */
+
 	return parsed;
 }
 
diff --git a/tests/intel/xe_pat.c b/tests/intel/xe_pat.c
index bb2975b545e6..e1d329637aa1 100644
--- a/tests/intel/xe_pat.c
+++ b/tests/intel/xe_pat.c
@@ -32,6 +32,7 @@
 #include "xe/xe_ioctl.h"
 #include "xe/xe_query.h"
 #include "xe/xe_util.h"
+#include "xe/xe_wa.h"
 
 #define XE_COH_NONE          1
 #define XE_COH_AT_LEAST_1WAY 2
@@ -1865,30 +1866,41 @@ static void false_sharing(int fd)
 	uint16_t dev_id = intel_get_drm_devid(fd);
 	uint32_t graphics_ver = intel_get_device_info(dev_id)->graphics_ver;
 	bool is_dgfx = xe_has_vram(fd);
-
 	const struct fs_pat_entry *fs_entries;
-	int num_entries;
+	int num_fs_entries;
+	struct intel_pat_cache pat_sw_config;
+	int num_pat_entries;
+
+	if (xe_wa(fd, "14026539277"))
+		num_pat_entries = xe_fetch_pat_sw_config(fd, &pat_sw_config);
 
 	if (intel_graphics_ver(dev_id) == IP_VER(35, 11)) {
-		num_entries = ARRAY_SIZE(fs_xe3p_xpc);
+		num_fs_entries = ARRAY_SIZE(fs_xe3p_xpc);
 		fs_entries = fs_xe3p_xpc;
 	} else if (intel_graphics_ver(dev_id) == IP_VER(35, 10)) {
-		num_entries = ARRAY_SIZE(fs_xe3p_lpg);
+		num_fs_entries = ARRAY_SIZE(fs_xe3p_lpg);
 		fs_entries = fs_xe3p_lpg;
 	} else if (graphics_ver == 20) {
 		if (is_dgfx) {
-			num_entries = ARRAY_SIZE(fs_xe2_discrete);
+			num_fs_entries = ARRAY_SIZE(fs_xe2_discrete);
 			fs_entries = fs_xe2_discrete;
 		} else {
-			num_entries = ARRAY_SIZE(fs_xe2_integrated);
+			num_fs_entries = ARRAY_SIZE(fs_xe2_integrated);
 			fs_entries = fs_xe2_integrated;
 		}
 	} else {
-		num_entries = ARRAY_SIZE(fs_xe3);
+		num_fs_entries = ARRAY_SIZE(fs_xe3);
 		fs_entries = fs_xe3;
 	}
 
-	for (int i = 0; i < num_entries; i++) {
+	for (int i = 0; i < num_fs_entries; i++) {
+		if (xe_wa(fd, "14026539277")) {
+			igt_assert(fs_entries[i].pat_index < num_pat_entries);
+
+			if (pat_sw_config.entries[fs_entries[i].pat_index].rsvd)
+				continue;
+		}
+
 		igt_dynamic_f("%s", fs_entries[i].name) {
 			__false_sharing(fd, &fs_entries[i]);
 		}

-- 
2.55.0


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

* ✓ Xe.CI.BAT: success for Implement Wa_14026539277
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (9 preceding siblings ...)
  2026-07-21 19:00 ` [PATCH i-g-t 10/10] intel: Implement Wa_14026539277 Gustavo Sousa
@ 2026-07-21 23:18 ` Patchwork
  2026-07-21 23:56 ` ✓ i915.CI.BAT: " Patchwork
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2026-07-21 23:18 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

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

== Series Details ==

Series: Implement Wa_14026539277
URL   : https://patchwork.freedesktop.org/series/170844/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_9017_BAT -> XEIGTPW_15576_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (13 -> 13)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


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

  * IGT: IGT_9017 -> IGTPW_15576
  * Linux: xe-5448-15b41fd8ef085dbf5b64fe5819415f20bd61983e -> xe-5452-047f635ffe2590e6ea4150a0f3470951f9fd0216

  IGTPW_15576: 15576
  IGT_9017: 9017
  xe-5448-15b41fd8ef085dbf5b64fe5819415f20bd61983e: 15b41fd8ef085dbf5b64fe5819415f20bd61983e
  xe-5452-047f635ffe2590e6ea4150a0f3470951f9fd0216: 047f635ffe2590e6ea4150a0f3470951f9fd0216

== Logs ==

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

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

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

* ✓ i915.CI.BAT: success for Implement Wa_14026539277
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (10 preceding siblings ...)
  2026-07-21 23:18 ` ✓ Xe.CI.BAT: success for " Patchwork
@ 2026-07-21 23:56 ` Patchwork
  2026-07-22 14:09 ` ✓ Xe.CI.FULL: " Patchwork
  2026-07-22 22:52 ` ✗ i915.CI.Full: failure " Patchwork
  13 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2026-07-21 23:56 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

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

== Series Details ==

Series: Implement Wa_14026539277
URL   : https://patchwork.freedesktop.org/series/170844/
State : success

== Summary ==

CI Bug Log - changes from IGT_9017 -> IGTPW_15576
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (42 -> 40)
------------------------------

  Missing    (2): bat-dg2-13 fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@core_auth@basic-auth:
    - bat-adlp-6:         [PASS][1] -> [DMESG-WARN][2] ([i915#15673])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_9017/bat-adlp-6/igt@core_auth@basic-auth.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/bat-adlp-6/igt@core_auth@basic-auth.html

  * igt@core_hotunplug@unbind-rebind:
    - bat-rpls-4:         [PASS][3] -> [DMESG-WARN][4] ([i915#13400])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_9017/bat-rpls-4/igt@core_hotunplug@unbind-rebind.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/bat-rpls-4/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_selftest@live@sanitycheck:
    - fi-kbl-7567u:       [PASS][5] -> [DMESG-WARN][6] ([i915#13735]) +79 other tests dmesg-warn
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_9017/fi-kbl-7567u/igt@i915_selftest@live@sanitycheck.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/fi-kbl-7567u/igt@i915_selftest@live@sanitycheck.html

  * igt@kms_busy@basic@flip:
    - fi-kbl-7567u:       [PASS][7] -> [DMESG-WARN][8] ([i915#13735] / [i915#180])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_9017/fi-kbl-7567u/igt@kms_busy@basic@flip.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/fi-kbl-7567u/igt@kms_busy@basic@flip.html

  * igt@kms_pm_rpm@basic-pci-d3-state:
    - fi-kbl-7567u:       [PASS][9] -> [DMESG-WARN][10] ([i915#13735] / [i915#15673] / [i915#180]) +52 other tests dmesg-warn
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_9017/fi-kbl-7567u/igt@kms_pm_rpm@basic-pci-d3-state.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/fi-kbl-7567u/igt@kms_pm_rpm@basic-pci-d3-state.html

  
#### Possible fixes ####

  * igt@core_debugfs@read-all-entries:
    - bat-adlp-6:         [DMESG-WARN][11] ([i915#15673]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_9017/bat-adlp-6/igt@core_debugfs@read-all-entries.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/bat-adlp-6/igt@core_debugfs@read-all-entries.html

  
  [i915#13400]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13400
  [i915#13735]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13735
  [i915#15673]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15673
  [i915#180]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/180


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

  * CI: CI-20190529 -> None
  * IGT: IGT_9017 -> IGTPW_15576
  * Linux: CI_DRM_18866 -> CI_DRM_18871

  CI-20190529: 20190529
  CI_DRM_18866: 15b41fd8ef085dbf5b64fe5819415f20bd61983e @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_18871: 5726f9c4bde0290e5e60e636b9632bb03a57498c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_15576: 15576
  IGT_9017: 9017

== Logs ==

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

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

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

* ✓ Xe.CI.FULL: success for Implement Wa_14026539277
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (11 preceding siblings ...)
  2026-07-21 23:56 ` ✓ i915.CI.BAT: " Patchwork
@ 2026-07-22 14:09 ` Patchwork
  2026-07-22 22:52 ` ✗ i915.CI.Full: failure " Patchwork
  13 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2026-07-22 14:09 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

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

== Series Details ==

Series: Implement Wa_14026539277
URL   : https://patchwork.freedesktop.org/series/170844/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_9017_FULL -> XEIGTPW_15576_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
    - shard-bmg:          NOTRUN -> [SKIP][1] ([Intel XE#2370])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-9/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][2] ([Intel XE#2327]) +1 other test skip
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-5/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-16bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [SKIP][3] ([Intel XE#1124]) +6 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@kms_big_fb@y-tiled-16bpp-rotate-0.html

  * igt@kms_bw@connected-linear-tiling-4-displays-target-1920x1080p:
    - shard-bmg:          NOTRUN -> [SKIP][4] ([Intel XE#7679]) +1 other test skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@kms_bw@connected-linear-tiling-4-displays-target-1920x1080p.html

  * igt@kms_ccs@crc-primary-basic-y-tiled-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][5] ([Intel XE#2887]) +11 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@kms_ccs@crc-primary-basic-y-tiled-ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#2724] / [Intel XE#7449])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-9/igt@kms_cdclk@mode-transition.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d:
    - shard-bmg:          NOTRUN -> [SKIP][7] ([Intel XE#7358])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-9/igt@kms_chamelium_color_pipeline@plane-lut1d.html

  * igt@kms_chamelium_hpd@dp-hpd-after-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][8] ([Intel XE#2252]) +5 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html

  * igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#6974])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#2390] / [Intel XE#6974])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-6/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@lic-type-1:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#7642])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@kms_content_protection@lic-type-1.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#2321] / [Intel XE#7355])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_crc@cursor-onscreen-max-size:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2320]) +2 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@kms_cursor_crc@cursor-onscreen-max-size.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [SKIP][14] ([Intel XE#1508])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-5/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dsc@dsc-with-bpc-bigjoiner:
    - shard-bmg:          NOTRUN -> [SKIP][15] ([Intel XE#8265]) +3 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@kms_dsc@dsc-with-bpc-bigjoiner.html

  * igt@kms_feature_discovery@psr1:
    - shard-bmg:          NOTRUN -> [SKIP][16] ([Intel XE#2374] / [Intel XE#6127])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@flip-vs-expired-vblank@c-edp1:
    - shard-lnl:          [PASS][17] -> [FAIL][18] ([Intel XE#301] / [Intel XE#3149])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#7178] / [Intel XE#7351]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

  * igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#2311]) +40 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][21] ([Intel XE#7061]) +6 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-5/igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#7399]) +1 other test skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y.html

  * igt@kms_frontbuffer_tracking@pipe-fbc-rte:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#4141]) +8 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-argb161616f-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#7061] / [Intel XE#7356]) +4 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@kms_frontbuffer_tracking@psr-argb161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-shrfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#2313]) +36 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_panel_fitting@legacy:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#2486])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#7283]) +3 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html

  * igt@kms_plane@planar-pixel-format-settings@nv12-tile4-src-y:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#8076])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@kms_plane@planar-pixel-format-settings@nv12-tile4-src-y.html

  * igt@kms_plane_multiple@2x-tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#5021] / [Intel XE#7377])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@kms_plane_multiple@2x-tiling-yf.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#2938] / [Intel XE#7376] / [Intel XE#7760])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-5/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-bmg:          NOTRUN -> [SKIP][31] ([Intel XE#7794])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-bmg:          NOTRUN -> [SKIP][32] ([Intel XE#3309] / [Intel XE#7368])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@deep-pkgc:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#2505] / [Intel XE#7447])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@kms_pm_dc@deep-pkgc.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#1489]) +3 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr@fbc-pr-cursor-plane-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#2234] / [Intel XE#2850]) +7 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@kms_psr@fbc-pr-cursor-plane-onoff.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-lnl:          [PASS][37] -> [SKIP][38] ([Intel XE#8361])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-lnl-2/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-lnl-8/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@sprite-rotation-270:
    - shard-bmg:          NOTRUN -> [SKIP][39] ([Intel XE#3904] / [Intel XE#7342])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@kms_rotation_crc@sprite-rotation-270.html

  * igt@kms_sharpness_filter@invalid-filter-with-scaler:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#6503]) +1 other test skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-9/igt@kms_sharpness_filter@invalid-filter-with-scaler.html

  * igt@kms_vrr@flip-basic:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#1499])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@kms_vrr@flip-basic.html

  * igt@kms_vrr@lobf-dc3co:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#8397])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-4/igt@kms_vrr@lobf-dc3co.html

  * igt@xe_compute@ccs-mode-compute-kernel:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#6599])
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@xe_compute@ccs-mode-compute-kernel.html

  * igt@xe_exec_basic@multigpu-no-exec-bindexecqueue:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#2322] / [Intel XE#7372]) +4 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue.html

  * igt@xe_exec_fault_mode@atomic-many:
    - shard-bmg:          [PASS][45] -> [FAIL][46] ([Intel XE#8578])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-8/igt@xe_exec_fault_mode@atomic-many.html
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-6/igt@xe_exec_fault_mode@atomic-many.html

  * igt@xe_exec_fault_mode@many-execqueues-multi-queue-rebind-prefetch:
    - shard-bmg:          NOTRUN -> [SKIP][47] ([Intel XE#8374]) +8 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-6/igt@xe_exec_fault_mode@many-execqueues-multi-queue-rebind-prefetch.html

  * igt@xe_exec_multi_queue@max-queues-preempt-mode-close-fd-smem:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#8364]) +20 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@xe_exec_multi_queue@max-queues-preempt-mode-close-fd-smem.html

  * igt@xe_exec_reset@long-spin-reuse-many-preempt-threads:
    - shard-bmg:          [PASS][49] -> [FAIL][50] ([Intel XE#7850])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-5/igt@xe_exec_reset@long-spin-reuse-many-preempt-threads.html
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@xe_exec_reset@long-spin-reuse-many-preempt-threads.html

  * igt@xe_exec_reset@multi-queue-close-execqueues:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#8369])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-9/igt@xe_exec_reset@multi-queue-close-execqueues.html

  * igt@xe_exec_threads@threads-multi-queue-mixed-shared-vm-userptr-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#8378]) +2 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@xe_exec_threads@threads-multi-queue-mixed-shared-vm-userptr-invalidate.html

  * igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add:
    - shard-bmg:          NOTRUN -> [SKIP][53] ([Intel XE#6281] / [Intel XE#7426])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init:
    - shard-bmg:          [PASS][54] -> [ABORT][55] ([Intel XE#8007]) +1 other test abort
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-2/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init.html
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-4/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init.html

  * igt@xe_live_ktest@xe_eudebug:
    - shard-bmg:          NOTRUN -> [SKIP][56] ([Intel XE#2833])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@xe_live_ktest@xe_eudebug.html

  * igt@xe_module_load@unload:
    - shard-bmg:          NOTRUN -> [ABORT][57] ([Intel XE#8007]) +1 other test abort
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-6/igt@xe_module_load@unload.html

  * igt@xe_multigpu_svm@mgpu-atomic-op-conflict:
    - shard-bmg:          NOTRUN -> [SKIP][58] ([Intel XE#6964]) +2 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-9/igt@xe_multigpu_svm@mgpu-atomic-op-conflict.html

  * igt@xe_page_reclaim@binds-full-pd:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#7793])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_page_reclaim@binds-full-pd.html

  * igt@xe_pm@s3-d3cold-basic-exec:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#2284] / [Intel XE#7370]) +1 other test skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_pm@s3-d3cold-basic-exec.html

  * igt@xe_pxp@pxp-termination-key-update-post-termination-irq:
    - shard-bmg:          NOTRUN -> [SKIP][61] ([Intel XE#4733] / [Intel XE#7417])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@xe_pxp@pxp-termination-key-update-post-termination-irq.html

  * igt@xe_query@multigpu-query-invalid-extension:
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#944])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_query@multigpu-query-invalid-extension.html

  * igt@xe_sriov_flr@flr-twice:
    - shard-bmg:          [PASS][63] -> [FAIL][64] ([Intel XE#6569]) +1 other test fail
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-2/igt@xe_sriov_flr@flr-twice.html
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-5/igt@xe_sriov_flr@flr-twice.html

  * igt@xe_survivability@runtime-survivability:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][65] ([Intel XE#6627] / [Intel XE#7419])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-3/igt@xe_survivability@runtime-survivability.html

  
#### Possible fixes ####

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [FAIL][66] ([Intel XE#301]) -> [PASS][67]
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_pm_dc@deep-pkgc:
    - shard-lnl:          [FAIL][68] ([Intel XE#2029] / [Intel XE#7395]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-lnl-6/igt@kms_pm_dc@deep-pkgc.html
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-lnl-3/igt@kms_pm_dc@deep-pkgc.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early:
    - shard-bmg:          [ABORT][70] ([Intel XE#8007]) -> [PASS][71] +1 other test pass
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-3/igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early.html
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@xe_fault_injection@inject-fault-probe-function-xe_ggtt_init_early.html

  * igt@xe_module_load@load:
    - shard-bmg:          ([PASS][72], [PASS][73], [PASS][74], [PASS][75], [PASS][76], [PASS][77], [PASS][78], [PASS][79], [PASS][80], [PASS][81], [PASS][82], [PASS][83], [PASS][84], [PASS][85], [PASS][86], [PASS][87], [SKIP][88], [PASS][89], [PASS][90], [PASS][91], [PASS][92], [PASS][93], [PASS][94], [PASS][95], [PASS][96]) ([Intel XE#2457] / [Intel XE#7405]) -> ([PASS][97], [PASS][98], [PASS][99], [PASS][100], [PASS][101], [PASS][102], [PASS][103], [PASS][104], [PASS][105], [PASS][106], [PASS][107], [PASS][108], [PASS][109], [PASS][110], [PASS][111], [PASS][112], [PASS][113], [PASS][114], [PASS][115], [PASS][116], [PASS][117], [PASS][118], [PASS][119], [PASS][120], [PASS][121])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-9/igt@xe_module_load@load.html
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-2/igt@xe_module_load@load.html
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-1/igt@xe_module_load@load.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-3/igt@xe_module_load@load.html
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-1/igt@xe_module_load@load.html
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-6/igt@xe_module_load@load.html
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-7/igt@xe_module_load@load.html
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-5/igt@xe_module_load@load.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-5/igt@xe_module_load@load.html
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-1/igt@xe_module_load@load.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-9/igt@xe_module_load@load.html
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-5/igt@xe_module_load@load.html
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-9/igt@xe_module_load@load.html
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-2/igt@xe_module_load@load.html
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-3/igt@xe_module_load@load.html
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-10/igt@xe_module_load@load.html
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-2/igt@xe_module_load@load.html
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-8/igt@xe_module_load@load.html
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-4/igt@xe_module_load@load.html
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-10/igt@xe_module_load@load.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-2/igt@xe_module_load@load.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-4/igt@xe_module_load@load.html
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-8/igt@xe_module_load@load.html
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-7/igt@xe_module_load@load.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-6/igt@xe_module_load@load.html
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-4/igt@xe_module_load@load.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@xe_module_load@load.html
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-5/igt@xe_module_load@load.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-3/igt@xe_module_load@load.html
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@xe_module_load@load.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-5/igt@xe_module_load@load.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@xe_module_load@load.html
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@xe_module_load@load.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@xe_module_load@load.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-9/igt@xe_module_load@load.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@xe_module_load@load.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@xe_module_load@load.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-3/igt@xe_module_load@load.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@xe_module_load@load.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-4/igt@xe_module_load@load.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_module_load@load.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_module_load@load.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_module_load@load.html
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-9/igt@xe_module_load@load.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@xe_module_load@load.html
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@xe_module_load@load.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-2/igt@xe_module_load@load.html
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-7/igt@xe_module_load@load.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-6/igt@xe_module_load@load.html
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-6/igt@xe_module_load@load.html

  * igt@xe_sriov_scheduling@nonpreempt-engine-resets-low-priority@numvfs-random-gt0-rcs0:
    - shard-bmg:          [FAIL][122] ([Intel XE#7992]) -> [PASS][123] +1 other test pass
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-4/igt@xe_sriov_scheduling@nonpreempt-engine-resets-low-priority@numvfs-random-gt0-rcs0.html
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_sriov_scheduling@nonpreempt-engine-resets-low-priority@numvfs-random-gt0-rcs0.html

  * igt@xe_sriov_scheduling@nonpreempt-engine-resets-low-priority@numvfs-random-gt1-vcs0:
    - shard-bmg:          [FAIL][124] ([Intel XE#8340]) -> [PASS][125]
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-4/igt@xe_sriov_scheduling@nonpreempt-engine-resets-low-priority@numvfs-random-gt1-vcs0.html
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-8/igt@xe_sriov_scheduling@nonpreempt-engine-resets-low-priority@numvfs-random-gt1-vcs0.html

  
#### Warnings ####

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-lnl:          [FAIL][126] ([Intel XE#301]) -> [FAIL][127] ([Intel XE#301] / [Intel XE#3149])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_pm_dc@dc3co-framedrop-check:
    - shard-lnl:          [SKIP][128] ([Intel XE#8395]) -> [SKIP][129] ([Intel XE#8395] / [Intel XE#8396]) +4 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-lnl-4/igt@kms_pm_dc@dc3co-framedrop-check.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-lnl-2/igt@kms_pm_dc@dc3co-framedrop-check.html

  * igt@kms_pm_dc@dc3co-vpb-framegap:
    - shard-bmg:          [SKIP][130] ([Intel XE#8395]) -> [SKIP][131] ([Intel XE#8395] / [Intel XE#8396]) +2 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-2/igt@kms_pm_dc@dc3co-vpb-framegap.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-10/igt@kms_pm_dc@dc3co-vpb-framegap.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          [SKIP][132] ([Intel XE#2426] / [Intel XE#5848]) -> [FAIL][133] ([Intel XE#1729] / [Intel XE#7424])
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9017/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15576/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern.html

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

  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#2029]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2029
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
  [Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
  [Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
  [Intel XE#2505]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2505
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#6127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6127
  [Intel XE#6281]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6281
  [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
  [Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
  [Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
  [Intel XE#6627]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6627
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
  [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
  [Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
  [Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
  [Intel XE#7368]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7368
  [Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
  [Intel XE#7377]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7377
  [Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
  [Intel XE#7395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7395
  [Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
  [Intel XE#7405]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7405
  [Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
  [Intel XE#7419]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7419
  [Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
  [Intel XE#7426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7426
  [Intel XE#7447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7447
  [Intel XE#7449]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7449
  [Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
  [Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7794
  [Intel XE#7850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7850
  [Intel XE#7992]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7992
  [Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
  [Intel XE#8076]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8076
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8340
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#8361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8361
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
  [Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
  [Intel XE#8397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8397
  [Intel XE#8578]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8578
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * IGT: IGT_9017 -> IGTPW_15576
  * Linux: xe-5448-15b41fd8ef085dbf5b64fe5819415f20bd61983e -> xe-5452-047f635ffe2590e6ea4150a0f3470951f9fd0216

  IGTPW_15576: 15576
  IGT_9017: 9017
  xe-5448-15b41fd8ef085dbf5b64fe5819415f20bd61983e: 15b41fd8ef085dbf5b64fe5819415f20bd61983e
  xe-5452-047f635ffe2590e6ea4150a0f3470951f9fd0216: 047f635ffe2590e6ea4150a0f3470951f9fd0216

== Logs ==

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

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

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

* ✗ i915.CI.Full: failure for Implement Wa_14026539277
  2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
                   ` (12 preceding siblings ...)
  2026-07-22 14:09 ` ✓ Xe.CI.FULL: " Patchwork
@ 2026-07-22 22:52 ` Patchwork
  13 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2026-07-22 22:52 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

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

== Series Details ==

Series: Implement Wa_14026539277
URL   : https://patchwork.freedesktop.org/series/170844/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_18871_full -> IGTPW_15576_full
====================================================

Summary
-------

  **FAILURE**

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

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

  Missing    (1): pig-kbl-iris 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_big_fb@linear-64bpp-rotate-180:
    - shard-mtlp:         [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-mtlp-7/igt@kms_big_fb@linear-64bpp-rotate-180.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-7/igt@kms_big_fb@linear-64bpp-rotate-180.html

  * igt@kms_psr@psr2-sprite-mmap-cpu:
    - shard-mtlp:         [PASS][3] -> [FAIL][4] +1 other test fail
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-mtlp-1/igt@kms_psr@psr2-sprite-mmap-cpu.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-5/igt@kms_psr@psr2-sprite-mmap-cpu.html

  
New tests
---------

  New tests have been introduced between CI_DRM_18871_full and IGTPW_15576_full:

### New IGT tests (1) ###

  * igt@gem_ctx_param:
    - Statuses :
    - Exec time: [None] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@crc32:
    - shard-rkl:          NOTRUN -> [SKIP][5] ([i915#6230])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@api_intel_bb@crc32.html

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

  * igt@gem_caching@reads:
    - shard-mtlp:         NOTRUN -> [SKIP][7] ([i915#4873])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-5/igt@gem_caching@reads.html

  * igt@gem_ccs@ctrl-surf-copy:
    - shard-tglu-1:       NOTRUN -> [SKIP][8] ([i915#3555] / [i915#9323])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@gem_ccs@ctrl-surf-copy.html

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

  * igt@gem_ccs@suspend-resume:
    - shard-tglu-1:       NOTRUN -> [SKIP][10] ([i915#9323]) +1 other test skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@gem_ccs@suspend-resume.html

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

  * igt@gem_close_race@multigpu-basic-threads:
    - shard-tglu:         NOTRUN -> [SKIP][12] ([i915#7697])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-3/igt@gem_close_race@multigpu-basic-threads.html

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

  * igt@gem_ctx_isolation@preservation-s3:
    - shard-rkl:          [PASS][14] -> [INCOMPLETE][15] ([i915#13356]) +1 other test incomplete
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-2/igt@gem_ctx_isolation@preservation-s3.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@gem_ctx_isolation@preservation-s3.html
    - shard-glk10:        NOTRUN -> [INCOMPLETE][16] ([i915#13356] / [i915#16466]) +1 other test incomplete
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk10/igt@gem_ctx_isolation@preservation-s3.html

  * igt@gem_ctx_persistence@heartbeat-many:
    - shard-dg2:          NOTRUN -> [SKIP][17] ([i915#8555])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-5/igt@gem_ctx_persistence@heartbeat-many.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-dg2:          NOTRUN -> [SKIP][18] ([i915#280]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-3/igt@gem_ctx_sseu@invalid-sseu.html
    - shard-rkl:          NOTRUN -> [SKIP][19] ([i915#280]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@gem_ctx_sseu@invalid-sseu.html
    - shard-dg1:          NOTRUN -> [SKIP][20] ([i915#280])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@gem_ctx_sseu@invalid-sseu.html
    - shard-mtlp:         NOTRUN -> [SKIP][21] ([i915#280])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-3/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-tglu:         NOTRUN -> [SKIP][22] ([i915#280]) +1 other test skip
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-4/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_eio@hibernate:
    - shard-rkl:          [PASS][23] -> [ABORT][24] ([i915#7975])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-7/igt@gem_eio@hibernate.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-1/igt@gem_eio@hibernate.html

  * igt@gem_exec_balancer@parallel:
    - shard-rkl:          NOTRUN -> [SKIP][25] ([i915#4525]) +1 other test skip
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@gem_exec_balancer@parallel.html
    - shard-tglu:         NOTRUN -> [SKIP][26] ([i915#4525])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-9/igt@gem_exec_balancer@parallel.html

  * igt@gem_exec_capture@capture-invisible@lmem0:
    - shard-dg2:          NOTRUN -> [SKIP][27] ([i915#6334]) +2 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@gem_exec_capture@capture-invisible@lmem0.html

  * igt@gem_exec_capture@capture-invisible@smem0:
    - shard-tglu-1:       NOTRUN -> [SKIP][28] ([i915#6334]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@gem_exec_capture@capture-invisible@smem0.html

  * igt@gem_exec_capture@capture-recoverable:
    - shard-tglu:         NOTRUN -> [SKIP][29] ([i915#6344])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-4/igt@gem_exec_capture@capture-recoverable.html

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

  * igt@gem_exec_flush@basic-uc-ro-default:
    - shard-dg2:          NOTRUN -> [SKIP][31] ([i915#3539] / [i915#4852])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@gem_exec_flush@basic-uc-ro-default.html
    - shard-dg1:          NOTRUN -> [SKIP][32] ([i915#3539] / [i915#4852])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@gem_exec_flush@basic-uc-ro-default.html

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

  * igt@gem_exec_reloc@basic-wc:
    - shard-dg2:          NOTRUN -> [SKIP][34] ([i915#3281]) +6 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-1/igt@gem_exec_reloc@basic-wc.html

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

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

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

  * igt@gem_lmem_swapping@massive-random:
    - shard-mtlp:         NOTRUN -> [SKIP][38] ([i915#4613]) +1 other test skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-5/igt@gem_lmem_swapping@massive-random.html

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

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

  * igt@gem_mmap@basic-small-bo:
    - shard-dg1:          NOTRUN -> [SKIP][41] ([i915#4083]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@gem_mmap@basic-small-bo.html
    - shard-mtlp:         NOTRUN -> [SKIP][42] ([i915#4083]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-7/igt@gem_mmap@basic-small-bo.html

  * igt@gem_mmap_gtt@hang-user:
    - shard-mtlp:         NOTRUN -> [SKIP][43] ([i915#4077]) +2 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-7/igt@gem_mmap_gtt@hang-user.html

  * igt@gem_mmap_gtt@zero-extend:
    - shard-dg2:          NOTRUN -> [SKIP][44] ([i915#4077]) +6 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-7/igt@gem_mmap_gtt@zero-extend.html

  * igt@gem_mmap_wc@coherency:
    - shard-dg2:          NOTRUN -> [SKIP][45] ([i915#4083]) +2 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@gem_mmap_wc@coherency.html

  * igt@gem_partial_pwrite_pread@reads-uncached:
    - shard-rkl:          NOTRUN -> [SKIP][46] ([i915#3282]) +3 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@gem_partial_pwrite_pread@reads-uncached.html

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

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

  * igt@gem_pwrite@basic-random:
    - shard-dg1:          NOTRUN -> [SKIP][49] ([i915#3282])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-19/igt@gem_pwrite@basic-random.html

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

  * igt@gem_pxp@hw-rejects-pxp-buffer:
    - shard-rkl:          NOTRUN -> [SKIP][51] ([i915#13717])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@gem_pxp@hw-rejects-pxp-buffer.html

  * igt@gem_pxp@protected-encrypted-src-copy-not-readible:
    - shard-dg1:          NOTRUN -> [SKIP][52] ([i915#4270]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html

  * igt@gem_pxp@verify-pxp-stale-buf-optout-execution:
    - shard-rkl:          [PASS][53] -> [SKIP][54] ([i915#4270])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-2/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html

  * igt@gem_render_copy@yf-tiled-ccs-to-yf-tiled-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][55] ([i915#8428]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-7/igt@gem_render_copy@yf-tiled-ccs-to-yf-tiled-ccs.html

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

  * igt@gem_userptr_blits@coherency-unsync:
    - shard-rkl:          NOTRUN -> [SKIP][57] ([i915#14544] / [i915#3297])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@gem_userptr_blits@coherency-unsync.html

  * igt@gem_userptr_blits@create-destroy-unsync:
    - shard-rkl:          NOTRUN -> [SKIP][58] ([i915#3297]) +3 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@gem_userptr_blits@create-destroy-unsync.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-glk:          NOTRUN -> [SKIP][59] ([i915#3323])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk3/igt@gem_userptr_blits@dmabuf-sync.html

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

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

  * igt@gen9_exec_parse@allowed-single:
    - shard-dg2:          NOTRUN -> [SKIP][62] ([i915#2856]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-5/igt@gen9_exec_parse@allowed-single.html
    - shard-dg1:          NOTRUN -> [SKIP][63] ([i915#2527]) +1 other test skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-17/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@batch-without-end:
    - shard-rkl:          NOTRUN -> [SKIP][64] ([i915#2527]) +2 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@gen9_exec_parse@batch-without-end.html
    - shard-mtlp:         NOTRUN -> [SKIP][65] ([i915#2856])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-3/igt@gen9_exec_parse@batch-without-end.html

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

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

  * igt@gen9_exec_parse@secure-batches:
    - shard-rkl:          NOTRUN -> [SKIP][68] ([i915#14544] / [i915#2527])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@gen9_exec_parse@secure-batches.html

  * igt@i915_drm_fdinfo@busy-check-all:
    - shard-dg1:          NOTRUN -> [SKIP][69] ([i915#11527]) +5 other tests skip
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-17/igt@i915_drm_fdinfo@busy-check-all.html

  * igt@i915_drm_fdinfo@busy-check-all@ccs0:
    - shard-mtlp:         NOTRUN -> [SKIP][70] ([i915#11527]) +6 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-8/igt@i915_drm_fdinfo@busy-check-all@ccs0.html

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

  * igt@i915_drm_fdinfo@busy-idle@vecs0:
    - shard-dg2:          NOTRUN -> [SKIP][72] ([i915#14073]) +15 other tests skip
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-3/igt@i915_drm_fdinfo@busy-idle@vecs0.html

  * igt@i915_drm_fdinfo@virtual-busy-idle-all:
    - shard-dg2:          NOTRUN -> [SKIP][73] ([i915#14118])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@i915_drm_fdinfo@virtual-busy-idle-all.html

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

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-dg2:          [PASS][75] -> [FAIL][76] ([i915#12964]) +1 other test fail
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-8/igt@i915_pm_rc6_residency@rc6-accuracy.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-5/igt@i915_pm_rc6_residency@rc6-accuracy.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglu:         NOTRUN -> [WARN][77] ([i915#13790] / [i915#2681]) +1 other test warn
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-3/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-rkl:          NOTRUN -> [SKIP][78] ([i915#14498])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@i915_pm_rps@min-max-config-idle:
    - shard-dg2:          NOTRUN -> [SKIP][79] ([i915#11681] / [i915#6621])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-7/igt@i915_pm_rps@min-max-config-idle.html
    - shard-dg1:          NOTRUN -> [SKIP][80] ([i915#11681] / [i915#6621])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-13/igt@i915_pm_rps@min-max-config-idle.html
    - shard-mtlp:         NOTRUN -> [SKIP][81] ([i915#11681] / [i915#6621])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-1/igt@i915_pm_rps@min-max-config-idle.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          [PASS][82] -> [TIMEOUT][83] ([i915#16162])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-snb5/igt@i915_pm_rps@reset.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-snb6/igt@i915_pm_rps@reset.html

  * igt@i915_pm_rps@thresholds-idle:
    - shard-dg2:          NOTRUN -> [SKIP][84] ([i915#11681])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-7/igt@i915_pm_rps@thresholds-idle.html

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

  * igt@i915_query@query-topology-unsupported:
    - shard-rkl:          NOTRUN -> [SKIP][86] ([i915#16079])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@i915_query@query-topology-unsupported.html
    - shard-tglu-1:       NOTRUN -> [SKIP][87] ([i915#16079])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@i915_query@query-topology-unsupported.html

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

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-tglu:         NOTRUN -> [INCOMPLETE][89] ([i915#4817] / [i915#7443])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-3/igt@i915_suspend@basic-s3-without-i915.html
    - shard-glk11:        NOTRUN -> [INCOMPLETE][90] ([i915#16182] / [i915#4817])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk11/igt@i915_suspend@basic-s3-without-i915.html

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

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-rkl:          [PASS][92] -> [INCOMPLETE][93] ([i915#4817])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-2/igt@i915_suspend@fence-restore-tiled2untiled.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@i915_suspend@sysfs-reader:
    - shard-dg2:          NOTRUN -> [ABORT][94] ([i915#15140])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-10/igt@i915_suspend@sysfs-reader.html
    - shard-rkl:          NOTRUN -> [INCOMPLETE][95] ([i915#4817])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@i915_suspend@sysfs-reader.html

  * igt@intel_hwmon@hwmon-read:
    - shard-tglu:         NOTRUN -> [SKIP][96] ([i915#7707])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-10/igt@intel_hwmon@hwmon-read.html

  * igt@intel_hwmon@hwmon-write:
    - shard-rkl:          NOTRUN -> [SKIP][97] ([i915#7707])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@intel_hwmon@hwmon-write.html

  * igt@kms_addfb_basic@clobberred-modifier:
    - shard-dg2:          NOTRUN -> [SKIP][98] ([i915#4212])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_addfb_basic@clobberred-modifier.html

  * igt@kms_async_flips@async-flip-suspend-resume:
    - shard-glk:          NOTRUN -> [INCOMPLETE][99] ([i915#12761]) +1 other test incomplete
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk2/igt@kms_async_flips@async-flip-suspend-resume.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-glk:          NOTRUN -> [SKIP][100] ([i915#1769]) +1 other test skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
    - shard-rkl:          NOTRUN -> [SKIP][101] ([i915#1769] / [i915#3555])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/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][102] ([i915#1769] / [i915#3555])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html

  * igt@kms_big_fb@4-tiled-addfb:
    - shard-rkl:          NOTRUN -> [SKIP][103] ([i915#5286]) +5 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_big_fb@4-tiled-addfb.html

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

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg1:          NOTRUN -> [SKIP][105] ([i915#4538] / [i915#5286]) +2 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-19/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-rkl:          NOTRUN -> [SKIP][106] ([i915#14544] / [i915#5286]) +1 other test skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
    - shard-tglu-1:       NOTRUN -> [SKIP][107] ([i915#5286]) +3 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

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

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-dg2:          NOTRUN -> [SKIP][110] ([i915#3828])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
    - shard-rkl:          NOTRUN -> [SKIP][111] ([i915#3828])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
    - shard-dg1:          NOTRUN -> [SKIP][112] ([i915#3828])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-14/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
    - shard-tglu:         NOTRUN -> [SKIP][113] ([i915#3828])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-5/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
    - shard-mtlp:         NOTRUN -> [SKIP][114] ([i915#3828])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-6/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][115] ([i915#14544] / [i915#3638])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html

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

  * igt@kms_big_fb@y-tiled-64bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][117] ([i915#3638])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-16/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][118] ([i915#3638]) +3 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][119] ([i915#4538])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_big_fb@yf-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-dg2:          NOTRUN -> [SKIP][120] ([i915#5190])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][121] ([i915#6095]) +211 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-16/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][122] ([i915#4423] / [i915#6095])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-a-hdmi-a-4.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][123] ([i915#10307] / [i915#10434] / [i915#6095]) +1 other test skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-d-hdmi-a-1.html

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

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

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2:
    - shard-glk:          NOTRUN -> [SKIP][126] +587 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk5/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][127] ([i915#6095]) +64 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-5/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][128] ([i915#6095]) +81 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-b-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][129] ([i915#6095]) +19 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-1/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-b-edp-1.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][130] ([i915#12313] / [i915#14544])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
    - shard-tglu:         NOTRUN -> [SKIP][131] ([i915#12313])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs-cc@pipe-c-dp-3:
    - shard-dg2:          NOTRUN -> [SKIP][132] ([i915#10307] / [i915#6095]) +122 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-10/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs-cc@pipe-c-dp-3.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][133] ([i915#12805])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

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

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1:
    - shard-glk:          [PASS][135] -> [INCOMPLETE][136] ([i915#15582])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-glk3/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk2/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][137] ([i915#14098] / [i915#6095]) +55 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2.html

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

  * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
    - shard-tglu-1:       NOTRUN -> [SKIP][139] ([i915#12313])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html

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

  * igt@kms_cdclk@plane-scaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][141] ([i915#3742])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_audio@dp-audio-after-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][142] ([i915#11151])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-3/igt@kms_chamelium_audio@dp-audio-after-suspend.html
    - shard-dg1:          NOTRUN -> [SKIP][143] ([i915#11151])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@kms_chamelium_audio@dp-audio-after-suspend.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-post-ctm3x4:
    - shard-rkl:          NOTRUN -> [SKIP][144] ([i915#16471])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_chamelium_color_pipeline@plane-lut1d-post-ctm3x4.html

  * igt@kms_chamelium_color_pipeline@plane-lut3d-green-only:
    - shard-tglu:         NOTRUN -> [SKIP][145] ([i915#16471]) +1 other test skip
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-10/igt@kms_chamelium_color_pipeline@plane-lut3d-green-only.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][146] ([i915#11151] / [i915#7828]) +2 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-7/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html
    - shard-dg1:          NOTRUN -> [SKIP][147] ([i915#11151] / [i915#7828])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-13/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_edid@hdmi-edid-read:
    - shard-rkl:          NOTRUN -> [SKIP][148] ([i915#11151] / [i915#7828]) +12 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@kms_chamelium_edid@hdmi-edid-read.html

  * igt@kms_chamelium_frames@hdmi-frame-dump:
    - shard-tglu-1:       NOTRUN -> [SKIP][149] ([i915#11151] / [i915#7828]) +3 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_chamelium_frames@hdmi-frame-dump.html

  * igt@kms_chamelium_hpd@dp-hpd-after-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][150] ([i915#11151] / [i915#14544] / [i915#7828])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-tglu:         NOTRUN -> [SKIP][151] ([i915#11151] / [i915#7828]) +4 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-2/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_color_pipeline@plane-lut1d:
    - shard-snb:          NOTRUN -> [SKIP][152] +70 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-snb7/igt@kms_color_pipeline@plane-lut1d.html

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

  * igt@kms_content_protection@atomic-hdcp14:
    - shard-rkl:          NOTRUN -> [SKIP][154] ([i915#15865])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_content_protection@atomic-hdcp14.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg2:          NOTRUN -> [SKIP][155] ([i915#15330] / [i915#3299])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-3/igt@kms_content_protection@dp-mst-lic-type-1.html
    - shard-dg1:          NOTRUN -> [SKIP][156] ([i915#15330] / [i915#3299])
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-0-hdcp14:
    - shard-rkl:          NOTRUN -> [SKIP][157] ([i915#15330])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@kms_content_protection@dp-mst-type-0-hdcp14.html

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

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

  * igt@kms_content_protection@uevent-hdcp14:
    - shard-dg2:          NOTRUN -> [SKIP][160] ([i915#15865]) +2 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-5/igt@kms_content_protection@uevent-hdcp14.html

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-mtlp:         NOTRUN -> [SKIP][161] ([i915#3555] / [i915#8814])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-8/igt@kms_cursor_crc@cursor-offscreen-32x10.html

  * igt@kms_cursor_crc@cursor-onscreen-128x42:
    - shard-rkl:          [PASS][162] -> [FAIL][163] ([i915#13566]) +2 other tests fail
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-128x42.html
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-128x42.html

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

  * igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1:
    - shard-tglu:         [PASS][165] -> [FAIL][166] ([i915#13566]) +3 other tests fail
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-tglu-10/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1.html
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-8/igt@kms_cursor_crc@cursor-random-256x85@pipe-a-hdmi-a-1.html

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

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

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-tglu:         NOTRUN -> [SKIP][169] ([i915#13049])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-3/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_crc@cursor-sliding-256x85:
    - shard-rkl:          NOTRUN -> [FAIL][170] ([i915#13566]) +2 other tests fail
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-256x85.html

  * igt@kms_cursor_crc@cursor-sliding-32x32:
    - shard-rkl:          NOTRUN -> [SKIP][171] ([i915#14544] / [i915#3555])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-32x32.html

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-dg2:          NOTRUN -> [SKIP][172] ([i915#13049]) +2 other tests skip
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-dg1:          NOTRUN -> [SKIP][173] ([i915#13049])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-19/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic:
    - shard-mtlp:         NOTRUN -> [SKIP][174] ([i915#9809]) +1 other test skip
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-6/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html
    - shard-dg2:          NOTRUN -> [SKIP][175] ([i915#13046] / [i915#5354])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2:          NOTRUN -> [SKIP][176] ([i915#4103])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
    - shard-dg1:          NOTRUN -> [SKIP][177] ([i915#4103])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

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

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

  * igt@kms_dp_aux_dev@basic:
    - shard-rkl:          NOTRUN -> [SKIP][180] ([i915#1257])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_dp_aux_dev@basic.html
    - shard-tglu:         NOTRUN -> [SKIP][181] ([i915#1257])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-9/igt@kms_dp_aux_dev@basic.html

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

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-tglu:         NOTRUN -> [SKIP][183] ([i915#13748])
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-3/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dp_link_training@uhbr-sst:
    - shard-dg2:          NOTRUN -> [SKIP][184] ([i915#13748])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@kms_dp_link_training@uhbr-sst.html

  * igt@kms_dsc@dsc-basic:
    - shard-tglu-1:       NOTRUN -> [SKIP][185] ([i915#16361]) +3 other tests skip
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_dsc@dsc-basic.html

  * igt@kms_dsc@dsc-basic-ultrajoiner:
    - shard-dg1:          NOTRUN -> [SKIP][186] ([i915#16361])
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@kms_dsc@dsc-basic-ultrajoiner.html
    - shard-mtlp:         NOTRUN -> [SKIP][187] ([i915#16361])
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-7/igt@kms_dsc@dsc-basic-ultrajoiner.html
    - shard-dg2:          NOTRUN -> [SKIP][188] ([i915#16361])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-3/igt@kms_dsc@dsc-basic-ultrajoiner.html

  * igt@kms_dsc@dsc-fractional-bpp-bigjoiner:
    - shard-tglu:         NOTRUN -> [SKIP][189] ([i915#16361]) +3 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-7/igt@kms_dsc@dsc-fractional-bpp-bigjoiner.html

  * igt@kms_dsc@dsc-with-output-formats-bigjoiner:
    - shard-rkl:          NOTRUN -> [SKIP][190] ([i915#16361]) +5 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][191] ([i915#9878])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_fbcon_fbt@psr:
    - shard-rkl:          NOTRUN -> [SKIP][192] ([i915#3955])
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-tglu:         NOTRUN -> [SKIP][193] ([i915#16599])
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-4/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_feature_discovery@dsc:
    - shard-dg2:          NOTRUN -> [SKIP][194] ([i915#16600])
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-10/igt@kms_feature_discovery@dsc.html
    - shard-rkl:          NOTRUN -> [SKIP][195] ([i915#14544] / [i915#16600])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_feature_discovery@dsc.html
    - shard-dg1:          NOTRUN -> [SKIP][196] ([i915#16600])
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_feature_discovery@dsc.html
    - shard-tglu:         NOTRUN -> [SKIP][197] ([i915#16600])
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-8/igt@kms_feature_discovery@dsc.html
    - shard-mtlp:         NOTRUN -> [SKIP][198] ([i915#16600])
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-4/igt@kms_feature_discovery@dsc.html

  * igt@kms_feature_discovery@psr1:
    - shard-dg2:          NOTRUN -> [SKIP][199] ([i915#658])
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-flip-vs-fences:
    - shard-dg2:          NOTRUN -> [SKIP][200] ([i915#8381]) +1 other test skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_flip@2x-flip-vs-fences.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-rkl:          NOTRUN -> [SKIP][201] ([i915#9934]) +6 other tests skip
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][202] ([i915#9934]) +3 other tests skip
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html

  * igt@kms_flip@2x-nonexisting-fb-interruptible:
    - shard-tglu:         NOTRUN -> [SKIP][203] ([i915#3637] / [i915#9934]) +1 other test skip
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-3/igt@kms_flip@2x-nonexisting-fb-interruptible.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-tglu-1:       NOTRUN -> [SKIP][204] ([i915#3637] / [i915#9934]) +7 other tests skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

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

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-dg2:          [PASS][206] -> [FAIL][207] ([i915#13027])
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a3:
    - shard-dg2:          [PASS][208] -> [FAIL][209] ([i915#15718])
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a3.html
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a3.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][210] ([i915#12314] / [i915#12745] / [i915#4839])
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk8/igt@kms_flip@flip-vs-suspend.html

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

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling:
    - shard-dg2:          NOTRUN -> [SKIP][212] ([i915#15643])
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html
    - shard-dg1:          NOTRUN -> [SKIP][213] ([i915#15643])
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-17/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling:
    - shard-tglu:         NOTRUN -> [SKIP][214] ([i915#15643]) +2 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling:
    - shard-rkl:          NOTRUN -> [SKIP][216] ([i915#15643]) +6 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html

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

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][218] ([i915#15991] / [i915#1825]) +6 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][219] ([i915#15990] / [i915#8708]) +4 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][220] ([i915#15990] / [i915#8708]) +7 other tests skip
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-1/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][221] ([i915#10056] / [i915#16593])
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk5/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-draw-mmap-gtt:
    - shard-rkl:          [PASS][222] -> [SKIP][223] ([i915#15989]) +3 other tests skip
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][224] ([i915#15990]) +4 other tests skip
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-4/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render:
    - shard-dg2:          NOTRUN -> [SKIP][225] ([i915#15989]) +8 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-7/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render.html
    - shard-rkl:          NOTRUN -> [SKIP][226] ([i915#15989]) +24 other tests skip
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render.html
    - shard-dg1:          NOTRUN -> [SKIP][227] ([i915#15989]) +4 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-13/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render.html

  * igt@kms_frontbuffer_tracking@fbchdr-suspend:
    - shard-glk11:        NOTRUN -> [INCOMPLETE][228] ([i915#16056] / [i915#16593])
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk11/igt@kms_frontbuffer_tracking@fbchdr-suspend.html

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

  * igt@kms_frontbuffer_tracking@fbchdr-tiling-y:
    - shard-dg2:          NOTRUN -> [SKIP][230] ([i915#10055])
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_frontbuffer_tracking@fbchdr-tiling-y.html
    - shard-mtlp:         NOTRUN -> [SKIP][231] ([i915#10055])
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-1/igt@kms_frontbuffer_tracking@fbchdr-tiling-y.html

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

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][233] ([i915#15990] / [i915#4423] / [i915#8708]) +1 other test skip
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html

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

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][235] ([i915#15102]) +4 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render.html

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

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move:
    - shard-tglu-1:       NOTRUN -> [SKIP][237] ([i915#15102]) +32 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][238] ([i915#15102]) +32 other tests skip
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][239] ([i915#15991]) +21 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-indfb-msflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][240] ([i915#14544]) +16 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-shrfb-fliptrack-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][241] ([i915#15990]) +21 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-3/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-shrfb-fliptrack-mmap-gtt.html
    - shard-dg1:          NOTRUN -> [SKIP][242] ([i915#15990]) +11 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-indfb-draw-mmap-gtt:
    - shard-tglu-1:       NOTRUN -> [SKIP][243] ([i915#15989]) +14 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-shrfb-pgflip-blt:
    - shard-tglu:         NOTRUN -> [SKIP][244] ([i915#15989]) +12 other tests skip
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-6/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-glk:          [PASS][245] -> [SKIP][246] +1 other test skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-glk8/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-draw-mmap-gtt.html
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk1/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@hdr-2p-rte:
    - shard-tglu-1:       NOTRUN -> [SKIP][247] +79 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_frontbuffer_tracking@hdr-2p-rte.html
    - shard-dg1:          NOTRUN -> [SKIP][248] +23 other tests skip
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_frontbuffer_tracking@hdr-2p-rte.html

  * igt@kms_frontbuffer_tracking@hdr-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][249] ([i915#16056] / [i915#16593])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk8/igt@kms_frontbuffer_tracking@hdr-suspend.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff:
    - shard-rkl:          NOTRUN -> [SKIP][250] ([i915#14544] / [i915#15102] / [i915#3023]) +3 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff.html

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

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][252] ([i915#1825]) +12 other tests skip
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][253] +107 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][254] ([i915#14544] / [i915#1825])
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt:
    - shard-tglu:         NOTRUN -> [SKIP][255] ([i915#15102]) +40 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-10/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt.html
    - shard-mtlp:         NOTRUN -> [SKIP][256] ([i915#15990] / [i915#8708]) +2 other tests skip
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-2/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][257] ([i915#14544] / [i915#15102]) +3 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][258] ([i915#15991]) +7 other tests skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-6/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][259] ([i915#15990] / [i915#4423])
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psrhdr-rgb101010-draw-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][260] ([i915#15989]) +4 other tests skip
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-1/igt@kms_frontbuffer_tracking@psrhdr-rgb101010-draw-mmap-cpu.html

  * igt@kms_hdmi_inject@inject-4k:
    - shard-mtlp:         [PASS][261] -> [SKIP][262] ([i915#15725])
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-mtlp-4/igt@kms_hdmi_inject@inject-4k.html
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-1/igt@kms_hdmi_inject@inject-4k.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-rkl:          [PASS][263] -> [SKIP][264] ([i915#16644] / [i915#3555] / [i915#8228]) +1 other test skip
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_hdr@bpc-switch-dpms.html
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_hdr@bpc-switch-dpms.html

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

  * igt@kms_hdr@static-toggle:
    - shard-dg2:          NOTRUN -> [SKIP][266] ([i915#16518] / [i915#3555] / [i915#8228]) +1 other test skip
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_hdr@static-toggle.html
    - shard-dg1:          NOTRUN -> [SKIP][267] ([i915#3555] / [i915#8228])
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_hdr@static-toggle.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][268] ([i915#16644] / [i915#3555] / [i915#8228]) +1 other test skip
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_hdr@static-toggle-suspend.html
    - shard-tglu:         NOTRUN -> [SKIP][269] ([i915#3555] / [i915#8228])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-4/igt@kms_hdr@static-toggle-suspend.html

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

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][271] ([i915#13688])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-tglu:         NOTRUN -> [SKIP][272] ([i915#15458])
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-8/igt@kms_joiner@basic-ultra-joiner.html

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

  * igt@kms_mst@mst-suspend-read-crc:
    - shard-mtlp:         NOTRUN -> [SKIP][274] ([i915#16451])
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-8/igt@kms_mst@mst-suspend-read-crc.html
    - shard-dg2:          NOTRUN -> [SKIP][275] ([i915#16451])
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-7/igt@kms_mst@mst-suspend-read-crc.html
    - shard-rkl:          NOTRUN -> [SKIP][276] ([i915#16451])
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@kms_mst@mst-suspend-read-crc.html
    - shard-dg1:          NOTRUN -> [SKIP][277] ([i915#16451])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-17/igt@kms_mst@mst-suspend-read-crc.html
    - shard-tglu:         NOTRUN -> [SKIP][278] ([i915#16451])
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-7/igt@kms_mst@mst-suspend-read-crc.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-dg2:          NOTRUN -> [SKIP][279] ([i915#15815])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
    - shard-dg1:          NOTRUN -> [SKIP][280] ([i915#15815])
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-tglu-1:       NOTRUN -> [SKIP][281] ([i915#6301])
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c:
    - shard-dg2:          NOTRUN -> [SKIP][282] +4 other tests skip
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-5/igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c.html

  * igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c:
    - shard-mtlp:         NOTRUN -> [SKIP][283] +3 other tests skip
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-6/igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c.html

  * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping:
    - shard-tglu:         NOTRUN -> [SKIP][284] ([i915#15709]) +2 other tests skip
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-4/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html
    - shard-dg2:          NOTRUN -> [SKIP][285] ([i915#15709]) +1 other test skip
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-5/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html
    - shard-rkl:          NOTRUN -> [SKIP][286] ([i915#15709]) +2 other tests skip
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html
    - shard-dg1:          NOTRUN -> [SKIP][287] ([i915#15709])
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-16/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html

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

  * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-a-plane-5:
    - shard-rkl:          NOTRUN -> [SKIP][289] ([i915#16386]) +1 other test skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-a-plane-5.html

  * igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping:
    - shard-rkl:          NOTRUN -> [SKIP][290] ([i915#14544] / [i915#15709])
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-yf-tiled-ccs-modifier@pipe-a-plane-4:
    - shard-glk11:        NOTRUN -> [SKIP][291] +76 other tests skip
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk11/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier@pipe-a-plane-4.html

  * igt@kms_plane@plane-panning-bottom-right-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][292] ([i915#13026]) +1 other test incomplete
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk3/igt@kms_plane@plane-panning-bottom-right-suspend.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb:
    - shard-glk:          NOTRUN -> [FAIL][293] ([i915#10647] / [i915#12177])
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk8/igt@kms_plane_alpha_blend@alpha-transparent-fb.html

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

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

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][296] ([i915#13958]) +2 other tests skip
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_plane_multiple@2x-tiling-4.html
    - shard-tglu:         NOTRUN -> [SKIP][297] ([i915#13958]) +1 other test skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-2/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-dg2:          NOTRUN -> [SKIP][298] ([i915#13958])
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_plane_multiple@2x-tiling-y.html
    - shard-dg1:          NOTRUN -> [SKIP][299] ([i915#13958])
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_plane_multiple@2x-tiling-y.html
    - shard-mtlp:         NOTRUN -> [SKIP][300] ([i915#13958])
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-8/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c:
    - shard-tglu:         NOTRUN -> [SKIP][301] ([i915#15329]) +9 other tests skip
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c.html

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

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
    - shard-tglu-1:       NOTRUN -> [SKIP][303] ([i915#15329]) +9 other tests skip
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html

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

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][305] ([i915#12343])
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@kms_pm_backlight@brightness-with-dpms.html
    - shard-tglu-1:       NOTRUN -> [SKIP][306] ([i915#12343])
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][307] ([i915#12343] / [i915#5354])
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_pm_backlight@fade-with-suspend.html
    - shard-dg1:          NOTRUN -> [SKIP][308] ([i915#12343] / [i915#5354])
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-tglu-1:       NOTRUN -> [SKIP][309] ([i915#3828]) +1 other test skip
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-tglu:         NOTRUN -> [SKIP][310] ([i915#15128])
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-6/igt@kms_pm_dc@dc6-dpms.html

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

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-dg2:          [PASS][312] -> [SKIP][313] ([i915#15073])
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-1/igt@kms_pm_rpm@dpms-non-lpsp.html
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@fences:
    - shard-dg1:          NOTRUN -> [SKIP][314] ([i915#4077]) +4 other tests skip
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-19/igt@kms_pm_rpm@fences.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg1:          [PASS][315] -> [SKIP][316] ([i915#15073])
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-17/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
    - shard-tglu:         NOTRUN -> [SKIP][317] ([i915#15073])
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-9/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

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

  * igt@kms_prime@d3hot:
    - shard-dg2:          NOTRUN -> [SKIP][319] ([i915#6524] / [i915#6805])
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_prime@d3hot.html
    - shard-dg1:          NOTRUN -> [SKIP][320] ([i915#6524])
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_prime@d3hot.html

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

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

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

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
    - shard-glk11:        NOTRUN -> [SKIP][324] ([i915#11520]) +2 other tests skip
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk11/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html

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

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf:
    - shard-mtlp:         NOTRUN -> [SKIP][326] ([i915#12316])
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-1/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf.html
    - shard-snb:          NOTRUN -> [SKIP][327] ([i915#11520])
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-snb6/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf.html
    - shard-dg1:          NOTRUN -> [SKIP][328] ([i915#11520])
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area:
    - shard-tglu:         NOTRUN -> [SKIP][329] ([i915#11520]) +3 other tests skip
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-10/igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area:
    - shard-dg2:          NOTRUN -> [SKIP][330] ([i915#11520]) +3 other tests skip
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-tglu:         NOTRUN -> [SKIP][331] ([i915#9683])
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-3/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-rkl:          NOTRUN -> [SKIP][332] ([i915#9683]) +1 other test skip
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_psr2_su@page_flip-xrgb8888.html

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

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

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

  * igt@kms_psr@pr-dpms:
    - shard-mtlp:         NOTRUN -> [SKIP][336] ([i915#9688]) +5 other tests skip
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-8/igt@kms_psr@pr-dpms.html

  * igt@kms_psr@psr-cursor-plane-move:
    - shard-dg1:          NOTRUN -> [SKIP][337] ([i915#1072] / [i915#9732]) +7 other tests skip
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-14/igt@kms_psr@psr-cursor-plane-move.html

  * igt@kms_psr@psr-sprite-mmap-cpu:
    - shard-tglu-1:       NOTRUN -> [SKIP][338] ([i915#9732]) +16 other tests skip
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_psr@psr-sprite-mmap-cpu.html

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

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

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-rkl:          NOTRUN -> [SKIP][341] ([i915#15949])
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-glk11:        NOTRUN -> [INCOMPLETE][342] ([i915#15492] / [i915#16184])
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk11/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html

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

  * igt@kms_rotation_crc@primary-rotation-90:
    - shard-dg1:          [PASS][344] -> [DMESG-WARN][345] ([i915#4423]) +3 other tests dmesg-warn
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-12/igt@kms_rotation_crc@primary-rotation-90.html
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_rotation_crc@primary-rotation-90.html

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

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

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

  * igt@kms_setmode@basic-clone-single-crtc:
    - shard-dg2:          NOTRUN -> [SKIP][349] ([i915#3555]) +2 other tests skip
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-3/igt@kms_setmode@basic-clone-single-crtc.html
    - shard-dg1:          NOTRUN -> [SKIP][350] ([i915#3555]) +2 other tests skip
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@kms_setmode@basic-clone-single-crtc.html
    - shard-mtlp:         NOTRUN -> [SKIP][351] ([i915#3555] / [i915#8809])
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-7/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1:
    - shard-glk:          [PASS][352] -> [INCOMPLETE][353] ([i915#12276])
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-glk2/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1.html
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk9/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_vrr@flip-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][354] ([i915#15243] / [i915#3555])
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_vrr@flip-dpms.html

  * igt@kms_vrr@lobf:
    - shard-rkl:          NOTRUN -> [SKIP][355] ([i915#11920])
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@kms_vrr@lobf.html
    - shard-tglu-1:       NOTRUN -> [SKIP][356] ([i915#11920])
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-1/igt@kms_vrr@lobf.html
    - shard-dg1:          NOTRUN -> [SKIP][357] ([i915#11920])
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_vrr@lobf.html
    - shard-mtlp:         NOTRUN -> [SKIP][358] ([i915#11920])
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-8/igt@kms_vrr@lobf.html

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

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

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

  * igt@perf_pmu@busy-double-start:
    - shard-mtlp:         NOTRUN -> [FAIL][363] ([i915#4349]) +2 other tests fail
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-8/igt@perf_pmu@busy-double-start.html

  * igt@perf_pmu@busy-hang@vcs0:
    - shard-snb:          [PASS][364] -> [FAIL][365] ([i915#16492]) +3 other tests fail
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-snb5/igt@perf_pmu@busy-hang@vcs0.html
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-snb4/igt@perf_pmu@busy-hang@vcs0.html

  * igt@perf_pmu@busy-idle@vcs0:
    - shard-dg1:          [PASS][366] -> [FAIL][367] ([i915#4349]) +2 other tests fail
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-14/igt@perf_pmu@busy-idle@vcs0.html
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-15/igt@perf_pmu@busy-idle@vcs0.html

  * igt@perf_pmu@module-unload:
    - shard-glk:          NOTRUN -> [ABORT][368] ([i915#15778])
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk6/igt@perf_pmu@module-unload.html

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

  * igt@prime_vgem@basic-fence-read:
    - shard-rkl:          NOTRUN -> [SKIP][370] ([i915#3291] / [i915#3708])
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@fence-flip-hang:
    - shard-rkl:          NOTRUN -> [SKIP][371] ([i915#3708])
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@prime_vgem@fence-flip-hang.html

  * igt@prime_vgem@fence-write-hang:
    - shard-tglu:         NOTRUN -> [SKIP][372] +83 other tests skip
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-6/igt@prime_vgem@fence-write-hang.html

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

  
#### Possible fixes ####

  * igt@gem_eio@in-flight-suspend:
    - shard-rkl:          [INCOMPLETE][374] ([i915#13390]) -> [PASS][375]
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@gem_eio@in-flight-suspend.html
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@gem_eio@in-flight-suspend.html

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

  * igt@gem_mmap_offset@clear-via-pagefault:
    - shard-mtlp:         [INCOMPLETE][378] ([i915#16108] / [i915#16202]) -> [PASS][379] +1 other test pass
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-mtlp-3/igt@gem_mmap_offset@clear-via-pagefault.html
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-6/igt@gem_mmap_offset@clear-via-pagefault.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-glk:          [INCOMPLETE][380] ([i915#13356] / [i915#15172]) -> [PASS][381]
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-glk2/igt@i915_pm_rpm@system-suspend-execbuf.html
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk4/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-rkl:          [INCOMPLETE][382] ([i915#4817]) -> [PASS][383]
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-3/igt@i915_suspend@fence-restore-untiled.html
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-tglu:         [FAIL][384] ([i915#15662]) -> [PASS][385] +1 other test pass
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-tglu-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-10/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels@pipe-a-edp-1:
    - shard-mtlp:         [FAIL][386] ([i915#5956]) -> [PASS][387] +1 other test pass
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-mtlp-7/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels@pipe-a-edp-1.html
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-2/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels@pipe-a-edp-1.html

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-3:
    - shard-dg2:          [FAIL][388] ([i915#5956]) -> [PASS][389] +1 other test pass
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-5/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-3.html
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-3.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-tglu:         [FAIL][390] ([i915#13566]) -> [PASS][391] +5 other tests pass
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-tglu-8/igt@kms_cursor_crc@cursor-onscreen-256x85.html
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-tglu-9/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-2:
    - shard-rkl:          [FAIL][392] ([i915#13566]) -> [PASS][393] +4 other tests pass
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-7/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-2.html
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-2.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-rkl:          [INCOMPLETE][394] ([i915#16276] / [i915#6113]) -> [PASS][395] +2 other tests pass
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_flip@flip-vs-suspend.html
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
    - shard-glk:          [SKIP][396] -> [PASS][397] +2 other tests pass
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-glk4/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk8/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbchdr-tiling-linear:
    - shard-rkl:          [SKIP][398] ([i915#15989]) -> [PASS][399] +13 other tests pass
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-7/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-dg2:          [SKIP][400] ([i915#15989]) -> [PASS][401] +3 other tests pass
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-6/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-draw-mmap-cpu.html
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-10/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_hdr@static-toggle:
    - shard-rkl:          [SKIP][402] ([i915#16644] / [i915#3555] / [i915#8228]) -> [PASS][403]
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_hdr@static-toggle.html
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-1/igt@kms_hdr@static-toggle.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-rkl:          [SKIP][404] ([i915#15073]) -> [PASS][405] +2 other tests pass
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-7/igt@kms_pm_rpm@dpms-lpsp.html
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_pm_rpm@dpms-lpsp.html
    - shard-dg1:          [SKIP][406] ([i915#15073]) -> [PASS][407] +1 other test pass
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-12/igt@kms_pm_rpm@dpms-lpsp.html
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-14/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@drm-resources-equal:
    - shard-dg1:          [DMESG-WARN][408] ([i915#4423]) -> [PASS][409] +2 other tests pass
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-15/igt@kms_pm_rpm@drm-resources-equal.html
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-17/igt@kms_pm_rpm@drm-resources-equal.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg2:          [SKIP][410] ([i915#15073]) -> [PASS][411] +2 other tests pass
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-6/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  
#### Warnings ####

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-rkl:          [SKIP][412] ([i915#4525]) -> [SKIP][413] ([i915#14544] / [i915#4525])
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-7/igt@gem_exec_balancer@parallel-bb-first.html
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@gem_exec_reloc@basic-write-read-active:
    - shard-rkl:          [SKIP][414] ([i915#14544] / [i915#3281]) -> [SKIP][415] ([i915#3281]) +1 other test skip
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@gem_exec_reloc@basic-write-read-active.html
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@gem_exec_reloc@basic-write-read-active.html

  * igt@gem_exec_reloc@basic-write-wc-noreloc:
    - shard-rkl:          [SKIP][416] ([i915#3281]) -> [SKIP][417] ([i915#14544] / [i915#3281]) +3 other tests skip
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@gem_exec_reloc@basic-write-wc-noreloc.html
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@gem_exec_reloc@basic-write-wc-noreloc.html

  * igt@gem_readwrite@write-bad-handle:
    - shard-rkl:          [SKIP][418] ([i915#3282]) -> [SKIP][419] ([i915#14544] / [i915#3282]) +1 other test skip
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@gem_readwrite@write-bad-handle.html
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@gem_readwrite@write-bad-handle.html

  * igt@gen9_exec_parse@bb-start-far:
    - shard-rkl:          [SKIP][420] ([i915#14544] / [i915#2527]) -> [SKIP][421] ([i915#2527])
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@gen9_exec_parse@bb-start-far.html
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@gen9_exec_parse@bb-start-far.html

  * igt@i915_module_load@resize-bar:
    - shard-rkl:          [SKIP][422] ([i915#14544] / [i915#6412]) -> [SKIP][423] ([i915#6412])
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@i915_module_load@resize-bar.html
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@i915_module_load@resize-bar.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-180:
    - shard-rkl:          [SKIP][424] ([i915#14544] / [i915#5286]) -> [SKIP][425] ([i915#5286])
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_big_fb@4-tiled-16bpp-rotate-180.html
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@kms_big_fb@4-tiled-16bpp-rotate-180.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-0:
    - shard-rkl:          [SKIP][426] ([i915#5286]) -> [SKIP][427] ([i915#14544] / [i915#5286])
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-2/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg1:          [SKIP][428] ([i915#3828]) -> [SKIP][429] ([i915#3828] / [i915#4423])
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-17/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-90:
    - shard-rkl:          [SKIP][430] ([i915#14544] / [i915#3638]) -> [SKIP][431] ([i915#3638]) +1 other test skip
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-ccs:
    - shard-dg1:          [SKIP][432] ([i915#6095]) -> [SKIP][433] ([i915#4423] / [i915#6095])
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-13/igt@kms_ccs@bad-aux-stride-y-tiled-ccs.html
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_ccs@bad-aux-stride-y-tiled-ccs.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-ccs:
    - shard-rkl:          [SKIP][434] ([i915#14098] / [i915#6095]) -> [SKIP][435] ([i915#14098] / [i915#14544] / [i915#6095]) +2 other tests skip
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_ccs@bad-pixel-format-y-tiled-ccs.html
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_ccs@bad-pixel-format-y-tiled-ccs.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-a-hdmi-a-2:
    - shard-rkl:          [SKIP][436] ([i915#6095]) -> [SKIP][437] ([i915#14544] / [i915#6095]) +1 other test skip
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-a-hdmi-a-2.html
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs:
    - shard-rkl:          [SKIP][438] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][439] ([i915#14098] / [i915#6095]) +1 other test skip
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-glk:          [INCOMPLETE][440] ([i915#14694] / [i915#15582]) -> [INCOMPLETE][441] ([i915#15582])
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-glk3/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk2/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-rkl:          [SKIP][442] ([i915#14544] / [i915#3742]) -> [SKIP][443] ([i915#3742])
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_cdclk@mode-transition.html
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@kms_cdclk@mode-transition.html

  * igt@kms_cdclk@plane-scaling:
    - shard-rkl:          [SKIP][444] ([i915#3742]) -> [SKIP][445] ([i915#14544] / [i915#3742])
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-7/igt@kms_cdclk@plane-scaling.html
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_audio@dp-audio-edid:
    - shard-rkl:          [SKIP][446] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][447] ([i915#11151] / [i915#7828])
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_chamelium_audio@dp-audio-edid.html
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@kms_chamelium_audio@dp-audio-edid.html

  * igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d:
    - shard-rkl:          [SKIP][448] ([i915#14544] / [i915#16471]) -> [SKIP][449] ([i915#16471])
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d.html
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d:
    - shard-rkl:          [SKIP][450] ([i915#16471]) -> [SKIP][451] ([i915#14544] / [i915#16471])
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-8/igt@kms_chamelium_color_pipeline@plane-lut1d.html
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_chamelium_color_pipeline@plane-lut1d.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - shard-rkl:          [SKIP][452] ([i915#11151] / [i915#7828]) -> [SKIP][453] ([i915#11151] / [i915#14544] / [i915#7828]) +2 other tests skip
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-8/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-rkl:          [SKIP][454] ([i915#15865]) -> [SKIP][455] ([i915#14544] / [i915#15865])
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-2/igt@kms_content_protection@atomic-dpms.html
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-rkl:          [SKIP][456] ([i915#15330] / [i915#3116]) -> [SKIP][457] ([i915#14544] / [i915#15330] / [i915#3116])
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-8/igt@kms_content_protection@dp-mst-lic-type-0.html
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
    - shard-rkl:          [SKIP][458] ([i915#14544] / [i915#15330]) -> [SKIP][459] ([i915#15330])
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html

  * igt@kms_content_protection@lic-type-1:
    - shard-rkl:          [SKIP][460] ([i915#14544] / [i915#15865]) -> [SKIP][461] ([i915#15865])
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_content_protection@lic-type-1.html
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_content_protection@lic-type-1.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          [SKIP][462] ([i915#9433]) -> [SKIP][463] ([i915#15865])
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-12/igt@kms_content_protection@mei-interface.html
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-rkl:          [SKIP][464] ([i915#13049]) -> [SKIP][465] ([i915#13049] / [i915#14544]) +1 other test skip
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_cursor_crc@cursor-offscreen-512x170.html
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-random-max-size:
    - shard-rkl:          [SKIP][466] ([i915#14544] / [i915#3555]) -> [SKIP][467] ([i915#3555])
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_cursor_crc@cursor-random-max-size.html
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@kms_cursor_crc@cursor-random-max-size.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-rkl:          [SKIP][468] ([i915#4103]) -> [SKIP][469] ([i915#14544] / [i915#4103])
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-rkl:          [SKIP][470] ([i915#9723]) -> [SKIP][471] ([i915#14544] / [i915#9723])
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-2/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc-bigjoiner:
    - shard-rkl:          [SKIP][472] ([i915#16361]) -> [SKIP][473] ([i915#14544] / [i915#16361]) +1 other test skip
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_dsc@dsc-fractional-bpp-with-bpc-bigjoiner.html
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_dsc@dsc-fractional-bpp-with-bpc-bigjoiner.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-rkl:          [SKIP][474] ([i915#14544] / [i915#16599]) -> [SKIP][475] ([i915#16599])
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_feature_discovery@dp-mst.html
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_flip@2x-absolute-wf_vblank:
    - shard-dg1:          [SKIP][476] ([i915#9934]) -> [SKIP][477] ([i915#4423] / [i915#9934]) +1 other test skip
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-13/igt@kms_flip@2x-absolute-wf_vblank.html
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_flip@2x-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-fences-interruptible:
    - shard-rkl:          [SKIP][478] ([i915#9934]) -> [SKIP][479] ([i915#14544] / [i915#9934]) +3 other tests skip
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-8/igt@kms_flip@2x-flip-vs-fences-interruptible.html
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_flip@2x-flip-vs-fences-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-glk:          [INCOMPLETE][480] ([i915#12745] / [i915#4839]) -> [INCOMPLETE][481] ([i915#12314] / [i915#12745] / [i915#4839])
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-glk4/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk5/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2:
    - shard-glk:          [INCOMPLETE][482] ([i915#12745]) -> [INCOMPLETE][483] ([i915#12314] / [i915#12745])
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-glk4/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2.html
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-glk5/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@2x-plain-flip:
    - shard-rkl:          [SKIP][484] ([i915#14544] / [i915#9934]) -> [SKIP][485] ([i915#9934]) +3 other tests skip
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_flip@2x-plain-flip.html
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-1/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
    - shard-dg1:          [SKIP][486] ([i915#15643]) -> [SKIP][487] ([i915#15643] / [i915#4423])
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-16/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-17/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling:
    - shard-rkl:          [SKIP][488] ([i915#15643]) -> [SKIP][489] ([i915#14544] / [i915#15643]) +2 other tests skip
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-p010-4tile-to-p016-4tile:
    - shard-rkl:          [SKIP][490] ([i915#14544] / [i915#15643]) -> [SKIP][491] ([i915#15643]) +1 other test skip
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_flip_scaled_crc@flip-p010-4tile-to-p016-4tile.html
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-1/igt@kms_flip_scaled_crc@flip-p010-4tile-to-p016-4tile.html

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

  * igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-blt:
    - shard-rkl:          [SKIP][494] ([i915#14544]) -> [SKIP][495] +17 other tests skip
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-blt.html
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-3/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-tiling-4:
    - shard-rkl:          [SKIP][496] ([i915#5439]) -> [SKIP][497] ([i915#14544] / [i915#5439]) +1 other test skip
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-5/igt@kms_frontbuffer_tracking@fbchdr-tiling-4.html
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
    - shard-rkl:          [SKIP][498] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][499] ([i915#15102] / [i915#3023])
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move:
    - shard-dg2:          [SKIP][500] ([i915#10433] / [i915#15102]) -> [SKIP][501] ([i915#15102]) +4 other tests skip
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt:
    - shard-rkl:          [SKIP][502] ([i915#15102] / [i915#3023]) -> [SKIP][503] ([i915#14544] / [i915#15102] / [i915#3023]) +2 other tests skip
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt.html
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary:
    - shard-dg2:          [SKIP][504] ([i915#15102]) -> [SKIP][505] ([i915#10433] / [i915#15102]) +1 other test skip
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary.html
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte:
    - shard-dg1:          [SKIP][506] ([i915#15102]) -> [SKIP][507] ([i915#15102] / [i915#4423])
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html

  * igt@kms_frontbuffer_tracking@hdr-rgb565-draw-mmap-cpu:
    - shard-dg1:          [SKIP][508] ([i915#15989]) -> [SKIP][509] ([i915#15989] / [i915#4423])
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-14/igt@kms_frontbuffer_tracking@hdr-rgb565-draw-mmap-cpu.html
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_frontbuffer_tracking@hdr-rgb565-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt:
    - shard-rkl:          [SKIP][510] ([i915#14544] / [i915#15102]) -> [SKIP][511] ([i915#15102]) +4 other tests skip
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-rkl:          [SKIP][512] -> [SKIP][513] ([i915#14544]) +30 other tests skip
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt.html
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-dg1:          [SKIP][514] ([i915#15990]) -> [SKIP][515] ([i915#15990] / [i915#4423]) +3 other tests skip
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-17/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-mmap-wc.html
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_frontbuffer_tracking@psrhdr-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-shrfb-msflip-blt:
    - shard-rkl:          [SKIP][516] ([i915#15102]) -> [SKIP][517] ([i915#14544] / [i915#15102]) +10 other tests skip
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-8/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-shrfb-msflip-blt.html
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-render:
    - shard-dg1:          [SKIP][518] ([i915#4423]) -> [SKIP][519]
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-16/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-render.html
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-17/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-pri-shrfb-draw-render.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-mtlp:         [SKIP][520] ([i915#12713] / [i915#16490]) -> [SKIP][521] ([i915#1187] / [i915#12713] / [i915#16490])
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-mtlp-5/igt@kms_hdr@brightness-with-hdr.html
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-mtlp-1/igt@kms_hdr@brightness-with-hdr.html
    - shard-rkl:          [SKIP][522] ([i915#1187] / [i915#12713] / [i915#16644]) -> [SKIP][523] ([i915#12713] / [i915#16644])
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-3/igt@kms_hdr@brightness-with-hdr.html
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-rkl:          [SKIP][524] ([i915#13688]) -> [SKIP][525] ([i915#13688] / [i915#14544])
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_joiner@basic-max-non-joiner.html
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-rkl:          [SKIP][526] ([i915#15458]) -> [SKIP][527] ([i915#14544] / [i915#15458])
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-rkl:          [SKIP][528] ([i915#14544] / [i915#6301]) -> [SKIP][529] ([i915#6301])
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_panel_fitting@atomic-fastset.html
   [529]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-8/igt@kms_panel_fitting@atomic-fastset.html
    - shard-dg1:          [SKIP][530] ([i915#6301]) -> [SKIP][531] ([i915#4423] / [i915#6301])
   [530]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-15/igt@kms_panel_fitting@atomic-fastset.html
   [531]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-18/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_pipe_stress@stress-xrgb8888-4tiled:
    - shard-rkl:          [SKIP][532] ([i915#14712]) -> [SKIP][533] ([i915#14544] / [i915#14712])
   [532]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-8/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html

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

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
    - shard-rkl:          [SKIP][536] ([i915#14544] / [i915#15329]) -> [SKIP][537] ([i915#15329]) +3 other tests skip
   [536]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html
   [537]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-rkl:          [SKIP][538] ([i915#12343] / [i915#5354]) -> [SKIP][539] ([i915#12343] / [i915#14544] / [i915#5354]) +1 other test skip
   [538]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-8/igt@kms_pm_backlight@bad-brightness.html
   [539]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-rkl:          [SKIP][540] ([i915#9340]) -> [SKIP][541] ([i915#14544] / [i915#9340])
   [540]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-4/igt@kms_pm_lpsp@kms-lpsp.html
   [541]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_pm_lpsp@kms-lpsp.html
    - shard-dg1:          [SKIP][542] ([i915#3828]) -> [SKIP][543] ([i915#9340])
   [542]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-14/igt@kms_pm_lpsp@kms-lpsp.html
   [543]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-12/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@system-suspend-idle:
    - shard-dg2:          [ABORT][544] ([i915#15132]) -> [INCOMPLETE][545] ([i915#14419])
   [544]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg2-10/igt@kms_pm_rpm@system-suspend-idle.html
   [545]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg2-10/igt@kms_pm_rpm@system-suspend-idle.html

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

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
    - shard-rkl:          [SKIP][548] ([i915#11520] / [i915#14544]) -> [SKIP][549] ([i915#11520])
   [548]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
   [549]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr@fbc-pr-no-drrs:
    - shard-dg1:          [SKIP][550] ([i915#1072] / [i915#4423] / [i915#9732]) -> [SKIP][551] ([i915#1072] / [i915#9732])
   [550]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-13/igt@kms_psr@fbc-pr-no-drrs.html
   [551]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-13/igt@kms_psr@fbc-pr-no-drrs.html

  * igt@kms_psr@fbc-psr2-primary-blt:
    - shard-rkl:          [SKIP][552] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][553] ([i915#1072] / [i915#9732]) +3 other tests skip
   [552]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_psr@fbc-psr2-primary-blt.html
   [553]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-4/igt@kms_psr@fbc-psr2-primary-blt.html

  * igt@kms_psr@psr-suspend:
    - shard-rkl:          [SKIP][554] ([i915#1072] / [i915#9732]) -> [SKIP][555] ([i915#1072] / [i915#14544] / [i915#9732]) +7 other tests skip
   [554]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-7/igt@kms_psr@psr-suspend.html
   [555]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_psr@psr-suspend.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
    - shard-rkl:          [SKIP][556] ([i915#14544] / [i915#5289]) -> [SKIP][557] ([i915#5289])
   [556]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html
   [557]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-2/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-rkl:          [SKIP][558] ([i915#5289]) -> [SKIP][559] ([i915#14544] / [i915#5289])
   [558]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
   [559]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-dg1:          [SKIP][560] ([i915#4423] / [i915#5289]) -> [SKIP][561] ([i915#5289])
   [560]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-13/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
   [561]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-14/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-rkl:          [SKIP][562] ([i915#3555]) -> [SKIP][563] ([i915#14544] / [i915#3555]) +1 other test skip
   [562]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-2/igt@kms_setmode@invalid-clone-single-crtc.html
   [563]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@perf_pmu@module-unload:
    - shard-dg1:          [ABORT][564] ([i915#15778]) -> [ABORT][565] ([i915#13029] / [i915#15778])
   [564]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-dg1-16/igt@perf_pmu@module-unload.html
   [565]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-dg1-19/igt@perf_pmu@module-unload.html

  * igt@prime_udl@share-import-addfb:
    - shard-rkl:          [SKIP][566] ([i915#16420]) -> [SKIP][567] ([i915#14544] / [i915#16420])
   [566]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-3/igt@prime_udl@share-import-addfb.html
   [567]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-6/igt@prime_udl@share-import-addfb.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each:
    - shard-rkl:          [SKIP][568] ([i915#14544] / [i915#9917]) -> [SKIP][569] ([i915#9917])
   [568]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18871/shard-rkl-6/igt@sriov_basic@enable-vfs-bind-unbind-each.html
   [569]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15576/shard-rkl-7/igt@sriov_basic@enable-vfs-bind-unbind-each.html

  
  [i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055
  [i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11527
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
  [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
  [i915#12177]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12177
  [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314
  [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
  [i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
  [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
  [i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
  [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
  [i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
  [i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026
  [i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027
  [i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
  [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
  [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
  [i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
  [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
  [i915#13390]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13390
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13688
  [i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
  [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
  [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
  [i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
  [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
  [i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
  [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
  [i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
  [i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
  [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14586
  [i915#14694]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14694
  [i915#14702]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14702
  [i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
  [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
  [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
  [i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
  [i915#15128]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15128
  [i915#15132]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15132
  [i915#15140]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15140
  [i915#15172]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15172
  [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
  [i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
  [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
  [i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458
  [i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
  [i915#15492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15492
  [i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
  [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
  [i915#15662]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15662
  [i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709
  [i915#15718]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15718
  [i915#15725]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15725
  [i915#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733
  [i915#15778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15778
  [i915#15815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15815
  [i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865
  [i915#15867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15867
  [i915#15949]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15949
  [i915#15989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15989
  [i915#15990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15990
  [i915#15991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15991
  [i915#16056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16056
  [i915#16079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16079
  [i915#16108]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16108
  [i915#16162]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16162
  [i915#16182]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16182
  [i915#16184]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16184
  [i915#16202]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16202
  [i915#16276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16276
  [i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361
  [i915#16386]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16386
  [i915#16420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16420
  [i915#16451]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16451
  [i915#16466]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16466
  [i915#16471]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16471
  [i915#16490]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16490
  [i915#16492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16492
  [i915#16518]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16518
  [i915#16593]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16593
  [i915#16599]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16599
  [i915#16600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16600
  [i915#16644]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16644
  [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#2435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2435
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
  [i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
  [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#3955]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3955
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4873]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4873
  [i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
  [i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
  [i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
  [i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
  [i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
  [i915#7387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7387
  [i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
  [i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
  [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
  [i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
  [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


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

  * CI: CI-20190529 -> None
  * IGT: IGT_9017 -> IGTPW_15576
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_18871: 5726f9c4bde0290e5e60e636b9632bb03a57498c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_15576: 15576
  IGT_9017: 9017
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa
  2026-07-21 18:59 ` [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa Gustavo Sousa
@ 2026-07-29 21:04   ` Matt Roper
  2026-07-29 21:09     ` Gustavo Sousa
  0 siblings, 1 reply; 25+ messages in thread
From: Matt Roper @ 2026-07-29 21:04 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 03:59:54PM -0300, Gustavo Sousa wrote:
> The functionality provided by intel_wa is specific devices managed by
> the xe driver, so move that module to belong to the lib/xe folder.
> 
> While at it, change the function signature to match the adopted
> standard for lib/xe (used xe_query.h as example).
> 
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  lib/intel_wa.h                 | 11 -----------
>  lib/meson.build                |  2 +-
>  lib/{intel_wa.c => xe/xe_wa.c} | 21 +++++++++++----------
>  lib/xe/xe_wa.h                 | 11 +++++++++++
>  tests/intel/xe_oa.c            |  4 ++--
>  5 files changed, 25 insertions(+), 24 deletions(-)
> 
> diff --git a/lib/intel_wa.h b/lib/intel_wa.h
> deleted file mode 100644
> index 765a5948ef88..000000000000
> --- a/lib/intel_wa.h
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -/* SPDX-License-Identifier: MIT */
> -/*
> - * Copyright © 2025 Intel Corporation
> - */
> -
> -#ifndef __INTEL_WA_H__
> -#define __INTEL_WA_H__
> -
> -int igt_has_intel_wa(int drm_fd, const char *check_wa);
> -
> -#endif /* __INTEL_WA_H__ */
> diff --git a/lib/meson.build b/lib/meson.build
> index 8db9fffdecec..b31936d6c3fd 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -93,7 +93,6 @@ lib_sources = [
>  	'intel_aux_pgtable.c',
>  	'intel_reg_map.c',
>  	'intel_iosf.c',
> -        'intel_wa.c',
>  	'igt_kms.c',
>  	'igt_fb.c',
>  	'igt_core.c',
> @@ -135,6 +134,7 @@ lib_sources = [
>  	'xe/xe_sriov_debugfs.c',
>  	'xe/xe_sriov_provisioning.c',
>  	'xe/xe_util.c',
> +	'xe/xe_wa.c',
>  
>  	# Vendored libraries:
>  	'vendor/uwildmat/uwildmat.c',
> diff --git a/lib/intel_wa.c b/lib/xe/xe_wa.c
> similarity index 66%
> rename from lib/intel_wa.c
> rename to lib/xe/xe_wa.c
> index 727dd6c988df..ff5daf529831 100644
> --- a/lib/intel_wa.c
> +++ b/lib/xe/xe_wa.c
> @@ -9,7 +9,8 @@
>  
>  #include "igt_debugfs.h"
>  #include "igt_sysfs.h"
> -#include "intel_wa.h"
> +
> +#include "xe/xe_wa.h"
>  #include "xe/xe_query.h"

Nitpick:  These aren't sorted.

>  
>  static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
> @@ -34,32 +35,32 @@ static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
>  }
>  
>  /**
> - * igt_has_intel_wa:
> - * @drm_fd:	A drm file descriptor
> - * @check_wa:	Workaround to be checked
> + * xe_wa: Check if a workaround is enabled for the device.
> + * @fd: A drm file descriptor.
> + * @wa: Name of the workaround to be checked.
>   *
> - * Returns:	0 if no WA, 1 if WA present, -1 on error
> + * Returns 1 if enabled, 0 if disabled, -1 on error.
>   */
> -int igt_has_intel_wa(int drm_fd, const char *check_wa)
> +int xe_wa(int fd, const char *wa)
>  {
>  	int ret = 0;
>  	int debugfs_fd;
>  	unsigned int xe;
>  	char name[256];
>  
> -	debugfs_fd = igt_debugfs_dir(drm_fd);
> +	debugfs_fd = igt_debugfs_dir(fd);
>  	if (debugfs_fd == -1)
>  		return -1;
>  
> -	xe_for_each_gt(drm_fd, xe) {
> +	xe_for_each_gt(fd, xe) {
>  		sprintf(name, "gt%d/workarounds", xe);
> -		ret = debugfs_file_has_wa(drm_fd, debugfs_fd, name, check_wa);
> +		ret = debugfs_file_has_wa(fd, debugfs_fd, name, wa);
>  		if (ret)
>  			break;
>  	}
>  
>  	if (!ret)
> -		ret = debugfs_file_has_wa(drm_fd, debugfs_fd, "workarounds", check_wa);
> +		ret = debugfs_file_has_wa(fd, debugfs_fd, "workarounds", wa);
>  
>  	close(debugfs_fd);
>  	return ret;
> diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
> new file mode 100644
> index 000000000000..4ff897196545
> --- /dev/null
> +++ b/lib/xe/xe_wa.h
> @@ -0,0 +1,11 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2025 Intel Corporation

Nitpick:  This should say 2026.


Aside from those two minor things,

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>


Matt

> + */
> +
> +#ifndef XE_WA_H
> +#define XE_WA_H
> +
> +int xe_wa(int fd, const char *wa);
> +
> +#endif /* XE_WA_H */
> diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
> index 68c7537d3888..fcf1d71a167f 100644
> --- a/tests/intel/xe_oa.c
> +++ b/tests/intel/xe_oa.c
> @@ -24,10 +24,10 @@
>  #include "igt_device.h"
>  #include "igt_syncobj.h"
>  #include "igt_sysfs.h"
> -#include "intel_wa.h"
>  #include "xe/xe_ioctl.h"
>  #include "xe/xe_query.h"
>  #include "xe/xe_oa.h"
> +#include "xe/xe_wa.h"
>  
>  /**
>   * TEST: perf
> @@ -2678,7 +2678,7 @@ test_non_zero_reason(const struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
>  	 * can result in buffer overflows.
>  	 */
>  	if (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_MERT &&
> -		igt_has_intel_wa(drm_fd, "14026633728") > 0) {
> +	    xe_wa(drm_fd, "14026633728") > 0) {
>  		oa_exponent = max(oa_exponent, 8);
>  		properties[9] = oa_exponent;
>  	}
> 
> -- 
> 2.55.0
> 

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

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

* Re: [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa
  2026-07-29 21:04   ` Matt Roper
@ 2026-07-29 21:09     ` Gustavo Sousa
  0 siblings, 0 replies; 25+ messages in thread
From: Gustavo Sousa @ 2026-07-29 21:09 UTC (permalink / raw)
  To: Matt Roper; +Cc: igt-dev

Matt Roper <matthew.d.roper@intel.com> writes:

> On Tue, Jul 21, 2026 at 03:59:54PM -0300, Gustavo Sousa wrote:
>> The functionality provided by intel_wa is specific devices managed by
>> the xe driver, so move that module to belong to the lib/xe folder.
>> 
>> While at it, change the function signature to match the adopted
>> standard for lib/xe (used xe_query.h as example).
>> 
>> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
>> ---
>>  lib/intel_wa.h                 | 11 -----------
>>  lib/meson.build                |  2 +-
>>  lib/{intel_wa.c => xe/xe_wa.c} | 21 +++++++++++----------
>>  lib/xe/xe_wa.h                 | 11 +++++++++++
>>  tests/intel/xe_oa.c            |  4 ++--
>>  5 files changed, 25 insertions(+), 24 deletions(-)
>> 
>> diff --git a/lib/intel_wa.h b/lib/intel_wa.h
>> deleted file mode 100644
>> index 765a5948ef88..000000000000
>> --- a/lib/intel_wa.h
>> +++ /dev/null
>> @@ -1,11 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2025 Intel Corporation
>> - */
>> -
>> -#ifndef __INTEL_WA_H__
>> -#define __INTEL_WA_H__
>> -
>> -int igt_has_intel_wa(int drm_fd, const char *check_wa);
>> -
>> -#endif /* __INTEL_WA_H__ */
>> diff --git a/lib/meson.build b/lib/meson.build
>> index 8db9fffdecec..b31936d6c3fd 100644
>> --- a/lib/meson.build
>> +++ b/lib/meson.build
>> @@ -93,7 +93,6 @@ lib_sources = [
>>  	'intel_aux_pgtable.c',
>>  	'intel_reg_map.c',
>>  	'intel_iosf.c',
>> -        'intel_wa.c',
>>  	'igt_kms.c',
>>  	'igt_fb.c',
>>  	'igt_core.c',
>> @@ -135,6 +134,7 @@ lib_sources = [
>>  	'xe/xe_sriov_debugfs.c',
>>  	'xe/xe_sriov_provisioning.c',
>>  	'xe/xe_util.c',
>> +	'xe/xe_wa.c',
>>  
>>  	# Vendored libraries:
>>  	'vendor/uwildmat/uwildmat.c',
>> diff --git a/lib/intel_wa.c b/lib/xe/xe_wa.c
>> similarity index 66%
>> rename from lib/intel_wa.c
>> rename to lib/xe/xe_wa.c
>> index 727dd6c988df..ff5daf529831 100644
>> --- a/lib/intel_wa.c
>> +++ b/lib/xe/xe_wa.c
>> @@ -9,7 +9,8 @@
>>  
>>  #include "igt_debugfs.h"
>>  #include "igt_sysfs.h"
>> -#include "intel_wa.h"
>> +
>> +#include "xe/xe_wa.h"
>>  #include "xe/xe_query.h"
>
> Nitpick:  These aren't sorted.

Thanks.

>
>>  
>>  static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
>> @@ -34,32 +35,32 @@ static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
>>  }
>>  
>>  /**
>> - * igt_has_intel_wa:
>> - * @drm_fd:	A drm file descriptor
>> - * @check_wa:	Workaround to be checked
>> + * xe_wa: Check if a workaround is enabled for the device.
>> + * @fd: A drm file descriptor.
>> + * @wa: Name of the workaround to be checked.
>>   *
>> - * Returns:	0 if no WA, 1 if WA present, -1 on error
>> + * Returns 1 if enabled, 0 if disabled, -1 on error.
>>   */
>> -int igt_has_intel_wa(int drm_fd, const char *check_wa)
>> +int xe_wa(int fd, const char *wa)
>>  {
>>  	int ret = 0;
>>  	int debugfs_fd;
>>  	unsigned int xe;
>>  	char name[256];
>>  
>> -	debugfs_fd = igt_debugfs_dir(drm_fd);
>> +	debugfs_fd = igt_debugfs_dir(fd);
>>  	if (debugfs_fd == -1)
>>  		return -1;
>>  
>> -	xe_for_each_gt(drm_fd, xe) {
>> +	xe_for_each_gt(fd, xe) {
>>  		sprintf(name, "gt%d/workarounds", xe);
>> -		ret = debugfs_file_has_wa(drm_fd, debugfs_fd, name, check_wa);
>> +		ret = debugfs_file_has_wa(fd, debugfs_fd, name, wa);
>>  		if (ret)
>>  			break;
>>  	}
>>  
>>  	if (!ret)
>> -		ret = debugfs_file_has_wa(drm_fd, debugfs_fd, "workarounds", check_wa);
>> +		ret = debugfs_file_has_wa(fd, debugfs_fd, "workarounds", wa);
>>  
>>  	close(debugfs_fd);
>>  	return ret;
>> diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
>> new file mode 100644
>> index 000000000000..4ff897196545
>> --- /dev/null
>> +++ b/lib/xe/xe_wa.h
>> @@ -0,0 +1,11 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright © 2025 Intel Corporation
>
> Nitpick:  This should say 2026.

Even though we are essentially moving the content?

>
>
> Aside from those two minor things,
>
> Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

Thanks!

--
Gustavo Sousa

>
>
> Matt
>
>> + */
>> +
>> +#ifndef XE_WA_H
>> +#define XE_WA_H
>> +
>> +int xe_wa(int fd, const char *wa);
>> +
>> +#endif /* XE_WA_H */
>> diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
>> index 68c7537d3888..fcf1d71a167f 100644
>> --- a/tests/intel/xe_oa.c
>> +++ b/tests/intel/xe_oa.c
>> @@ -24,10 +24,10 @@
>>  #include "igt_device.h"
>>  #include "igt_syncobj.h"
>>  #include "igt_sysfs.h"
>> -#include "intel_wa.h"
>>  #include "xe/xe_ioctl.h"
>>  #include "xe/xe_query.h"
>>  #include "xe/xe_oa.h"
>> +#include "xe/xe_wa.h"
>>  
>>  /**
>>   * TEST: perf
>> @@ -2678,7 +2678,7 @@ test_non_zero_reason(const struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
>>  	 * can result in buffer overflows.
>>  	 */
>>  	if (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_MERT &&
>> -		igt_has_intel_wa(drm_fd, "14026633728") > 0) {
>> +	    xe_wa(drm_fd, "14026633728") > 0) {
>>  		oa_exponent = max(oa_exponent, 8);
>>  		properties[9] = oa_exponent;
>>  	}
>> 
>> -- 
>> 2.55.0
>> 
>
> -- 
> Matt Roper
> Graphics Software Engineer
> Linux GPU Platform Enablement
> Intel Corporation

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

* Re: [PATCH i-g-t 02/10] lib/xe: Use stricter line-equality check when checking for workarounds
  2026-07-21 18:59 ` [PATCH i-g-t 02/10] lib/xe: Use stricter line-equality check when checking for workarounds Gustavo Sousa
@ 2026-07-29 21:23   ` Matt Roper
  0 siblings, 0 replies; 25+ messages in thread
From: Matt Roper @ 2026-07-29 21:23 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 03:59:55PM -0300, Gustavo Sousa wrote:
> Currently debugfs_file_has_wa() uses strstr() to check if a workaround
> name is present in the debugfs dump.  Using strstr() would match the
> workaround name anywhere in the dump buffer and with that we risk
> producing unexpected results if the checked workaround name happens to
> be a substring of another workaround present in the dump.
> 
> Fix that by making sure we match the workaround name with the full
> line from the dump.

There are other parts of IGT that use regular expressions from either
POSIX (regcomp / regexec) or Glib (g_regex_new / g_regex_match).  Would
it be possible to use one of those here instead of opencoding a match
function?


Matt

> 
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  lib/xe/xe_wa.c | 39 ++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 38 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
> index ff5daf529831..d44431e7e61f 100644
> --- a/lib/xe/xe_wa.c
> +++ b/lib/xe/xe_wa.c
> @@ -13,6 +13,43 @@
>  #include "xe/xe_wa.h"
>  #include "xe/xe_query.h"
>  
> +static bool debugfs_dump_has_wa(char *dump, const char *wa)
> +{
> +	char *a = dump;
> +
> +	while (*a) {
> +		const char *b = wa;
> +
> +		/*
> +		 * Each workaround name is indented by one tab
> +		 * character; unindented lines are used as "section
> +		 * names" identifying the type of workarounds that
> +		 * follow (e.g. "GT Workarounds", "Engine Workarounds"
> +		 * etc).
> +		 */
> +		if (*a++ != '\t')
> +			goto next_line;
> +
> +		while (*a == *b && !(*a == '\0' || *a == '\n' || *b == '\0')) {
> +			a++;
> +			b++;
> +		}
> +
> +		if ((*a == '\0' || *a == '\n') && *b == '\0')
> +			return true;
> +
> +	next_line:
> +		/* No match for this line, advance to the next one. */
> +		while (*a != '\n' && *a != '\0')
> +			a++;
> +
> +		if (*a == '\n')
> +			a++;
> +	}
> +
> +	return false;
> +}
> +
>  static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
>  			       const char *debugfs_name, const char *wa)
>  {
> @@ -23,7 +60,7 @@ static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
>  
>  	debugfs_dump = igt_sysfs_get(debugfs_fd, debugfs_name);
>  	if (debugfs_dump) {
> -		char *has_wa = strstr(debugfs_dump, wa);
> +		bool has_wa = debugfs_dump_has_wa(debugfs_dump, wa);
>  
>  		free(debugfs_dump);
>  
> 
> -- 
> 2.55.0
> 

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

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

* Re: [PATCH i-g-t 03/10] lib/xe: Gather workarounds debugfs dumps
  2026-07-21 18:59 ` [PATCH i-g-t 03/10] lib/xe: Gather workarounds debugfs dumps Gustavo Sousa
@ 2026-07-29 21:39   ` Matt Roper
  0 siblings, 0 replies; 25+ messages in thread
From: Matt Roper @ 2026-07-29 21:39 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 03:59:56PM -0300, Gustavo Sousa wrote:
> In an upcoming change, we will cache workaround information in struct
> xe_device.  As a preparation for that, add the logic to gather the
> dumps of workaround debugfs files into a single array, which will be
> used as the cached information in the future.
> 
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

> ---
>  lib/xe/xe_wa.c | 92 ++++++++++++++++++++++++++++++++++++----------------------
>  1 file changed, 58 insertions(+), 34 deletions(-)
> 
> diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
> index d44431e7e61f..e4e1b0bb7972 100644
> --- a/lib/xe/xe_wa.c
> +++ b/lib/xe/xe_wa.c
> @@ -7,12 +7,65 @@
>  #include <stdint.h>
>  #include <stdio.h>
>  
> +#include "igt_core.h"
>  #include "igt_debugfs.h"
>  #include "igt_sysfs.h"
>  
>  #include "xe/xe_wa.h"
>  #include "xe/xe_query.h"
>  
> +static void free_wa_debugfs_dumps(char **dumps)
> +{
> +	for (char **dump = dumps; *dump; dump++)
> +		free(*dump);
> +
> +	free(dumps);
> +}
> +
> +static char **get_wa_debugfs_dumps(int fd)
> +{
> +	char **dumps;
> +	int gt;
> +	int debugfs_fd;
> +	int count = 1; /* Device workarounds */
> +
> +	xe_for_each_gt(fd, gt)
> +		count++;
> +
> +	dumps = calloc(count + 1, sizeof(*dumps));
> +	if (!dumps)
> +		return NULL;
> +
> +	debugfs_fd = igt_debugfs_dir(fd);
> +	if (debugfs_fd == -1)
> +		goto err;
> +
> +	count = 0;
> +
> +	if (!(dumps[count++] = igt_sysfs_get(debugfs_fd, "workarounds")))
> +		goto err;
> +
> +	xe_for_each_gt(fd, gt) {
> +		char name[32];
> +
> +		snprintf(name, sizeof(name), "gt%d/workarounds", gt);
> +
> +		if (!(dumps[count++] = igt_sysfs_get(debugfs_fd, name)))
> +			goto err;
> +	}
> +
> +	goto out;
> +
> +err:
> +	free_wa_debugfs_dumps(dumps);
> +	dumps = NULL;
> +
> +out:
> +	close(debugfs_fd);
> +
> +	return dumps;
> +}
> +
>  static bool debugfs_dump_has_wa(char *dump, const char *wa)
>  {
>  	char *a = dump;
> @@ -50,27 +103,6 @@ static bool debugfs_dump_has_wa(char *dump, const char *wa)
>  	return false;
>  }
>  
> -static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
> -			       const char *debugfs_name, const char *wa)
> -{
> -	char *debugfs_dump;
> -
> -	if (!igt_debugfs_exists(drm_fd, debugfs_name, O_RDONLY))
> -		return -1;
> -
> -	debugfs_dump = igt_sysfs_get(debugfs_fd, debugfs_name);
> -	if (debugfs_dump) {
> -		bool has_wa = debugfs_dump_has_wa(debugfs_dump, wa);
> -
> -		free(debugfs_dump);
> -
> -		if (has_wa)
> -			return 1;
> -	}
> -
> -	return 0;
> -}
> -
>  /**
>   * xe_wa: Check if a workaround is enabled for the device.
>   * @fd: A drm file descriptor.
> @@ -80,25 +112,17 @@ static int debugfs_file_has_wa(int drm_fd, int debugfs_fd,
>   */
>  int xe_wa(int fd, const char *wa)
>  {
> +	char **dumps = get_wa_debugfs_dumps(fd);
>  	int ret = 0;
> -	int debugfs_fd;
> -	unsigned int xe;
> -	char name[256];
>  
> -	debugfs_fd = igt_debugfs_dir(fd);
> -	if (debugfs_fd == -1)
> +	if (igt_warn_on(!dumps))
>  		return -1;
>  
> -	xe_for_each_gt(fd, xe) {
> -		sprintf(name, "gt%d/workarounds", xe);
> -		ret = debugfs_file_has_wa(fd, debugfs_fd, name, wa);
> -		if (ret)
> +	for (char **dump = dumps; *dump; dump++)
> +		if ((ret = debugfs_dump_has_wa(*dump, wa)))
>  			break;
> -	}
>  
> -	if (!ret)
> -		ret = debugfs_file_has_wa(fd, debugfs_fd, "workarounds", wa);
> +	free_wa_debugfs_dumps(dumps);
>  
> -	close(debugfs_fd);
>  	return ret;
>  }
> 
> -- 
> 2.55.0
> 

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

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

* Re: [PATCH i-g-t 04/10] lib/xe: Cache workaround information in xe_device
  2026-07-21 18:59 ` [PATCH i-g-t 04/10] lib/xe: Cache workaround information in xe_device Gustavo Sousa
@ 2026-07-29 21:58   ` Matt Roper
  0 siblings, 0 replies; 25+ messages in thread
From: Matt Roper @ 2026-07-29 21:58 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 03:59:57PM -0300, Gustavo Sousa wrote:
> One existing inconvenience with xe_wa() is that it needs to dump from
> debugfs every time it is called.  A more concerning issue is that the
> dump will fail if xe_wa() is called from a context without the
> required privileges.
> 
> We currently have only one user of xe_wa(), but shortly we will have
> another user that will need to check for a certain workaround in a
> non-root user context (in test cases that use igt_drop_root()).
> 
> Let's resolve those issues by ensuring that xe_device_get() caches the
> workaround information.  Tests that need to check for workarounds in
> underprivileged context will need to make sure to call xe_device_get()
> before dropping privileges.
> 
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  lib/xe/xe_query.c |  6 ++++++
>  lib/xe/xe_query.h |  9 +++++++--
>  lib/xe/xe_wa.c    | 37 ++++++++++++++++++++++++++++---------
>  lib/xe/xe_wa.h    |  5 +++++
>  4 files changed, 46 insertions(+), 11 deletions(-)
> 
> diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
> index 68e60ddc75a2..ea095b207534 100644
> --- a/lib/xe/xe_query.c
> +++ b/lib/xe/xe_query.c
> @@ -28,6 +28,7 @@
>  
>  #include "xe_query.h"
>  #include "xe_ioctl.h"
> +#include "xe_wa.h"
>  
>  /**
>   * xe_query_device_may_fail:
> @@ -377,6 +378,9 @@ static void xe_device_free(struct xe_device *xe_dev)
>  	free(xe_dev->vram_size);
>  	free(xe_dev->eu_stall);
>  	free(xe_dev->pat_cache);
> +
> +	xe_wa_free_cache(xe_dev);
> +
>  	free(xe_dev);
>  }
>  
> @@ -441,6 +445,8 @@ struct xe_device *xe_device_get(int fd)
>  	xe_dev->default_alignment = __mem_default_alignment(xe_dev->mem_regions);
>  	xe_dev->has_vram = __mem_has_vram(xe_dev->mem_regions);
>  
> +	xe_wa_build_cache(xe_dev);
> +
>  	/*
>  	 * Populate the PAT cache while we still have sufficient privileges
>  	 * to read debugfs.  Forked children that inherit this xe_device
> diff --git a/lib/xe/xe_query.h b/lib/xe/xe_query.h
> index 59330d80fd1b..f70476945dee 100644
> --- a/lib/xe/xe_query.h
> +++ b/lib/xe/xe_query.h
> @@ -80,6 +80,9 @@ struct xe_device {
>  	/** @pat_cache: cached PAT index configuration, NULL if not yet populated */
>  	struct intel_pat_cache *pat_cache;
>  
> +	/** @wa_cache: cached data for xe_wa() and related functions. */
> +	void *wa_cache;
> +
>  	/**
>  	 * @multi_lrc_mask: bitmask of engine classes supporting multi-LRC.
>  	 * UINT16_MAX if not available (older kernel).
> @@ -99,10 +102,12 @@ struct xe_device {
>  #define xe_for_each_engine_class(__class) \
>  	for (__class = 0; __class < DRM_XE_ENGINE_CLASS_COMPUTE + 1; \
>  	     ++__class)
> -#define xe_for_each_gt(__fd, __gt) \
> -	for (uint64_t igt_unique(__mask) = xe_device_get(__fd)->gt_mask; \
> +#define xe_for_each_gt_from_mask(__gt_mask, __gt) \

The gt_mask changes in this commit don't seem necessary/related to the
rest of the patch?  We still pass xe_dev->gt_mask to
get_wa_debugfs_dumps() so it doesn't seem like there's any change of
behavior related to this.


Matt

> +	for (uint64_t igt_unique(__mask) = __gt_mask; \
>  	     __gt = ffsll(igt_unique(__mask)) - 1, igt_unique(__mask) != 0; \
>  	     igt_unique(__mask) &= ~(1ull << __gt))
> +#define xe_for_each_gt(__fd, __gt) \
> +	xe_for_each_gt_from_mask(xe_device_get(__fd)->gt_mask, __gt)
>  #define xe_for_each_tile(__fd, __tile) \
>  	for (uint64_t igt_unique(__mask) = xe_device_get(__fd)->tile_mask; \
>  	     __tile = ffsll(igt_unique(__mask)) - 1, igt_unique(__mask) != 0; \
> diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
> index e4e1b0bb7972..0f4d2edc0795 100644
> --- a/lib/xe/xe_wa.c
> +++ b/lib/xe/xe_wa.c
> @@ -22,14 +22,14 @@ static void free_wa_debugfs_dumps(char **dumps)
>  	free(dumps);
>  }
>  
> -static char **get_wa_debugfs_dumps(int fd)
> +static char **get_wa_debugfs_dumps(int fd, uint64_t gt_mask)
>  {
>  	char **dumps;
>  	int gt;
>  	int debugfs_fd;
>  	int count = 1; /* Device workarounds */
>  
> -	xe_for_each_gt(fd, gt)
> +	xe_for_each_gt_from_mask(gt_mask, gt)
>  		count++;
>  
>  	dumps = calloc(count + 1, sizeof(*dumps));
> @@ -45,7 +45,7 @@ static char **get_wa_debugfs_dumps(int fd)
>  	if (!(dumps[count++] = igt_sysfs_get(debugfs_fd, "workarounds")))
>  		goto err;
>  
> -	xe_for_each_gt(fd, gt) {
> +	xe_for_each_gt_from_mask(gt_mask, gt) {
>  		char name[32];
>  
>  		snprintf(name, sizeof(name), "gt%d/workarounds", gt);
> @@ -112,17 +112,36 @@ static bool debugfs_dump_has_wa(char *dump, const char *wa)
>   */
>  int xe_wa(int fd, const char *wa)
>  {
> -	char **dumps = get_wa_debugfs_dumps(fd);
> -	int ret = 0;
> +	char **dumps = xe_device_get(fd)->wa_cache;
>  
>  	if (igt_warn_on(!dumps))
>  		return -1;
>  
>  	for (char **dump = dumps; *dump; dump++)
> -		if ((ret = debugfs_dump_has_wa(*dump, wa)))
> -			break;
> +		if (debugfs_dump_has_wa(*dump, wa))
> +			return 1;
>  
> -	free_wa_debugfs_dumps(dumps);
> +	return 0;
> +}
> +
> +/**
> + * xe_wa_build_cache: Build cached data for xe_wa().
> + * @xe_dev: Xe device where the cache will be stashed.
> + */
> +void xe_wa_build_cache(struct xe_device *xe_dev)
> +{
> +	xe_dev->wa_cache = get_wa_debugfs_dumps(xe_dev->fd, xe_dev->gt_mask);
> +}
> +
> +/**
> + * xe_wa_free_cache: Free cached data that was built with xe_wa_build_cache().
> + * @xe_dev: Xe device where the cached data is stashed.
> + */
> +void xe_wa_free_cache(struct xe_device *xe_dev)
> +{
> +	if (!xe_dev->wa_cache)
> +		return;
>  
> -	return ret;
> +	free_wa_debugfs_dumps(xe_dev->wa_cache);
> +	xe_dev->wa_cache = NULL;
>  }
> diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
> index 4ff897196545..f0a826553df8 100644
> --- a/lib/xe/xe_wa.h
> +++ b/lib/xe/xe_wa.h
> @@ -6,6 +6,11 @@
>  #ifndef XE_WA_H
>  #define XE_WA_H
>  
> +struct xe_device;
> +
>  int xe_wa(int fd, const char *wa);
>  
> +void xe_wa_build_cache(struct xe_device *xe_dev);
> +void xe_wa_free_cache(struct xe_device *xe_dev);
> +
>  #endif /* XE_WA_H */
> 
> -- 
> 2.55.0
> 

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

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

* Re: [PATCH i-g-t 05/10] lib/xe: Return boolean from xe_wa()
  2026-07-21 18:59 ` [PATCH i-g-t 05/10] lib/xe: Return boolean from xe_wa() Gustavo Sousa
@ 2026-07-29 22:14   ` Matt Roper
  0 siblings, 0 replies; 25+ messages in thread
From: Matt Roper @ 2026-07-29 22:14 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 03:59:58PM -0300, Gustavo Sousa wrote:
> The function xe_wa() will cause a warning to be printed when an error
> condition is found.  Since the current users of xe_wa() do not check
> for errors, let's just convert the function to return a boolean.
> 
> Checking for xe_wa(...) instead of xe_wa(...) > 0 feels more natural.
> 
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  lib/xe/xe_wa.c      | 11 ++++++-----
>  lib/xe/xe_wa.h      |  4 +++-
>  tests/intel/xe_oa.c |  2 +-
>  3 files changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
> index 0f4d2edc0795..8c8f7156c21f 100644
> --- a/lib/xe/xe_wa.c
> +++ b/lib/xe/xe_wa.c
> @@ -108,20 +108,21 @@ static bool debugfs_dump_has_wa(char *dump, const char *wa)
>   * @fd: A drm file descriptor.
>   * @wa: Name of the workaround to be checked.
>   *
> - * Returns 1 if enabled, 0 if disabled, -1 on error.
> + * Return a boolean indicating whether the workaround is enabled.
> + * On error, returns false and a warning is printed.
>   */
> -int xe_wa(int fd, const char *wa)
> +bool xe_wa(int fd, const char *wa)
>  {
>  	char **dumps = xe_device_get(fd)->wa_cache;
>  
>  	if (igt_warn_on(!dumps))
> -		return -1;
> +		return false;

Should we use an igt_assert() so that failures here get propagated up as
test failures?


Matt

>  
>  	for (char **dump = dumps; *dump; dump++)
>  		if (debugfs_dump_has_wa(*dump, wa))
> -			return 1;
> +			return true;
>  
> -	return 0;
> +	return false;
>  }
>  
>  /**
> diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
> index f0a826553df8..aa1c50c0f9c9 100644
> --- a/lib/xe/xe_wa.h
> +++ b/lib/xe/xe_wa.h
> @@ -6,9 +6,11 @@
>  #ifndef XE_WA_H
>  #define XE_WA_H
>  
> +#include <stdbool.h>
> +
>  struct xe_device;
>  
> -int xe_wa(int fd, const char *wa);
> +bool xe_wa(int fd, const char *wa);
>  
>  void xe_wa_build_cache(struct xe_device *xe_dev);
>  void xe_wa_free_cache(struct xe_device *xe_dev);
> diff --git a/tests/intel/xe_oa.c b/tests/intel/xe_oa.c
> index fcf1d71a167f..bdaa7141004b 100644
> --- a/tests/intel/xe_oa.c
> +++ b/tests/intel/xe_oa.c
> @@ -2678,7 +2678,7 @@ test_non_zero_reason(const struct drm_xe_oa_unit *oau, size_t oa_buffer_size)
>  	 * can result in buffer overflows.
>  	 */
>  	if (oau->oa_unit_type == DRM_XE_OA_UNIT_TYPE_MERT &&
> -	    xe_wa(drm_fd, "14026633728") > 0) {
> +	    xe_wa(drm_fd, "14026633728")) {
>  		oa_exponent = max(oa_exponent, 8);
>  		properties[9] = oa_exponent;
>  	}
> 
> -- 
> 2.55.0
> 

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

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

* Re: [PATCH i-g-t 06/10] tests/intel/xe_pat: Adapt pat_entry_is_wb() to Xe3p
  2026-07-21 18:59 ` [PATCH i-g-t 06/10] tests/intel/xe_pat: Adapt pat_entry_is_wb() to Xe3p Gustavo Sousa
@ 2026-07-29 22:16   ` Matt Roper
  0 siblings, 0 replies; 25+ messages in thread
From: Matt Roper @ 2026-07-29 22:16 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 03:59:59PM -0300, Gustavo Sousa wrote:
> Xe3p introduces a new device-cache policy called XA, which has the
> longer name "WB Transient App".
> 
> Even though commit 4e59b8e7779b ("lib/intel_pat: use kernel debugfs as
> authoritative PAT source for Xe") already gives a clue that XA is a
> "write-back" cache policy type, pat_entry_is_wb() doesn't really
> incorporate that information.  Add the necessary logic to
> pat_entry_is_wb() so that it also considers XA starting with Xe3p.
> 
> Bspec: 71582
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

> ---
>  tests/intel/xe_pat.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/tests/intel/xe_pat.c b/tests/intel/xe_pat.c
> index 9dd4ffb69d11..bb2975b545e6 100644
> --- a/tests/intel/xe_pat.c
> +++ b/tests/intel/xe_pat.c
> @@ -142,6 +142,13 @@ static bool pat_entry_is_uc(unsigned int gfx_ver, uint32_t pat)
>  
>  static bool pat_entry_is_wb(unsigned int gfx_ver, uint32_t pat)
>  {
> +	if (gfx_ver >= IP_VER(35, 0)) {
> +		uint32_t l3 = REG_FIELD_GET(XE2_L3_POLICY, pat);
> +
> +		return l3 == L3_CACHE_POLICY_WB || l3 == L3_CACHE_POLICY_XD ||
> +		       l3 == L3_CACHE_POLICY_XA;
> +	}
> +
>  	if (gfx_ver >= IP_VER(20, 0)) {
>  		uint32_t l3 = REG_FIELD_GET(XE2_L3_POLICY, pat);
>  
> 
> -- 
> 2.55.0
> 

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

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

* Re: [PATCH i-g-t 07/10] lib/xe: Add xe_wa_from_cache()
  2026-07-21 19:00 ` [PATCH i-g-t 07/10] lib/xe: Add xe_wa_from_cache() Gustavo Sousa
@ 2026-07-29 22:20   ` Matt Roper
  0 siblings, 0 replies; 25+ messages in thread
From: Matt Roper @ 2026-07-29 22:20 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 04:00:00PM -0300, Gustavo Sousa wrote:
> An upcoming change will need to check if a workaround is enabled
> during the creation of the xe_device struct, i.e., during the
> execution of xe_device_get().  It is not possible to call xe_wa() in
> that context because the struct is not yet cached and xe_wa() calling
> xe_device_get() will cause an infinite recursion.
> 
> Add the function xe_wa_from_cache() to allow checking for workarounds
> in that specific scenario and make a note in the function's
> documentation about its purpose.
> 
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  lib/xe/xe_wa.c | 34 ++++++++++++++++++++++++++++------
>  lib/xe/xe_wa.h |  1 +
>  2 files changed, 29 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/xe/xe_wa.c b/lib/xe/xe_wa.c
> index 8c8f7156c21f..ac3dcf6ef1c1 100644
> --- a/lib/xe/xe_wa.c
> +++ b/lib/xe/xe_wa.c
> @@ -105,19 +105,28 @@ static bool debugfs_dump_has_wa(char *dump, const char *wa)
>  
>  /**
>   * xe_wa: Check if a workaround is enabled for the device.

The function name needs to be updated in this comment.

Otherwise,

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

> - * @fd: A drm file descriptor.
> + * @xe_dev: Xe device where the cached data is stashed.
>   * @wa: Name of the workaround to be checked.
>   *
> - * Return a boolean indicating whether the workaround is enabled.
> - * On error, returns false and a warning is printed.
> + * This function is like xe_wa(), but it receives the "incomplete"
> + * (see next paragraph) xe_device struct directly instead of a drm
> + * file descriptor.
> + *
> + * This function is only expected to be used in specific paths during
> + * the initialization of a xe_device struct (i.e. during execution of
> + * xe_device_get()), where the workaround cache is ready
> + * (i.e. xe_wa_build_cache()), but the xe_device struct is not yet
> + * fully built and cached (which is a requirement for xe_wa()).
>   */
> -bool xe_wa(int fd, const char *wa)
> +bool xe_wa_from_cache(struct xe_device *xe_dev, const char *wa)
>  {
> -	char **dumps = xe_device_get(fd)->wa_cache;
> +	char **dumps;
>  
> -	if (igt_warn_on(!dumps))
> +	if (igt_warn_on(!xe_dev->wa_cache))
>  		return false;
>  
> +	dumps = xe_dev->wa_cache;
> +
>  	for (char **dump = dumps; *dump; dump++)
>  		if (debugfs_dump_has_wa(*dump, wa))
>  			return true;
> @@ -125,6 +134,19 @@ bool xe_wa(int fd, const char *wa)
>  	return false;
>  }
>  
> +/**
> + * xe_wa: Check if a workaround is enabled for the device.
> + * @fd: A drm file descriptor.
> + * @wa: Name of the workaround to be checked.
> + *
> + * Return a boolean indicating whether the workaround is enabled.
> + * On error, returns false and a warning is printed.
> + */
> +bool xe_wa(int fd, const char *wa)
> +{
> +	return xe_wa_from_cache(xe_device_get(fd), wa);
> +}
> +
>  /**
>   * xe_wa_build_cache: Build cached data for xe_wa().
>   * @xe_dev: Xe device where the cache will be stashed.
> diff --git a/lib/xe/xe_wa.h b/lib/xe/xe_wa.h
> index aa1c50c0f9c9..2f141ae15016 100644
> --- a/lib/xe/xe_wa.h
> +++ b/lib/xe/xe_wa.h
> @@ -14,5 +14,6 @@ bool xe_wa(int fd, const char *wa);
>  
>  void xe_wa_build_cache(struct xe_device *xe_dev);
>  void xe_wa_free_cache(struct xe_device *xe_dev);
> +bool xe_wa_from_cache(struct xe_device *xe_dev, const char *wa);
>  
>  #endif /* XE_WA_H */
> 
> -- 
> 2.55.0
> 

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

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

* Re: [PATCH i-g-t 08/10] lib/intel_pat: Encapsulate management of xe_device's pat_cache
  2026-07-21 19:00 ` [PATCH i-g-t 08/10] lib/intel_pat: Encapsulate management of xe_device's pat_cache Gustavo Sousa
@ 2026-07-29 22:35   ` Matt Roper
  0 siblings, 0 replies; 25+ messages in thread
From: Matt Roper @ 2026-07-29 22:35 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 04:00:01PM -0300, Gustavo Sousa wrote:
> Currently xe_device_get() manages the PAT cached information
> information by itself, by doing the necessary memory
> allocation/deallocation and calling xe_get_pat_sw_config() to
> initialize the cached information.
> 
> Such management is arguably better suited to be implemented as part of
> the intel_pat module and encapsulated such that xe_query doesn't need
> to know the details.
> 
> We will introduce changes that will require an extra logic for
> initializing the cache and having such encapsulation makes it much
> easier to implement.  Since we will touch this area, take this
> opportunity to move the existing management to intel_pat.
> 
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  lib/intel_pat.c   | 27 ++++++++++++++++++++++++++-
>  lib/intel_pat.h   |  5 +++++
>  lib/xe/xe_query.c |  9 ++-------
>  lib/xe/xe_query.h |  4 +---
>  4 files changed, 34 insertions(+), 11 deletions(-)
> 
> diff --git a/lib/intel_pat.c b/lib/intel_pat.c
> index 2f35bb77249f..14935e3c4692 100644
> --- a/lib/intel_pat.c
> +++ b/lib/intel_pat.c
> @@ -144,6 +144,31 @@ int32_t xe_get_pat_hw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, i
>  	return xe_get_pat_config(drm_fd, xe_pat_cache, gt, PAT_HW_CONFIG);
>  }
>  
> +void intel_pat_build_xe_cache(struct xe_device *xe_dev)
> +{
> +	struct intel_pat_cache *pat_cache;
> +
> +	pat_cache = calloc(1, sizeof(*pat_cache));
> +	igt_assert(pat_cache);
> +
> +	if (igt_debug_on(xe_get_pat_sw_config(xe_dev->fd, pat_cache, 0) <= 0)) {
> +		free(pat_cache);
> +		return;
> +	}
> +
> +	xe_dev->pat_cache = pat_cache;
> +}
> +
> +void intel_pat_free_xe_cache(struct xe_device *xe_dev)
> +{
> +	if (!xe_dev->pat_cache)
> +		return;
> +
> +	free(xe_dev->pat_cache);
> +
> +	xe_dev->pat_cache = NULL;
> +}
> +
>  /*
>   * Hardcoded PAT indices for Xe platforms, used as a fallback when the
>   * kernel doesn't expose gt0/pat_sw_config in debugfs.
> @@ -217,7 +242,7 @@ static void intel_get_pat_idx(int fd, struct intel_pat_cache *pat)
>  		struct xe_device *xe_dev = xe_device_get(fd);
>  
>  		if (xe_dev->pat_cache) {
> -			*pat = *xe_dev->pat_cache;
> +			*pat = *((struct intel_pat_cache *)xe_dev->pat_cache);
>  		} else if (xe_pat_fallback(fd, pat)) {
>  			igt_info("PAT sw_config debugfs not available, "
>  				 "using hardcoded fallback\n");
> diff --git a/lib/intel_pat.h b/lib/intel_pat.h
> index a31b60e86e2a..fc9ef9b650bf 100644
> --- a/lib/intel_pat.h
> +++ b/lib/intel_pat.h
> @@ -13,6 +13,8 @@
>  #define XE_PAT_IDX_INVALID ((uint8_t)-2) /* no such PAT index on this platform */
>  #define XE_PAT_MAX_ENTRIES 32
>  
> +struct xe_device;
> +
>  struct xe_pat_entry {
>  	uint32_t pat;
>  	bool rsvd;
> @@ -40,4 +42,7 @@ uint8_t intel_get_pat_idx_uc_comp(int fd);
>  int32_t xe_get_pat_sw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, int gt);
>  int32_t xe_get_pat_hw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, int gt);
>  
> +void intel_pat_build_xe_cache(struct xe_device *xe_dev);
> +void intel_pat_free_xe_cache(struct xe_device *xe_dev);
> +
>  #endif /* INTEL_PAT_H */
> diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
> index ea095b207534..aa81db45a41a 100644
> --- a/lib/xe/xe_query.c
> +++ b/lib/xe/xe_query.c
> @@ -377,8 +377,8 @@ static void xe_device_free(struct xe_device *xe_dev)
>  	free(xe_dev->mem_regions);
>  	free(xe_dev->vram_size);
>  	free(xe_dev->eu_stall);
> -	free(xe_dev->pat_cache);
>  
> +	intel_pat_free_xe_cache(xe_dev);
>  	xe_wa_free_cache(xe_dev);
>  
>  	free(xe_dev);
> @@ -458,12 +458,7 @@ struct xe_device *xe_device_get(int fd)
>  	 * should be extended to cache PAT entries by platform version/
>  	 * revision instead.
>  	 */
> -	xe_dev->pat_cache = calloc(1, sizeof(*xe_dev->pat_cache));
> -	igt_assert(xe_dev->pat_cache);
> -	if (xe_get_pat_sw_config(xe_dev->fd, xe_dev->pat_cache, 0) <= 0) {
> -		free(xe_dev->pat_cache);
> -		xe_dev->pat_cache = NULL;
> -	}
> +	intel_pat_build_xe_cache(xe_dev);
>  
>  	/* We may get here from multiple threads, use first cached xe_dev */
>  	pthread_mutex_lock(&cache.cache_mutex);
> diff --git a/lib/xe/xe_query.h b/lib/xe/xe_query.h
> index f70476945dee..82f72314f072 100644
> --- a/lib/xe/xe_query.h
> +++ b/lib/xe/xe_query.h
> @@ -20,8 +20,6 @@
>  #define XE_DEFAULT_ALIGNMENT           SZ_4K
>  #define XE_DEFAULT_ALIGNMENT_64K       SZ_64K
>  
> -struct intel_pat_cache;
> -
>  struct xe_device {
>  	/** @fd: xe fd */
>  	int fd;
> @@ -78,7 +76,7 @@ struct xe_device {
>  	uint16_t dev_id;
>  
>  	/** @pat_cache: cached PAT index configuration, NULL if not yet populated */
> -	struct intel_pat_cache *pat_cache;
> +	void *pat_cache;

Is there a need to change this to a void pointer?  It seems like we can
just leave this as-is and avoid the cast earlier.


Matt

>  
>  	/** @wa_cache: cached data for xe_wa() and related functions. */
>  	void *wa_cache;
> 
> -- 
> 2.55.0
> 

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

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

* Re: [PATCH i-g-t 09/10] lib/intel_pat: Pass xe_device to xe_get_pat_config()
  2026-07-21 19:00 ` [PATCH i-g-t 09/10] lib/intel_pat: Pass xe_device to xe_get_pat_config() Gustavo Sousa
@ 2026-07-29 22:38   ` Matt Roper
  0 siblings, 0 replies; 25+ messages in thread
From: Matt Roper @ 2026-07-29 22:38 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: igt-dev

On Tue, Jul 21, 2026 at 04:00:02PM -0300, Gustavo Sousa wrote:
> In an upcoming change, we will need to check for a workaround as part
> of xe_get_pat_config().  Since xe_get_pat_config() also gets called
> during xe_device_get(), we will need to use xe_wa_from_cache() instead
> of the regular xe_wa() function.  In preparation for that, make sure
> that xe_get_pat_config() gets called with the xe_device struct instead
> of the drm file descriptor.
> 
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

> ---
>  lib/intel_pat.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/intel_pat.c b/lib/intel_pat.c
> index 14935e3c4692..ebf5cd428c68 100644
> --- a/lib/intel_pat.c
> +++ b/lib/intel_pat.c
> @@ -24,7 +24,7 @@ enum xe_pat_config {
>   * Returns: The number of PAT entries successfully read on success, or a negative error
>   *          code on failure
>   */
> -static int32_t xe_get_pat_config(int drm_fd, struct intel_pat_cache *xe_pat_cache,
> +static int32_t xe_get_pat_config(struct xe_device *xe_dev, struct intel_pat_cache *xe_pat_cache,
>  				 int gt, enum xe_pat_config pat_config)
>  {
>  	char *line = NULL;
> @@ -40,7 +40,7 @@ static int32_t xe_get_pat_config(int drm_fd, struct intel_pat_cache *xe_pat_cach
>  	else
>  		snprintf(config, sizeof(config), "gt%d/pat", gt);
>  
> -	dbgfs_fd = igt_debugfs_open(drm_fd, config, O_RDONLY);
> +	dbgfs_fd = igt_debugfs_open(xe_dev->fd, config, O_RDONLY);
>  	if (dbgfs_fd < 0)
>  		return dbgfs_fd;
>  	dbgfs_file = fdopen(dbgfs_fd, "r");
> @@ -125,7 +125,9 @@ static int32_t xe_get_pat_config(int drm_fd, struct intel_pat_cache *xe_pat_cach
>   */
>  int32_t xe_get_pat_sw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, int gt)
>  {
> -	return xe_get_pat_config(drm_fd, xe_pat_cache, gt, PAT_SW_CONFIG);
> +	struct xe_device *xe_dev = xe_device_get(drm_fd);
> +
> +	return xe_get_pat_config(xe_dev, xe_pat_cache, gt, PAT_SW_CONFIG);
>  }
>  
>  /**
> @@ -141,7 +143,9 @@ int32_t xe_get_pat_sw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, i
>   */
>  int32_t xe_get_pat_hw_config(int drm_fd, struct intel_pat_cache *xe_pat_cache, int gt)
>  {
> -	return xe_get_pat_config(drm_fd, xe_pat_cache, gt, PAT_HW_CONFIG);
> +	struct xe_device *xe_dev = xe_device_get(drm_fd);
> +
> +	return xe_get_pat_config(xe_dev, xe_pat_cache, gt, PAT_HW_CONFIG);
>  }
>  
>  void intel_pat_build_xe_cache(struct xe_device *xe_dev)
> @@ -151,7 +155,7 @@ void intel_pat_build_xe_cache(struct xe_device *xe_dev)
>  	pat_cache = calloc(1, sizeof(*pat_cache));
>  	igt_assert(pat_cache);
>  
> -	if (igt_debug_on(xe_get_pat_sw_config(xe_dev->fd, pat_cache, 0) <= 0)) {
> +	if (igt_debug_on(xe_get_pat_config(xe_dev, pat_cache, 0, PAT_SW_CONFIG) <= 0)) {
>  		free(pat_cache);
>  		return;
>  	}
> 
> -- 
> 2.55.0
> 

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

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

end of thread, other threads:[~2026-07-29 22:39 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-21 18:59 [PATCH i-g-t 00/10] Implement Wa_14026539277 Gustavo Sousa
2026-07-21 18:59 ` [PATCH i-g-t 01/10] lib/xe: Move lib/intel_wa to lib/xe/xe_wa Gustavo Sousa
2026-07-29 21:04   ` Matt Roper
2026-07-29 21:09     ` Gustavo Sousa
2026-07-21 18:59 ` [PATCH i-g-t 02/10] lib/xe: Use stricter line-equality check when checking for workarounds Gustavo Sousa
2026-07-29 21:23   ` Matt Roper
2026-07-21 18:59 ` [PATCH i-g-t 03/10] lib/xe: Gather workarounds debugfs dumps Gustavo Sousa
2026-07-29 21:39   ` Matt Roper
2026-07-21 18:59 ` [PATCH i-g-t 04/10] lib/xe: Cache workaround information in xe_device Gustavo Sousa
2026-07-29 21:58   ` Matt Roper
2026-07-21 18:59 ` [PATCH i-g-t 05/10] lib/xe: Return boolean from xe_wa() Gustavo Sousa
2026-07-29 22:14   ` Matt Roper
2026-07-21 18:59 ` [PATCH i-g-t 06/10] tests/intel/xe_pat: Adapt pat_entry_is_wb() to Xe3p Gustavo Sousa
2026-07-29 22:16   ` Matt Roper
2026-07-21 19:00 ` [PATCH i-g-t 07/10] lib/xe: Add xe_wa_from_cache() Gustavo Sousa
2026-07-29 22:20   ` Matt Roper
2026-07-21 19:00 ` [PATCH i-g-t 08/10] lib/intel_pat: Encapsulate management of xe_device's pat_cache Gustavo Sousa
2026-07-29 22:35   ` Matt Roper
2026-07-21 19:00 ` [PATCH i-g-t 09/10] lib/intel_pat: Pass xe_device to xe_get_pat_config() Gustavo Sousa
2026-07-29 22:38   ` Matt Roper
2026-07-21 19:00 ` [PATCH i-g-t 10/10] intel: Implement Wa_14026539277 Gustavo Sousa
2026-07-21 23:18 ` ✓ Xe.CI.BAT: success for " Patchwork
2026-07-21 23:56 ` ✓ i915.CI.BAT: " Patchwork
2026-07-22 14:09 ` ✓ Xe.CI.FULL: " Patchwork
2026-07-22 22:52 ` ✗ i915.CI.Full: failure " Patchwork

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