Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs
@ 2025-06-16  7:42 Peter Senna Tschudin
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
                   ` (13 more replies)
  0 siblings, 14 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-06-16  7:42 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, michal.wajdeczko, marcin.bernatowicz,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial

This series:
 - moves shared function to lib/igt_dir
 - creates gpu agnostic tests
   - core_debugfs
   - core_debugfs_display_on_off
   - core_sysfs
 - creates the xe-specific test
   - xe_debugfs (complementary to core_debugfs*)
 - Updates testlists and scripts
 - deletes tests/intel_sysfs_debugfs

Cc: michal.wajdeczko@intel.com
Cc: marcin.bernatowicz@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: ewelina.musial@intel.com

Peter Senna Tschudin (6):
  lib/igt_dir: Directory processing and flexible file handling
  tests: Add core_debugfs
  tests: Add core_debugfs_heads_power
  tests: Add core_sysfs
  tests: Add xe_debugfs
  tests/intel: Remove intel_sysfs_debugfs

 docs/code_coverage.md                    |  18 +-
 lib/igt_dir.c                            | 260 ++++++++++++++
 lib/igt_dir.h                            |  61 ++++
 lib/meson.build                          |   1 +
 scripts/code_cov_selftest.sh             |   2 +-
 tests/core_debugfs.c                     |  54 +++
 tests/core_debugfs_heads_power.c         | 156 ++++++++
 tests/core_sysfs.c                       |  58 +++
 tests/intel-ci/fast-feedback.testlist    |   4 +-
 tests/intel-ci/xe-fast-feedback.testlist |   8 +-
 tests/intel/intel_sysfs_debugfs.c        | 430 -----------------------
 tests/intel/xe_debugfs.c                 | 208 +++++++++++
 tests/intel/xe_test_config.json          |   2 +-
 tests/meson.build                        |   5 +-
 14 files changed, 819 insertions(+), 448 deletions(-)
 create mode 100644 lib/igt_dir.c
 create mode 100644 lib/igt_dir.h
 create mode 100644 tests/core_debugfs.c
 create mode 100644 tests/core_debugfs_heads_power.c
 create mode 100644 tests/core_sysfs.c
 delete mode 100644 tests/intel/intel_sysfs_debugfs.c
 create mode 100644 tests/intel/xe_debugfs.c

-- 
2.43.0


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

* [PATCH v3 resend i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
@ 2025-06-16  7:42 ` Peter Senna Tschudin
  2025-06-24 13:24   ` Sokolowski, Jan
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 2/6] tests: Add core_debugfs Peter Senna Tschudin
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-06-16  7:42 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, michal.wajdeczko, marcin.bernatowicz,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial

This update introduces new utilities to facilitate reading and
processing files within a directory, giving test writers greater control
over file selection and processing.

For example, to read and discard all files from debugfs:

  fd = drm_open_driver_master(DRIVER_ANY);
  debugfs = igt_debugfs_dir(fd);

  igt_dir = igt_dir_create(debugfs);
  igt_dir_scan_dirfd(igt_dir, -1); // -1 means unlimited scan depth
  igt_dir_process_files(igt_dir, NULL, NULL);

The igt_dir_scan_dirfd() function builds a linked list of files (using
igt_list), making it easy to add or remove specific files before
processing. If you only want to process a predetermined set of files,
you can skip the scan step and add the files directly to the list.

The last two parameters of igt_dir_process_files() specify a callback
function and user data. If the callback is NULL, a default “read and
discard” function is used.

Cc: michal.wajdeczko@intel.com
Cc: marcin.bernatowicz@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: ewelina.musial@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v3:
 - unchanged from v2
v2:
 - changed style of comparison to NULL

 lib/igt_dir.c   | 260 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_dir.h   |  61 ++++++++++++
 lib/meson.build |   1 +
 3 files changed, 322 insertions(+)
 create mode 100644 lib/igt_dir.c
 create mode 100644 lib/igt_dir.h

diff --git a/lib/igt_dir.c b/lib/igt_dir.c
new file mode 100644
index 000000000..8f5a25e35
--- /dev/null
+++ b/lib/igt_dir.c
@@ -0,0 +1,260 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "igt.h"
+#include "lib/igt_dir.h"
+
+/**
+ * igt_dir_get_fd_path: Get the path of a file descriptor
+ * @fd: file descriptor to get the path for
+ * @path: buffer to store the path
+ * @path_len: length of the buffer
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+int igt_dir_get_fd_path(int fd, char *path, size_t path_len)
+{
+	ssize_t len;
+	char proc_path[64];
+
+	snprintf(proc_path, sizeof(proc_path), "/proc/self/fd/%d", fd);
+	len = readlink(proc_path, path, path_len - 1);
+	if (len == -1)
+		return -1;
+
+	path[path_len] = '\0';
+	return 0;
+}
+
+/**
+ * igt_dir_callback_read_discard: Default callback function for reading and
+ *				  discarding file contents
+ * @filename: Path to the file
+ * @callback_data: Optional pointer to user-defined data passed to the callback
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+int igt_dir_callback_read_discard(const char *filename,
+				  void *callback_data)
+{
+	int fd;
+	char buf[4096];
+	ssize_t bytes_read;
+
+	fd = open(filename, O_RDONLY);
+	if (fd < 0) {
+		igt_debug("Failed to open file %s\n", filename);
+		return -1;
+	}
+	bytes_read = read(fd, buf, sizeof(buf) - 1);
+	if (bytes_read < 0) {
+		igt_debug("Failed to read file %s\n", filename);
+		close(fd);
+		return -1;
+	}
+	buf[bytes_read] = '\0';
+	igt_debug("Read %zd bytes from file %s: %s\n", bytes_read,
+		  filename, buf);
+	close(fd);
+	return 0;
+}
+
+/**
+ * igt_dir_create: Create a new igt_dir_t struct
+ * @dirfd: file descriptor of the root directory
+ *
+ * Returns: Pointer to the new igt_dir_t struct, or NULL on failure
+ */
+igt_dir_t *igt_dir_create(int dirfd)
+{
+	igt_dir_t *config;
+	size_t path_len = 512;
+	char path[path_len];
+
+	config = malloc(sizeof(igt_dir_t));
+	if (!config)
+		return NULL;
+
+	config->dirfd = dirfd;
+
+	igt_dir_get_fd_path(dirfd, path, path_len);
+	igt_require(path[0] != '\0');
+
+	config->root_path = malloc(path_len);
+	if (!config->root_path) {
+		free(config);
+		return NULL;
+	}
+
+	strncpy(config->root_path, path, path_len);
+
+	IGT_INIT_LIST_HEAD(&config->file_list_head);
+
+	config->callback = NULL;
+
+	return config;
+}
+
+static int _igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth,
+			       int depth, const char *current_path)
+{
+	struct dirent *entry;
+	igt_dir_file_list_t *file_list_entry;
+	DIR *dirp;
+	int dirfd;
+	int ret = 0;
+
+	if (depth > scan_maxdepth && scan_maxdepth != -1)
+		return 0;
+
+	if (!current_path) {
+		igt_debug("Invalid current path\n");
+		return -1;
+	}
+
+	dirfd = open(current_path, O_RDONLY | O_DIRECTORY);
+	if (dirfd < 0) {
+		igt_debug("Failed to open directory %s\n", current_path);
+		return -1;
+	}
+
+	dirp = fdopendir(dirfd);
+	if (!dirp) {
+		igt_debug("Failed to fdopendir %s\n", current_path);
+		close(dirfd);
+		return -1;
+	}
+
+	while ((entry = readdir(dirp))) {
+		char entry_path[PATH_MAX];
+
+		if (strcmp(entry->d_name, ".") == 0 ||
+		    strcmp(entry->d_name, "..") == 0)
+			continue;
+
+		snprintf(entry_path, sizeof(entry_path),
+			 "%s/%s", current_path, entry->d_name);
+
+		if (entry->d_type == DT_DIR) {
+			ret = _igt_dir_scan_dirfd(config, scan_maxdepth,
+						  depth + 1, entry_path);
+			if (ret)
+				break;
+		} else {
+			/* Compute path relative to the scan root */
+			const char *relative_path = entry_path +
+						    strlen(config->root_path);
+			if (*relative_path == '/')
+				relative_path++; /* skip leading slash */
+
+			file_list_entry = malloc(sizeof(igt_dir_file_list_t));
+			if (!file_list_entry) {
+				igt_debug("Failed to allocate memory for file list entry\n");
+				continue;
+			}
+			file_list_entry->relative_path = strdup(relative_path);
+			file_list_entry->match = true;
+			igt_list_add(&file_list_entry->link,
+				     &config->file_list_head);
+		}
+	}
+
+	closedir(dirp);
+	close(dirfd);
+	return ret;
+}
+
+/**
+ * igt_dir_scan_dirfd: Perform a directory scan based on config.
+ * @config: Pointer to the igt_dir struct
+ * @scan_maxdepth: Maximum depth to scan the directory. -1 means no limit
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+int igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth)
+{
+	igt_require(config);
+	igt_require(config->root_path);
+	igt_require(config->dirfd >= 0);
+	igt_require(scan_maxdepth >= -1);
+	igt_require(scan_maxdepth != 0);
+
+	/* If the linked list is not empty, clean it first */
+	if (!igt_list_empty(&config->file_list_head)) {
+		igt_dir_file_list_t *file_list_entry, *tmp;
+
+		igt_list_for_each_entry_safe(file_list_entry, tmp,
+					     &config->file_list_head, link) {
+			free(file_list_entry->relative_path);
+			free(file_list_entry);
+		}
+	}
+
+	return _igt_dir_scan_dirfd(config, scan_maxdepth, 0, config->root_path);
+}
+
+/**
+ * igt_dir_process_files: Process files in the directory
+ * @config: Pointer to the igt_dir struct
+ * @callback: Callback function to process each file
+ * @callback_data: Optional pointer to user-defined data passed to the callback
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+int igt_dir_process_files(igt_dir_t *config,
+			 igt_dir_file_callback callback,
+			 void *callback_data)
+{
+	igt_dir_file_list_t *file_list_entry;
+	int ret = 0;
+
+	igt_require(config);
+	igt_require(config->root_path);
+	igt_require(config->dirfd >= 0);
+
+	if (!callback)
+		callback = igt_dir_callback_read_discard;
+
+	igt_list_for_each_entry(file_list_entry, &config->file_list_head, link) {
+		/* Only if match is true */
+		if (file_list_entry->match) {
+			char full_path[PATH_MAX];
+
+			snprintf(full_path, sizeof(full_path),
+				 "%s/%s", config->root_path,
+				 file_list_entry->relative_path);
+			ret = callback(full_path, callback_data);
+			if (ret)
+				break;
+		}
+	}
+
+	return ret;
+}
+
+/**
+ * igt_dir_destroy: Destroy the igt_dir struct
+ * @config: Pointer to the igt_dir struct
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+void igt_dir_destroy(igt_dir_t *config)
+{
+	igt_dir_file_list_t *file_list_entry, *tmp;
+
+	igt_require(config);
+
+	igt_list_for_each_entry_safe(file_list_entry, tmp,
+				 &config->file_list_head, link) {
+		free(file_list_entry->relative_path);
+		free(file_list_entry);
+	}
+
+	free(config->root_path);
+	free(config);
+}
diff --git a/lib/igt_dir.h b/lib/igt_dir.h
new file mode 100644
index 000000000..fb9230862
--- /dev/null
+++ b/lib/igt_dir.h
@@ -0,0 +1,61 @@
+/* SPDX-License-Identifier: MIT
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef IGT_DIR_H
+#define IGT_DIR_H
+
+#include "igt_list.h"
+
+/**
+ * Callback function type for processing files
+ * The callback is blocking, meaning traversal waits for it to return
+ * before proceeding to the next file
+ * @filename: Path to the file
+ * @callback_data: Optional pointer to user-defined data passed to the callback
+ *
+ * Returns:
+ * 0 on success, a negative error code on failure.
+ */
+typedef int (*igt_dir_file_callback)(const char *filename,
+				     void *callback_data);
+
+/**
+ * igt_dir_file_list_t: List of files with a relative path
+ * @relative_path: path to a file, relative to the root directory
+ * @match: a boolean used to filter the list of files. When match=true the
+ *	   file is processed, otherwise it is skipped
+ * @link: list head for linking files in the list
+ */
+typedef struct {
+	char *relative_path;
+	bool match;
+	struct igt_list_head link;
+} igt_dir_file_list_t;
+
+/**
+ * igt_dir_t: Main struct for igt_dir
+ * @dirfd: file descriptor of the root directory
+ * @root_path: string of the root path, for example:
+ *	       /sys/kernel/debug/dri/0000:00:02.0/
+ * @file_list_head: head of the list of files
+ * @callback: Callback function for file operations. If NULL, defaults
+ *	      to reading and discarding file contents
+ */
+typedef struct {
+	int dirfd;
+	char *root_path;
+	struct igt_list_head file_list_head;
+	igt_dir_file_callback callback;
+} igt_dir_t;
+
+int igt_dir_get_fd_path(int fd, char *path, size_t path_len);
+int igt_dir_callback_read_discard(const char *filename,
+				  void *callback_data);
+igt_dir_t *igt_dir_create(int dirfd);
+int igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth);
+int igt_dir_process_files(igt_dir_t *config,
+			  igt_dir_file_callback callback,
+			  void *callback_data);
+void igt_dir_destroy(igt_dir_t *config);
+#endif /* IGT_DIR_H */
diff --git a/lib/meson.build b/lib/meson.build
index ff81baae1..ec4a71bd7 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -91,6 +91,7 @@ lib_sources = [
 	'igt_kms.c',
 	'igt_fb.c',
 	'igt_core.c',
+	'igt_dir.c',
 	'igt_draw.c',
 	'igt_list.c',
 	'igt_map.c',
-- 
2.43.0


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

* [PATCH v3 resend i-g-t 2/6] tests: Add core_debugfs
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
@ 2025-06-16  7:42 ` Peter Senna Tschudin
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power Peter Senna Tschudin
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-06-16  7:42 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, michal.wajdeczko, marcin.bernatowicz,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial

Introduce core_debugfs that is expected to work with any GPU, not
limited to i915 and Xe. The test attempts to open every file in debugfs
associated with the GPU.

Cc: michal.wajdeczko@intel.com
Cc: marcin.bernatowicz@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: ewelina.musial@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v3:
 - removed "debugfs" from subtest name (Thanks Michal Wajdeczko)
v2:
 - changed style of comparison to NULL

 docs/code_coverage.md                    | 18 ++++----
 scripts/code_cov_selftest.sh             |  2 +-
 tests/core_debugfs.c                     | 54 ++++++++++++++++++++++++
 tests/intel-ci/fast-feedback.testlist    |  1 +
 tests/intel-ci/xe-fast-feedback.testlist |  1 +
 tests/meson.build                        |  1 +
 6 files changed, 67 insertions(+), 10 deletions(-)
 create mode 100644 tests/core_debugfs.c

diff --git a/docs/code_coverage.md b/docs/code_coverage.md
index 031611e69..8c4857412 100644
--- a/docs/code_coverage.md
+++ b/docs/code_coverage.md
@@ -162,23 +162,23 @@ For each script, the igt_runner passes just one parameter: the results
 directory + the test name.
 
 For instance, if it is needed to run a test called
-`intel_sysfs_debugfs (i915-debugfs-read-all-entries)` using `code_cov_capture`
+`core_debugfs (read-all-entries)` using `code_cov_capture`
 parameter, e. g.:
 
 ```
-$ echo "igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries" > my.testlist
+$ echo "igt@core_debugfs@read-all-entries" > my.testlist
 $ ./scripts/run-tests.sh -T my.testlist -k ~/linux -c code_cov_capture -P
 Found test list: "/basedir/igt/build/tests/test-list.txt"
-[31410.499969] [1/1] intel_sysfs_debugfs (i915-debugfs-read-all-entries)
+[31410.499969] [1/1] core_debugfs (read-all-entries)
 [31411.060446] Storing code coverage results...
-[31418.01]     Code coverage wrote to /basedir/igt/results/code_cov/intel_sysfs_debugfs_i915_debugfs_read_all_entries.info
+[31418.01]     Code coverage wrote to /basedir/igt/results/code_cov/core_debugfs_debugfs_read_all_entries.info
 Done.
 ```
 
 The script will be called as:
 
 ```
-code_cov_capture results/code_cov/intel_sysfs_debugfs_i915_debugfs_read_all_entries
+code_cov_capture results/code_cov/core_debugfs_debugfs_read_all_entries
 ```
 
 Please notice that any character that it is not a number nor a letter at the
@@ -376,7 +376,7 @@ OUT_DIR="${HOME}/results"
 
 mkdir -p $OUT_DIR/html
 
-echo "igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries" > $TESTLIST
+echo "igt@core_debugfs@read-all-entries" > $TESTLIST
 echo "igt@core_auth@basic-auth" >> $TESTLIST
 echo "igt@gem_exec_basic@basic" >> $TESTLIST
 
@@ -401,8 +401,8 @@ genhtml -q -s --legend --branch-coverage $OUT_DIR/results.info
 Running such script produces the following output:
 
 ```
-[3622.993304] [1/3] intel_sysfs_debugfs (i915-debugfs-read-all-entries)
-[3631.95]     Code coverage wrote to results/code_cov/intel_sysfs_debugfs_i915_debugfs_read_all_entries.info
+[3622.993304] [1/3] core_debugfs (read-all-entries)
+[3631.95]     Code coverage wrote to results/code_cov/core_debugfs_debugfs_read_all_entries.info
 [3626.217016] Storing code coverage results...
 [3631.957998] [2/3] core_auth (basic-auth)
 [3638.03]     Code coverage wrote to results/code_cov/core_auth_basic_auth.info
@@ -419,7 +419,7 @@ core_auth_basic_auth.info:
 Ignored......: non-drm headers and source files where none of its code ran.
 Source files.: 23.27% (165 of 709 total), 29.57% (165 of 558 filtered)
 
-intel_sysfs_debugfs_i915_debugfs_read_all_entries.info:
+core_debugfs_debugfs_read_all_entries.info:
   lines......: 19.3% (20266 of 104802 lines)
   functions..: 17.5% (1922 of 10971 functions)
   branches...: 12.7% (9462 of 74555 branches)
diff --git a/scripts/code_cov_selftest.sh b/scripts/code_cov_selftest.sh
index bc5ef7458..6f3a6db55 100755
--- a/scripts/code_cov_selftest.sh
+++ b/scripts/code_cov_selftest.sh
@@ -13,7 +13,7 @@ if [ -z "$IGT_KERNEL_TREE" ] ; then
         exit 1
 fi
 
-TEST="igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries"
+TEST="igt@core_debugfs@read-all-entries"
 
 TESTLIST="my_tests.testlist"
 GATHER="scripts/code_cov_gather_on_test.py"
diff --git a/tests/core_debugfs.c b/tests/core_debugfs.c
new file mode 100644
index 000000000..97fd446c5
--- /dev/null
+++ b/tests/core_debugfs.c
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir.h"
+
+/**
+ * TEST: debugfs test
+ * Description: Read entries from debugfs
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: debugfs
+ * Feature: core
+ * Test category: uapi
+ *
+ * SUBTEST: read-all-entries
+ * Description: Read all entries from debugfs path validating debugfs entries
+ */
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs");
+
+igt_main
+{
+	int debugfs = -1;
+	int fd = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		debugfs = igt_debugfs_dir(fd);
+		igt_require(debugfs >= 0);
+
+		igt_dir = igt_dir_create(debugfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from debugfs path.");
+	igt_subtest("read-all-entries") {
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture {
+		igt_dir_destroy(igt_dir);
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 82395e7ea..3ec1b95cf 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -3,6 +3,7 @@ igt@i915_module_load@load
 
 # Keep alphabetically sorted by default
 igt@core_auth@basic-auth
+igt@core_debugfs@read-all-entries
 igt@fbdev@eof
 igt@fbdev@info
 igt@fbdev@nullptr
diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index d9d180d87..ac3177ae9 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -7,6 +7,7 @@ igt@fbdev@nullptr
 igt@fbdev@read
 igt@fbdev@write
 
+igt@core_debugfs@read-all-entries
 igt@intel_sysfs_debugfs@xe-base
 igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries
 igt@intel_sysfs_debugfs@xe-forcewake
diff --git a/tests/meson.build b/tests/meson.build
index 55bcf57ec..fa62cbeb9 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,5 +1,6 @@
 test_progs = [
 	'core_auth',
+	'core_debugfs',
 	'core_getclient',
 	'core_getstats',
 	'core_getversion',
-- 
2.43.0


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

* [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 2/6] tests: Add core_debugfs Peter Senna Tschudin
@ 2025-06-16  7:42 ` Peter Senna Tschudin
  2025-07-03 20:39   ` Rodrigo Vivi
  2025-07-04 10:02   ` Karthik B S
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 4/6] tests: Add core_sysfs Peter Senna Tschudin
                   ` (10 subsequent siblings)
  13 siblings, 2 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-06-16  7:42 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, Karthik B S, Juha-Pekka Heikkila,
	Juha-Pekka Heikkila, Swati Sharma, michal.wajdeczko,
	marcin.bernatowicz, kamil.konieczny, katarzyna.piecielska,
	zbigniew.kempczynski, ewelina.musial

Introduce core_debugfs_heads_power that is expected to work with any
GPU, not limited to i915 and Xe. The test powers off all available
heads before reading debugfs files, and then powers on all heads
before reading the files again.

Cc: Karthik B S <karthik.b.s@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Cc: Juha-Pekka Heikkila <juha-pekka.heikkila@intel.com>
Cc: Swati Sharma <swati2.sharma@intel.com>
Cc: michal.wajdeczko@intel.com
Cc: marcin.bernatowicz@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: ewelina.musial@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v3:
 - renamed the test
 - Removed reference to sysfs from comments  (thanks Kamil)
 - Updated description to match the display part (thanks Kamil)
 - Moved from "display" to "heads". Our CI uses "headless" to refer
   to a DUT without display and it is shorter
 - renamed subtests for shorter names (thanks Kamil)
 - fixed comments style (thanks Kamil)
 - updated CC list
 - changed the order to test first with all heads off then with all heads on
   to prevent the need from powering on the heads at the end of the test
   (thanks Kamil)
 - removed snprintf from test names (thanks Kamil)
 - removed subtest group (thanks Kamil)
 - deleted kms_tests() and moved the code to igt_main (thanks Kamil)

v2:
 - changed style of comparison to NULL
 - moved to a separate patch

 tests/core_debugfs_heads_power.c | 156 +++++++++++++++++++++++++++++++
 tests/meson.build                |   1 +
 2 files changed, 157 insertions(+)
 create mode 100644 tests/core_debugfs_heads_power.c

diff --git a/tests/core_debugfs_heads_power.c b/tests/core_debugfs_heads_power.c
new file mode 100644
index 000000000..1813986d8
--- /dev/null
+++ b/tests/core_debugfs_heads_power.c
@@ -0,0 +1,156 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir.h"
+
+/**
+ * TEST: debugfs heads power test
+ * Description: Read entries from debugfs with all heads on and with all heads
+ *		off.
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: debugfs
+ * Feature: core
+ * Test category: uapi
+ *
+ * SUBTEST: off-read-all
+ * Description: Read all debugfs entries with heads off.
+ *
+ * SUBTEST: on-read-all
+ * Description: Read all debugfs entries with heads on.
+ */
+
+/**
+ * bool igt_kms_all_displays_on: Try to turn on all heads
+ * @display: pointer to the igt_display structure
+ *
+ * Returns: void
+ */
+static void igt_display_all_on(igt_display_t *display)
+{
+	struct igt_fb fb[IGT_MAX_PIPES];
+	enum pipe pipe;
+	int ret;
+
+	/* try to light all pipes */
+retry:
+	for_each_pipe(display, pipe) {
+		igt_output_t *output;
+
+		for_each_valid_output_on_pipe(display, pipe, output) {
+			igt_plane_t *primary;
+			drmModeModeInfo *mode;
+
+			if (output->pending_pipe != PIPE_NONE)
+				continue;
+
+			igt_output_set_pipe(output, pipe);
+			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+			mode = igt_output_get_mode(output);
+			igt_create_pattern_fb(display->drm_fd,
+						mode->hdisplay, mode->vdisplay,
+						DRM_FORMAT_XRGB8888,
+						DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
+
+			/* Set a valid fb as some debugfs like to
+			 * inspect it on a active pipe
+			 */
+			igt_plane_set_fb(primary, &fb[pipe]);
+			break;
+		}
+	}
+
+	if (display->is_atomic)
+		ret = igt_display_try_commit_atomic(display,
+				DRM_MODE_ATOMIC_TEST_ONLY |
+				DRM_MODE_ATOMIC_ALLOW_MODESET,
+				NULL);
+	else
+		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
+
+	if (ret) {
+		igt_output_t *output;
+		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
+
+		igt_require_f(found, "No valid mode combo found.\n");
+
+		for_each_connected_output(display, output)
+			igt_output_set_pipe(output, PIPE_NONE);
+
+		goto retry;
+	}
+
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+/**
+ * bool igt_kms_all_displays_off: Try to turn off all heads
+ * @display: pointer to the igt_display structure
+ *
+ * Returns: void
+ */
+static void igt_display_all_off(igt_display_t *display)
+{
+	enum pipe pipe;
+	igt_output_t *output;
+	igt_plane_t *plane;
+
+	for_each_connected_output(display, output)
+		igt_output_set_pipe(output, PIPE_NONE);
+
+	for_each_pipe(display, pipe)
+		for_each_plane_on_pipe(display, pipe, plane)
+			igt_plane_set_fb(plane, NULL);
+
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
+
+igt_main
+{
+	int debugfs = -1;
+	igt_display_t *display;
+	int fd = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		debugfs = igt_debugfs_dir(fd);
+		igt_require(debugfs >= 0);
+
+		igt_dir = igt_dir_create(debugfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+
+		display = calloc(1, sizeof(*display));
+		igt_display_require(display, fd);
+	}
+
+	igt_subtest("off-read-all") {
+		igt_display_all_off(display);
+
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_subtest("on-read-all") {
+		/* try to light all pipes */
+		igt_display_all_on(display);
+
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture {
+		igt_display_fini(display);
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index fa62cbeb9..99dbd4feb 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,6 +1,7 @@
 test_progs = [
 	'core_auth',
 	'core_debugfs',
+	'core_debugfs_heads_power',
 	'core_getclient',
 	'core_getstats',
 	'core_getversion',
-- 
2.43.0


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

* [PATCH v3 resend i-g-t 4/6] tests: Add core_sysfs
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (2 preceding siblings ...)
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power Peter Senna Tschudin
@ 2025-06-16  7:42 ` Peter Senna Tschudin
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs Peter Senna Tschudin
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-06-16  7:42 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, michal.wajdeczko, marcin.bernatowicz,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial

core_sysfs is GPU-agnostic test designed to work with any GPU, not
limited to i915 and Xe. The test scans the sysfs directory associated
with the GPU, reads all files, and discards the content.

Cc: michal.wajdeczko@intel.com
Cc: marcin.bernatowicz@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: ewelina.musial@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v3:
 - removed "sysfs" from the name of subtest (Thanks Michal Wajdeczko)
v2:
 - changed style of comparison to NULL

 tests/core_sysfs.c                       | 58 ++++++++++++++++++++++++
 tests/intel-ci/fast-feedback.testlist    |  1 +
 tests/intel-ci/xe-fast-feedback.testlist |  1 +
 tests/meson.build                        |  1 +
 4 files changed, 61 insertions(+)
 create mode 100644 tests/core_sysfs.c

diff --git a/tests/core_sysfs.c b/tests/core_sysfs.c
new file mode 100644
index 000000000..db70e940b
--- /dev/null
+++ b/tests/core_sysfs.c
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_dir.h"
+#include "igt_sysfs.h"
+
+struct {
+	bool warn_on_not_hit;
+} opt = { 0 };
+
+/**
+ * TEST: sysfs test
+ * Description: Read entries from sysfs path.
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: sysfs
+ * Feature: core
+ * Test category: uapi
+ *
+ * SUBTEST: read-all-entries
+ * Description: Read all entries from sysfs path
+ *
+ */
+
+IGT_TEST_DESCRIPTION("Read entries from sysfs paths.");
+
+igt_main
+{
+	int fd = -1;
+	int sysfs = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		sysfs = igt_sysfs_open(fd);
+		igt_require(sysfs >= 0);
+
+		igt_dir = igt_dir_create(sysfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from sysfs path.");
+	igt_subtest("read-all-entries") {
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture {
+		close(sysfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 3ec1b95cf..5d4d101ef 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -4,6 +4,7 @@ igt@i915_module_load@load
 # Keep alphabetically sorted by default
 igt@core_auth@basic-auth
 igt@core_debugfs@read-all-entries
+igt@core_sysfs@read-all-entries
 igt@fbdev@eof
 igt@fbdev@info
 igt@fbdev@nullptr
diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index ac3177ae9..a5f799f6b 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -8,6 +8,7 @@ igt@fbdev@read
 igt@fbdev@write
 
 igt@core_debugfs@read-all-entries
+igt@core_sysfs@read-all-entries
 igt@intel_sysfs_debugfs@xe-base
 igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries
 igt@intel_sysfs_debugfs@xe-forcewake
diff --git a/tests/meson.build b/tests/meson.build
index 99dbd4feb..a06172d2e 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -8,6 +8,7 @@ test_progs = [
 	'core_hotunplug',
 	'core_setmaster',
 	'core_setmaster_vs_auth',
+	'core_sysfs',
 	'dmabuf',
 	'dmabuf_sync_file',
 	'device_reset',
-- 
2.43.0


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

* [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (3 preceding siblings ...)
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 4/6] tests: Add core_sysfs Peter Senna Tschudin
@ 2025-06-16  7:42 ` Peter Senna Tschudin
  2025-07-03 20:36   ` Rodrigo Vivi
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs Peter Senna Tschudin
                   ` (8 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-06-16  7:42 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, michal.wajdeczko, marcin.bernatowicz,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial

xe_debugfs is a test specific to Xe GPUs. It is intended to complement
the existing generic debugfs tests core_debugfs and
core_debugfs_display_on_off.

Additionally, this test has been updated to use the igt_dir
infrastructure, resulting in simpler code.

Cc: michal.wajdeczko@intel.com
Cc: marcin.bernatowicz@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: ewelina.musial@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v3:
 - unchanged from v2
v2:
 - changed style of comparison to NULL

 tests/intel-ci/xe-fast-feedback.testlist |   2 +
 tests/intel/xe_debugfs.c                 | 208 +++++++++++++++++++++++
 tests/meson.build                        |   1 +
 3 files changed, 211 insertions(+)
 create mode 100644 tests/intel/xe_debugfs.c

diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index a5f799f6b..c52f08953 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -78,6 +78,8 @@ igt@xe_create@create-execqueues-noleak
 igt@xe_create@create-execqueues-leak
 igt@xe_create@create-invalid-mbz
 igt@xe_create@create-massive-size
+igt@xe_debugfs@xe-base
+igt@xe_debugfs@xe-forcewake
 igt@xe_dma_buf_sync@export-dma-buf-once-write-sync
 igt@xe_dma_buf_sync@export-dma-buf-once-read-sync
 igt@xe_dma_buf_sync@export-dma-buf-once-read-write-sync
diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
new file mode 100644
index 000000000..66a5fa0f6
--- /dev/null
+++ b/tests/intel/xe_debugfs.c
@@ -0,0 +1,208 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir.h"
+#include "igt_sysfs.h"
+#include "xe/xe_query.h"
+
+
+struct {
+	bool warn_on_not_hit;
+} opt = { 0 };
+
+/**
+ * TEST: Xe debugfs test
+ * Description: Xe-specific debugfs tests. These are complementary to the
+ * core_debugfs and core_debugfs_display_on_off tests.
+ *
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: debugfs
+ * Feature: core
+ * Test category: uapi
+ *
+ */
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
+
+static int xe_validate_entries(igt_dir_t *igt_dir,
+			       const char * const str_val[], int str_cnt)
+{
+	igt_dir_file_list_t *file_list_entry;
+
+	if (!igt_dir)
+		return -1;
+
+	igt_dir_scan_dirfd(igt_dir, -1);
+
+	for (int i = 0; i < str_cnt; i++) {
+		int hit = 0;
+
+		igt_list_for_each_entry(file_list_entry,
+					&igt_dir->file_list_head, link) {
+			if (strcmp(file_list_entry->relative_path,
+				   str_val[i]) == 0) {
+				hit = 1;
+				break;
+			}
+		}
+
+		if (!hit && opt.warn_on_not_hit)
+			igt_warn("no test for: %s\n", str_val[i]);
+	}
+
+	return 0;
+}
+
+/**
+ * SUBTEST: xe-base
+ * Description: Check if various debugfs devnodes exist and test reading them
+ */
+static void
+xe_test_base(int fd, struct drm_xe_query_config *config, igt_dir_t *igt_dir)
+{
+	uint16_t devid = intel_get_drm_devid(fd);
+	static const char * const expected_files[] = {
+		"gt0",
+		"gt1",
+		"stolen_mm",
+		"gtt_mm",
+		"vram0_mm",
+		"forcewake_all",
+		"info",
+		"gem_names",
+		"clients",
+		"name"
+	};
+	char reference[4096];
+	int val = 0;
+
+	igt_assert(config);
+	sprintf(reference, "devid 0x%llx",
+			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
+	igt_assert(igt_debugfs_search(fd, "info", reference));
+
+	sprintf(reference, "revid %lld",
+			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
+	igt_assert(igt_debugfs_search(fd, "info", reference));
+
+	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
+		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
+
+	igt_assert(igt_debugfs_search(fd, "info", reference));
+
+	if (intel_gen(devid) < 20) {
+		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
+		case 48:
+			val = 3;
+			break;
+		case 57:
+			val = 4;
+			break;
+		}
+
+		sprintf(reference, "vm_max_level %d", val);
+		igt_assert(igt_debugfs_search(fd, "info", reference));
+	}
+
+	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
+	igt_assert(igt_debugfs_search(fd, "info", reference));
+
+	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
+
+	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
+	igt_debugfs_dump(fd, "gtt_mm");
+
+	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
+		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
+		igt_debugfs_dump(fd, "vram0_mm");
+	}
+
+	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
+		igt_debugfs_dump(fd, "stolen_mm");
+
+	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
+	igt_debugfs_dump(fd, "clients");
+
+	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
+	igt_debugfs_dump(fd, "gem_names");
+
+	xe_validate_entries(igt_dir, expected_files,
+			    ARRAY_SIZE(expected_files));
+}
+
+/**
+ * SUBTEST: xe-forcewake
+ * Description: Check forcewake debugfs devnode
+ */
+static void
+xe_test_forcewake(int fd)
+{
+	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
+
+	igt_assert_neq(handle, -1);
+	close(handle);
+}
+
+const char *help_str =
+	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
+
+struct option long_options[] = {
+	{ "--warn-not-hit", no_argument, NULL, 'w'},
+	{ 0, 0, 0, 0 }
+};
+
+static int opt_handler(int option, int option_index, void *input)
+{
+	switch (option) {
+	case 'w':
+		opt.warn_on_not_hit = true;
+		break;
+	default:
+		return IGT_OPT_HANDLER_ERROR;
+	}
+
+	return IGT_OPT_HANDLER_SUCCESS;
+}
+
+igt_main_args("", long_options, help_str, opt_handler, NULL)
+{
+	int debugfs = -1;
+	int fd = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_XE);
+		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
+		debugfs = igt_debugfs_dir(fd);
+
+		igt_dir = igt_dir_create(debugfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Check if various debugfs devnodes exist and test reading them.");
+	igt_subtest("xe-base") {
+		xe_test_base(fd, xe_config(fd), igt_dir);
+	}
+
+	igt_describe("Check forcewake debugfs devnode");
+	igt_subtest("xe-forcewake") {
+		xe_test_forcewake(fd);
+	}
+
+	igt_fixture {
+		igt_dir_destroy(igt_dir);
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index a06172d2e..847598255 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -283,6 +283,7 @@ intel_xe_progs = [
 	'xe_compute_preempt',
 	'xe_copy_basic',
 	'xe_configfs',
+	'xe_debugfs',
 	'xe_dma_buf_sync',
 	'xe_drm_fdinfo',
 	'xe_eu_stall',
-- 
2.43.0


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

* [PATCH v3 resend i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (4 preceding siblings ...)
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs Peter Senna Tschudin
@ 2025-06-16  7:42 ` Peter Senna Tschudin
  2025-07-03 20:39   ` Rodrigo Vivi
  2025-06-16 19:50 ` ✓ Xe.CI.BAT: success for Replace intel_sysfs_debugfs Patchwork
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-06-16  7:42 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, michal.wajdeczko, marcin.bernatowicz,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial

The intel_sysfs_debugfs test was originally introduced to unify testing
for both i915 and Xe drivers, aiming to prevent gaps in test coverage.
However, the implementation fell short in addressing scenarios where
both i915 and Xe were present in the system.

To address these limitations, it was replaced by:
 - tests/core_debugfs (gpu agnostic)
 - tests/core_sysfs (gpu agnostic)
 - tests/intel/xe_debugfs (complementary to core_debugfs)

Cc: michal.wajdeczko@intel.com
Cc: marcin.bernatowicz@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: ewelina.musial@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v3:
 - unchanged from v2
v2:
 - changed style of comparison to NULL

 tests/intel-ci/fast-feedback.testlist    |   2 -
 tests/intel-ci/xe-fast-feedback.testlist |   4 -
 tests/intel/intel_sysfs_debugfs.c        | 430 -----------------------
 tests/intel/xe_test_config.json          |   2 +-
 tests/meson.build                        |   1 -
 5 files changed, 1 insertion(+), 438 deletions(-)
 delete mode 100644 tests/intel/intel_sysfs_debugfs.c

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 5d4d101ef..2799bbaa5 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -55,8 +55,6 @@ igt@i915_getparams_basic@basic-subslice-total
 igt@i915_hangman@error-state-basic
 igt@i915_pciid
 igt@intel_hwmon
-igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries
-igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries
 igt@kms_addfb_basic@addfb25-4-tiled
 igt@kms_addfb_basic@addfb25-bad-modifier
 igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index c52f08953..017e3ba2a 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -9,10 +9,6 @@ igt@fbdev@write
 
 igt@core_debugfs@read-all-entries
 igt@core_sysfs@read-all-entries
-igt@intel_sysfs_debugfs@xe-base
-igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries
-igt@intel_sysfs_debugfs@xe-forcewake
-igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries
 igt@kms_addfb_basic@addfb25-4-tiled
 igt@kms_addfb_basic@addfb25-bad-modifier
 igt@kms_addfb_basic@addfb25-modifier-no-flag
diff --git a/tests/intel/intel_sysfs_debugfs.c b/tests/intel/intel_sysfs_debugfs.c
deleted file mode 100644
index dfd8d52d8..000000000
--- a/tests/intel/intel_sysfs_debugfs.c
+++ /dev/null
@@ -1,430 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2025 Intel Corporation
- */
-
-#include <dirent.h>
-#include <fcntl.h>
-
-#include "i915/gem.h"
-#include "igt.h"
-#include "igt_sysfs.h"
-#include "xe/xe_query.h"
-
-struct {
-	bool warn_on_not_hit;
-} opt = { 0 };
-
-/**
- * TEST: debugfs test
- * Description: Read entries from debugfs, and sysfs paths.
- * Category: Core
- * Mega feature: General Core features
- * Sub-category: uapi
- * Functionality: debugfs
- * Feature: core
- * Test category: uapi
- *
- * SUBTEST: i915-debugfs-read-all-entries
- * Description: Read all entries from debugfs path validating debugfs entries
- *
- * SUBTEST: i915-debugfs-read-all-entries-display-off
- * Description: Read all debugfs entries with display off.
- *
- * SUBTEST: i915-debugfs-read-all-entries-display-on
- * Description: Read all debugfs entries with display on.
- *
- * SUBTEST: i915-sysfs-read-all-entries
- * Description: Read all entries from sysfs path validating debugfs entries
- *
- * SUBTEST: xe-debugfs-read-all-entries
- * Description: Read all entries from debugfs path validating debugfs entries
- *
- * SUBTEST: xe-debugfs-read-all-entries-display-off
- * Description: Read all debugfs entries with display off.
- *
- * SUBTEST: xe-debugfs-read-all-entries-display-on
- * Description: Read all debugfs entries with display on.
- *
- * SUBTEST: xe-sysfs-read-all-entries
- * Description: Read all entries from sysfs path validating debugfs entries
- *
- */
-
-IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
-
-static void read_and_discard_sysfs_entries(int path_fd, int indent)
-{
-	struct dirent *dirent;
-	DIR *dir;
-	char tabs[8];
-	int i;
-
-	igt_assert(indent < sizeof(tabs) - 1);
-
-	for (i = 0; i < indent; i++)
-		tabs[i] = '\t';
-	tabs[i] = '\0';
-
-	dir = fdopendir(path_fd);
-	if (!dir)
-		return;
-
-	while ((dirent = readdir(dir))) {
-		if (!strcmp(dirent->d_name, ".") ||
-		    !strcmp(dirent->d_name, ".."))
-			continue;
-
-		if (dirent->d_type == DT_DIR) {
-			int sub_fd;
-
-			sub_fd = openat(path_fd, dirent->d_name,
-					O_RDONLY | O_DIRECTORY);
-			if (sub_fd < 0)
-				continue;
-
-			igt_debug("%sEntering subdir %s\n", tabs, dirent->d_name);
-			read_and_discard_sysfs_entries(sub_fd, indent + 1);
-			close(sub_fd);
-		} else if (dirent->d_type == DT_REG) {
-			char buf[512];
-			int sub_fd;
-			ssize_t ret;
-
-			igt_kmsg(KMSG_DEBUG "Reading file \"%s\"\n", dirent->d_name);
-			igt_debug("%sReading file \"%s\"\n", tabs, dirent->d_name);
-
-			sub_fd = openat(path_fd, dirent->d_name, O_RDONLY | O_NONBLOCK);
-			if (sub_fd == -1) {
-				igt_debug("%sCould not open file \"%s\" with error: %m\n",
-					  tabs, dirent->d_name);
-				continue;
-			}
-
-			do {
-				ret = read(sub_fd, buf, sizeof(buf));
-			} while (ret == sizeof(buf));
-
-			if (ret == -1)
-				igt_debug("%sCould not read file \"%s\" with error: %m\n",
-					  tabs, dirent->d_name);
-
-			close(sub_fd);
-		}
-	}
-	closedir(dir);
-}
-
-static void kms_tests(int fd, int debugfs, const char *card_name)
-{
-	igt_display_t display;
-	struct igt_fb fb[IGT_MAX_PIPES];
-	enum pipe pipe;
-	int ret;
-	char test_name[64];
-
-	igt_fixture
-		igt_display_require(&display, fd);
-
-	snprintf(test_name, sizeof(test_name),
-		 "%s-debugfs-read-all-entries-display-on", card_name);
-
-	igt_subtest(test_name) {
-		/* try to light all pipes */
-retry:
-		for_each_pipe(&display, pipe) {
-			igt_output_t *output;
-
-			for_each_valid_output_on_pipe(&display, pipe, output) {
-				igt_plane_t *primary;
-				drmModeModeInfo *mode;
-
-				if (output->pending_pipe != PIPE_NONE)
-					continue;
-
-				igt_output_set_pipe(output, pipe);
-				primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
-				mode = igt_output_get_mode(output);
-				igt_create_pattern_fb(display.drm_fd,
-						      mode->hdisplay, mode->vdisplay,
-						      DRM_FORMAT_XRGB8888,
-						      DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
-
-				/* Set a valid fb as some debugfs like to
-				 * inspect it on a active pipe
-				 */
-				igt_plane_set_fb(primary, &fb[pipe]);
-				break;
-			}
-		}
-
-		if (display.is_atomic)
-			ret = igt_display_try_commit_atomic(&display,
-					DRM_MODE_ATOMIC_TEST_ONLY |
-					DRM_MODE_ATOMIC_ALLOW_MODESET,
-					NULL);
-		else
-			ret = igt_display_try_commit2(&display, COMMIT_LEGACY);
-
-		if (ret) {
-			igt_output_t *output;
-			bool found = igt_override_all_active_output_modes_to_fit_bw(&display);
-
-			igt_require_f(found, "No valid mode combo found.\n");
-
-			for_each_connected_output(&display, output)
-				igt_output_set_pipe(output, PIPE_NONE);
-
-			goto retry;
-		}
-
-		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
-
-		read_and_discard_sysfs_entries(debugfs, 0);
-	}
-
-	snprintf(test_name, sizeof(test_name),
-		 "%s-debugfs-read-all-entries-display-off", card_name);
-
-	igt_subtest(test_name) {
-		igt_output_t *output;
-		igt_plane_t *plane;
-
-		for_each_connected_output(&display, output)
-			igt_output_set_pipe(output, PIPE_NONE);
-
-		for_each_pipe(&display, pipe)
-			for_each_plane_on_pipe(&display, pipe, plane)
-				igt_plane_set_fb(plane, NULL);
-
-		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
-
-		read_and_discard_sysfs_entries(debugfs, 0);
-	}
-
-	igt_fixture
-		igt_display_fini(&display);
-}
-
-static int xe_validate_entries(int fd, const char *add_path,
-			       const char * const str_val[], int str_cnt)
-{
-	int i;
-	int hit;
-	int found = 0;
-	int not_found = 0;
-	DIR *dir;
-	struct dirent *de;
-	char path[PATH_MAX];
-
-	if (!igt_debugfs_path(fd, path, sizeof(path)))
-		return -1;
-
-	strcat(path, add_path);
-	dir = opendir(path);
-	if (!dir)
-		return -1;
-
-	while ((de = readdir(dir))) {
-		if (de->d_name[0] == '.')
-			continue;
-		hit = 0;
-		for (i = 0; i < str_cnt; i++) {
-			if (!strcmp(str_val[i], de->d_name)) {
-				hit = 1;
-				break;
-			}
-		}
-		if (hit) {
-			found++;
-		} else if (opt.warn_on_not_hit) {
-			not_found++;
-			igt_warn("no test for: %s/%s\n", path, de->d_name);
-		}
-	}
-	closedir(dir);
-	return 0;
-}
-
-/**
- * SUBTEST: xe-base
- * Description: Check if various debugfs devnodes exist and test reading them
- */
-static void
-xe_test_base(int fd, struct drm_xe_query_config *config)
-{
-	uint16_t devid = intel_get_drm_devid(fd);
-	static const char * const expected_files[] = {
-		"gt0",
-		"gt1",
-		"stolen_mm",
-		"gtt_mm",
-		"vram0_mm",
-		"forcewake_all",
-		"info",
-		"gem_names",
-		"clients",
-		"name"
-	};
-	char reference[4096];
-	int val = 0;
-
-	igt_assert(config);
-	sprintf(reference, "devid 0x%llx",
-			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
-	igt_assert(igt_debugfs_search(fd, "info", reference));
-
-	sprintf(reference, "revid %lld",
-			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
-	igt_assert(igt_debugfs_search(fd, "info", reference));
-
-	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
-		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
-
-	igt_assert(igt_debugfs_search(fd, "info", reference));
-
-	if (intel_gen(devid) < 20) {
-		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
-		case 48:
-			val = 3;
-			break;
-		case 57:
-			val = 4;
-			break;
-		}
-
-		sprintf(reference, "vm_max_level %d", val);
-		igt_assert(igt_debugfs_search(fd, "info", reference));
-	}
-
-	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
-	igt_assert(igt_debugfs_search(fd, "info", reference));
-
-	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
-
-	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
-	igt_debugfs_dump(fd, "gtt_mm");
-
-	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
-		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
-		igt_debugfs_dump(fd, "vram0_mm");
-	}
-
-	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
-		igt_debugfs_dump(fd, "stolen_mm");
-
-	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
-	igt_debugfs_dump(fd, "clients");
-
-	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
-	igt_debugfs_dump(fd, "gem_names");
-
-	xe_validate_entries(fd, "", expected_files, ARRAY_SIZE(expected_files));
-}
-
-/**
- * SUBTEST: xe-forcewake
- * Description: Check forcewake debugfs devnode
- */
-static void
-xe_test_forcewake(int fd)
-{
-	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
-
-	igt_assert_neq(handle, -1);
-	close(handle);
-}
-
-const char *help_str =
-	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
-
-struct option long_options[] = {
-	{ "--warn-not-hit", no_argument, NULL, 'w'},
-	{ 0, 0, 0, 0 }
-};
-
-static int opt_handler(int option, int option_index, void *input)
-{
-	switch (option) {
-	case 'w':
-		opt.warn_on_not_hit = true;
-		break;
-	default:
-		return IGT_OPT_HANDLER_ERROR;
-	}
-
-	return IGT_OPT_HANDLER_SUCCESS;
-}
-
-igt_main_args("", long_options, help_str, opt_handler, NULL)
-{
-	int debugfs = -1;
-	int fd = -1;
-	int sysfs = -1;
-
-	igt_subtest_group {
-		igt_fixture {
-			fd = drm_open_driver_master(DRIVER_INTEL);
-			igt_require_gem(fd);
-			debugfs = igt_debugfs_dir(fd);
-			sysfs = igt_sysfs_open(fd);
-
-			kmstest_set_vt_graphics_mode();
-		}
-
-		igt_describe("Read all entries from sysfs path.");
-		igt_subtest("i915-sysfs-read-all-entries")
-			read_and_discard_sysfs_entries(sysfs, 0);
-		igt_describe("Read all entries from debugfs path.");
-		igt_subtest("i915-debugfs-read-all-entries")
-			read_and_discard_sysfs_entries(debugfs, 0);
-
-		igt_describe("Read all debugfs entries with display on/off.");
-		igt_subtest_group
-			kms_tests(fd, debugfs, "i915");
-
-		igt_fixture {
-			close(sysfs);
-			close(debugfs);
-			drm_close_driver(fd);
-		}
-	}
-
-	igt_subtest_group {
-		igt_fixture {
-			fd = drm_open_driver_master(DRIVER_XE);
-			__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
-			debugfs = igt_debugfs_dir(fd);
-			sysfs = igt_sysfs_open(fd);
-
-			kmstest_set_vt_graphics_mode();
-		}
-
-		igt_describe("Read all entries from sysfs path.");
-		igt_subtest("xe-sysfs-read-all-entries")
-			read_and_discard_sysfs_entries(sysfs, 0);
-		igt_describe("Read all entries from debugfs path.");
-		igt_subtest("xe-debugfs-read-all-entries")
-			read_and_discard_sysfs_entries(debugfs, 0);
-
-		igt_describe("Read all debugfs entries with display on/off.");
-		igt_subtest_group
-			kms_tests(fd, debugfs, "xe");
-
-		igt_describe("Check if various debugfs devnodes exist and test reading them.");
-		igt_subtest("xe-base") {
-			xe_test_base(fd, xe_config(fd));
-		}
-
-		igt_describe("Check forcewake debugfs devnode");
-		igt_subtest("xe-forcewake") {
-			xe_test_forcewake(fd);
-		}
-
-		igt_fixture {
-			close(sysfs);
-			close(debugfs);
-			drm_close_driver(fd);
-		}
-	}
-}
diff --git a/tests/intel/xe_test_config.json b/tests/intel/xe_test_config.json
index edca243f1..27de0efaa 100644
--- a/tests/intel/xe_test_config.json
+++ b/tests/intel/xe_test_config.json
@@ -2,7 +2,7 @@
     "description": "JSON file to be used to parse Xe documentation",
     "name": "Tests for Xe Driver",
     "drivers": [ "xe" ],
-    "files": [ "xe_*.c", "../core_*.c", "../device_*.c", "../sriov_basic.c", "intel_hwmon.c", "intel_sysfs_debugfs.c" ],
+    "files": [ "xe_*.c", "../core_*.c", "../device_*.c", "../sriov_basic.c", "intel_hwmon.c" ],
     "fields": {
         "Run type": {
             "_properties_": {
diff --git a/tests/meson.build b/tests/meson.build
index 847598255..c8f586982 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -86,7 +86,6 @@ test_progs = [
 intel_i915_xe_progs = [
 	'api_intel_allocator',
 	'intel_hwmon',
-	'intel_sysfs_debugfs',
 ]
 
 intel_i915_progs = [
-- 
2.43.0


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

* ✓ Xe.CI.BAT: success for Replace intel_sysfs_debugfs
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (5 preceding siblings ...)
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs Peter Senna Tschudin
@ 2025-06-16 19:50 ` Patchwork
  2025-06-17  2:49 ` ✗ Xe.CI.Full: failure " Patchwork
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-06-16 19:50 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

Series: Replace intel_sysfs_debugfs
URL   : https://patchwork.freedesktop.org/series/150310/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8412_BAT -> XEIGTPW_13300_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

New tests
---------

  New tests have been introduced between XEIGT_8412_BAT and XEIGTPW_13300_BAT:

### New IGT tests (4) ###

  * igt@core_debugfs@read-all-entries:
    - Statuses : 8 pass(s)
    - Exec time: [0.0, 0.12] s

  * igt@core_sysfs@read-all-entries:
    - Statuses : 8 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@xe_debugfs@xe-base:
    - Statuses : 6 pass(s)
    - Exec time: [0.00] s

  * igt@xe_debugfs@xe-forcewake:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.00] s

  


Changes
-------

  No changes found


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

  * IGT: IGT_8412 -> IGTPW_13300
  * Linux: xe-3255-dea7240e83c9e58ec755a3d68e7db10068df6b76 -> xe-3256-43ac07d088f280cfb9eeda0c4caf11b0b7b56e96

  IGTPW_13300: 13300
  IGT_8412: 8412
  xe-3255-dea7240e83c9e58ec755a3d68e7db10068df6b76: dea7240e83c9e58ec755a3d68e7db10068df6b76
  xe-3256-43ac07d088f280cfb9eeda0c4caf11b0b7b56e96: 43ac07d088f280cfb9eeda0c4caf11b0b7b56e96

== Logs ==

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

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

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

* ✗ Xe.CI.Full: failure for Replace intel_sysfs_debugfs
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (6 preceding siblings ...)
  2025-06-16 19:50 ` ✓ Xe.CI.BAT: success for Replace intel_sysfs_debugfs Patchwork
@ 2025-06-17  2:49 ` Patchwork
  2025-06-17 13:01 ` ✗ i915.CI.BAT: " Patchwork
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-06-17  2:49 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

Series: Replace intel_sysfs_debugfs
URL   : https://patchwork.freedesktop.org/series/150310/
State : failure

== Summary ==

CI Bug Log - changes from XEIGT_8412_FULL -> XEIGTPW_13300_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with XEIGTPW_13300_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in XEIGTPW_13300_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

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

  Missing    (1): shard-adlp 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_content_protection@lic-type-0:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][1] +1 other test dmesg-fail
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_content_protection@lic-type-0.html

  
New tests
---------

  New tests have been introduced between XEIGT_8412_FULL and XEIGTPW_13300_FULL:

### New IGT tests (6) ###

  * igt@core_debugfs@read-all-entries:
    - Statuses : 3 pass(s)
    - Exec time: [0.0, 0.13] s

  * igt@core_debugfs_heads_power@off-read-all:
    - Statuses : 3 pass(s)
    - Exec time: [0.12, 0.32] s

  * igt@core_debugfs_heads_power@on-read-all:
    - Statuses : 3 pass(s)
    - Exec time: [0.05, 0.16] s

  * igt@core_sysfs@read-all-entries:
    - Statuses : 3 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@xe_debugfs@xe-base:
    - Statuses : 3 pass(s)
    - Exec time: [0.00] s

  * igt@xe_debugfs@xe-forcewake:
    - Statuses : 3 pass(s)
    - Exec time: [0.0, 0.00] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
    - shard-lnl:          [PASS][2] -> [FAIL][3] ([Intel XE#911]) +3 other tests fail
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-lnl-4/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html

  * igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic@pipe-a-hdmi-a-6-4-rc-ccs-cc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][4] ([Intel XE#3767]) +15 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic@pipe-a-hdmi-a-6-4-rc-ccs-cc.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][5] ([Intel XE#2327]) +1 other test skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_big_fb@linear-8bpp-rotate-270.html
    - shard-lnl:          NOTRUN -> [SKIP][6] ([Intel XE#1407]) +2 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-2/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-dg2-set2:     NOTRUN -> [SKIP][7] ([Intel XE#316])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

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

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
    - shard-dg2-set2:     NOTRUN -> [SKIP][9] ([Intel XE#1124]) +8 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html
    - shard-lnl:          NOTRUN -> [SKIP][10] ([Intel XE#1124]) +6 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
    - shard-bmg:          [PASS][11] -> [SKIP][12] ([Intel XE#2314] / [Intel XE#2894])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html

  * igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
    - shard-dg2-set2:     [PASS][13] -> [DMESG-WARN][14] ([Intel XE#5229])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-434/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][15] ([Intel XE#2191])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][16] ([Intel XE#2191])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-3-displays-3840x2160p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][17] ([Intel XE#367]) +2 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html
    - shard-lnl:          NOTRUN -> [SKIP][18] ([Intel XE#367]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-4-displays-2560x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][19] ([Intel XE#1512])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-6/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#367])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][21] ([Intel XE#2907])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2887]) +6 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-7/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][23] ([Intel XE#2669] / [Intel XE#3433]) +3 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][24] ([Intel XE#3862]) +1 other test incomplete
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#2652] / [Intel XE#787]) +12 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][26] ([Intel XE#2669]) +3 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-edp-1.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][27] ([Intel XE#455] / [Intel XE#787]) +18 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][28] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][29] ([Intel XE#787]) +90 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][30] ([Intel XE#2887]) +7 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_chamelium_color@ctm-0-25:
    - shard-bmg:          NOTRUN -> [SKIP][31] ([Intel XE#2325])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-7/igt@kms_chamelium_color@ctm-0-25.html

  * igt@kms_chamelium_color@gamma:
    - shard-dg2-set2:     NOTRUN -> [SKIP][32] ([Intel XE#306]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_chamelium_color@gamma.html

  * igt@kms_chamelium_edid@dp-edid-stress-resolution-4k:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#2252]) +3 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_chamelium_edid@dp-edid-stress-resolution-4k.html

  * igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#373]) +4 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-6/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     NOTRUN -> [SKIP][35] ([Intel XE#373]) +5 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_content_protection@atomic:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#2341]) +1 other test skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_content_protection@atomic.html
    - shard-dg2-set2:     NOTRUN -> [FAIL][37] ([Intel XE#1178]) +1 other test fail
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@lic-type-0:
    - shard-lnl:          NOTRUN -> [SKIP][38] ([Intel XE#5176]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@kms_content_protection@lic-type-0.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-dg2-set2:     NOTRUN -> [SKIP][39] ([Intel XE#308]) +2 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@kms_cursor_crc@cursor-onscreen-512x170.html
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#2321]) +3 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-4/igt@kms_cursor_crc@cursor-onscreen-512x170.html
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#2321]) +2 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-2/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-random-64x21:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#2320]) +2 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_cursor_crc@cursor-random-64x21.html
    - shard-lnl:          NOTRUN -> [SKIP][43] ([Intel XE#1424])
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-4/igt@kms_cursor_crc@cursor-random-64x21.html

  * igt@kms_cursor_edge_walk@128x128-top-edge:
    - shard-dg2-set2:     [PASS][44] -> [SKIP][45] ([Intel XE#4208] / [i915#2575])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-466/igt@kms_cursor_edge_walk@128x128-top-edge.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_cursor_edge_walk@128x128-top-edge.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#2291]) +3 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-bmg:          [PASS][47] -> [SKIP][48] ([Intel XE#2291]) +4 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-lnl:          NOTRUN -> [SKIP][49] ([Intel XE#4354])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-6/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#4331])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-4/igt@kms_dp_linktrain_fallback@dsc-fallback.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][51] ([Intel XE#4331])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#2244]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_dsc@dsc-with-bpc.html

  * igt@kms_dsc@dsc-with-formats:
    - shard-lnl:          NOTRUN -> [SKIP][53] ([Intel XE#2244])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_dsc@dsc-with-formats.html

  * igt@kms_fbcon_fbt@psr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][54] ([Intel XE#776])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@display-3x:
    - shard-lnl:          NOTRUN -> [SKIP][55] ([Intel XE#703])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@kms_feature_discovery@display-3x.html
    - shard-bmg:          NOTRUN -> [SKIP][56] ([Intel XE#2373])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-4/igt@kms_feature_discovery@display-3x.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][57] ([Intel XE#703])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_feature_discovery@display-3x.html

  * igt@kms_feature_discovery@display-4x:
    - shard-bmg:          NOTRUN -> [SKIP][58] ([Intel XE#1138])
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-7/igt@kms_feature_discovery@display-4x.html
    - shard-lnl:          NOTRUN -> [SKIP][59] ([Intel XE#1138])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-3/igt@kms_feature_discovery@display-4x.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-lnl:          NOTRUN -> [SKIP][60] ([Intel XE#1421]) +4 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@ad-hdmi-a6-dp4:
    - shard-dg2-set2:     [PASS][61] -> [FAIL][62] ([Intel XE#301]) +3 other tests fail
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-436/igt@kms_flip@2x-flip-vs-expired-vblank@ad-hdmi-a6-dp4.html
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_flip@2x-flip-vs-expired-vblank@ad-hdmi-a6-dp4.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-bmg:          [PASS][63] -> [SKIP][64] ([Intel XE#2316]) +4 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
    - shard-bmg:          NOTRUN -> [SKIP][65] ([Intel XE#2316])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@bo-too-big-interruptible@a-edp1:
    - shard-lnl:          NOTRUN -> [TIMEOUT][66] ([Intel XE#1504]) +1 other test timeout
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@kms_flip@bo-too-big-interruptible@a-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@c-dp4:
    - shard-dg2-set2:     [PASS][67] -> [FAIL][68] ([Intel XE#301] / [Intel XE#3321]) +1 other test fail
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-466/igt@kms_flip@flip-vs-expired-vblank@c-dp4.html
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_flip@flip-vs-expired-vblank@c-dp4.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-bmg:          [PASS][69] -> [INCOMPLETE][70] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-3/igt@kms_flip@flip-vs-suspend.html
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-2/igt@kms_flip@flip-vs-suspend.html
    - shard-dg2-set2:     [PASS][71] -> [INCOMPLETE][72] ([Intel XE#2049] / [Intel XE#2597])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-432/igt@kms_flip@flip-vs-suspend.html
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend@c-dp4:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][73] ([Intel XE#2049] / [Intel XE#2597])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_flip@flip-vs-suspend@c-dp4.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
    - shard-bmg:          NOTRUN -> [SKIP][74] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#2293]) +1 other test skip
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#1401] / [Intel XE#1745]) +2 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][77] ([Intel XE#1401]) +2 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][78] ([Intel XE#651]) +5 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw:
    - shard-bmg:          NOTRUN -> [SKIP][79] ([Intel XE#2311]) +11 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#2312]) +5 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary:
    - shard-dg2-set2:     NOTRUN -> [SKIP][81] ([Intel XE#651]) +19 other tests skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-linear:
    - shard-bmg:          NOTRUN -> [SKIP][82] ([Intel XE#4141]) +4 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-tiling-linear.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][83] ([Intel XE#656]) +24 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][84] ([Intel XE#653]) +22 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#2313]) +15 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_getfb@getfb-reject-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][86] ([Intel XE#2502])
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-3/igt@kms_getfb@getfb-reject-ccs.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][87] ([Intel XE#605])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@kms_getfb@getfb-reject-ccs.html
    - shard-lnl:          NOTRUN -> [SKIP][88] ([Intel XE#605])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_getfb@getfb-reject-ccs.html

  * igt@kms_hdr@static-swap:
    - shard-bmg:          [PASS][89] -> [SKIP][90] ([Intel XE#1503])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-1/igt@kms_hdr@static-swap.html
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_hdr@static-swap.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-dg2-set2:     NOTRUN -> [SKIP][91] ([Intel XE#356])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-bmg:          NOTRUN -> [SKIP][92] ([Intel XE#2486])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-3/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_plane_cursor@primary@pipe-a-hdmi-a-6-size-256:
    - shard-dg2-set2:     NOTRUN -> [FAIL][93] ([Intel XE#616]) +2 other tests fail
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-435/igt@kms_plane_cursor@primary@pipe-a-hdmi-a-6-size-256.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-bmg:          [PASS][94] -> [SKIP][95] ([Intel XE#4596])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-2/igt@kms_plane_multiple@2x-tiling-4.html
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_multiple@2x-tiling-none:
    - shard-bmg:          NOTRUN -> [SKIP][96] ([Intel XE#4596])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-none.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-lnl:          NOTRUN -> [SKIP][97] ([Intel XE#309]) +3 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers:
    - shard-lnl:          NOTRUN -> [SKIP][98] ([Intel XE#2763]) +15 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-a:
    - shard-bmg:          NOTRUN -> [SKIP][99] ([Intel XE#2763]) +9 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-8/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-a.html

  * igt@kms_pm_backlight@fade:
    - shard-dg2-set2:     NOTRUN -> [SKIP][100] ([Intel XE#870]) +1 other test skip
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-lnl:          [PASS][101] -> [FAIL][102] ([Intel XE#718]) +1 other test fail
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-lnl-5/igt@kms_pm_dc@dc6-psr.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][103] ([Intel XE#2499])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-2/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-lnl:          NOTRUN -> [SKIP][104] ([Intel XE#1439] / [Intel XE#3141])
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf:
    - shard-lnl:          NOTRUN -> [SKIP][105] ([Intel XE#2893] / [Intel XE#4608])
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][106] ([Intel XE#4608]) +3 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-a-edp-1.html

  * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf:
    - shard-lnl:          NOTRUN -> [SKIP][107] ([Intel XE#2893]) +2 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-bmg:          NOTRUN -> [SKIP][108] ([Intel XE#1489]) +5 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-8/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][109] ([Intel XE#1489]) +6 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-dg2-set2:     NOTRUN -> [SKIP][110] ([Intel XE#1122])
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-psr2-cursor-plane-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][111] ([Intel XE#2850] / [Intel XE#929]) +9 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html

  * igt@kms_psr@fbc-psr2-cursor-render@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][112] ([Intel XE#4609]) +3 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@kms_psr@fbc-psr2-cursor-render@edp-1.html

  * igt@kms_psr@fbc-psr2-primary-render:
    - shard-lnl:          NOTRUN -> [SKIP][113] ([Intel XE#1406]) +6 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-3/igt@kms_psr@fbc-psr2-primary-render.html

  * igt@kms_psr@psr-primary-page-flip:
    - shard-bmg:          NOTRUN -> [SKIP][114] ([Intel XE#2234] / [Intel XE#2850]) +11 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-8/igt@kms_psr@psr-primary-page-flip.html

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-bmg:          NOTRUN -> [SKIP][115] ([Intel XE#3414] / [Intel XE#3904]) +2 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_rotation_crc@bad-pixel-format.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][116] ([Intel XE#3414]) +1 other test skip
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_rotation_crc@bad-tiling:
    - shard-lnl:          NOTRUN -> [SKIP][117] ([Intel XE#3414] / [Intel XE#3904]) +1 other test skip
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_rotation_crc@bad-tiling.html

  * igt@kms_scaling_modes@scaling-mode-full-aspect:
    - shard-bmg:          NOTRUN -> [SKIP][118] ([Intel XE#2413])
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-4/igt@kms_scaling_modes@scaling-mode-full-aspect.html

  * igt@kms_setmode@invalid-clone-single-crtc-stealing:
    - shard-lnl:          NOTRUN -> [SKIP][119] ([Intel XE#1435])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-6/igt@kms_setmode@invalid-clone-single-crtc-stealing.html

  * igt@kms_vrr@cmrr@pipe-a-edp-1:
    - shard-lnl:          [PASS][120] -> [FAIL][121] ([Intel XE#4459]) +1 other test fail
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-lnl-3/igt@kms_vrr@cmrr@pipe-a-edp-1.html
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@kms_vrr@cmrr@pipe-a-edp-1.html

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

  * igt@xe_compute_preempt@compute-preempt-many:
    - shard-dg2-set2:     NOTRUN -> [SKIP][123] ([Intel XE#1280] / [Intel XE#455]) +3 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-435/igt@xe_compute_preempt@compute-preempt-many.html

  * igt@xe_compute_preempt@compute-preempt-many-all-ram@engine-drm_xe_engine_class_compute:
    - shard-dg2-set2:     NOTRUN -> [SKIP][124] ([Intel XE#455]) +10 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_compute_preempt@compute-preempt-many-all-ram@engine-drm_xe_engine_class_compute.html

  * igt@xe_copy_basic@mem-copy-linear-0xfffe:
    - shard-dg2-set2:     NOTRUN -> [SKIP][125] ([Intel XE#1123])
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@xe_copy_basic@mem-copy-linear-0xfffe.html

  * igt@xe_copy_basic@mem-set-linear-0x369:
    - shard-dg2-set2:     NOTRUN -> [SKIP][126] ([Intel XE#1126])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@xe_copy_basic@mem-set-linear-0x369.html

  * igt@xe_eudebug@basic-vm-bind-ufence-delay-ack:
    - shard-lnl:          NOTRUN -> [SKIP][127] ([Intel XE#4837]) +6 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@xe_eudebug@basic-vm-bind-ufence-delay-ack.html

  * igt@xe_eudebug_online@single-step:
    - shard-bmg:          NOTRUN -> [SKIP][128] ([Intel XE#4837]) +6 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@xe_eudebug_online@single-step.html

  * igt@xe_eudebug_sriov@deny-sriov:
    - shard-bmg:          NOTRUN -> [SKIP][129] ([Intel XE#4518])
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@xe_eudebug_sriov@deny-sriov.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][130] ([Intel XE#4518])
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@xe_eudebug_sriov@deny-sriov.html
    - shard-lnl:          NOTRUN -> [SKIP][131] ([Intel XE#4518])
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-8/igt@xe_eudebug_sriov@deny-sriov.html

  * igt@xe_evict_ccs@evict-overcommit-simple:
    - shard-lnl:          NOTRUN -> [SKIP][132] ([Intel XE#688]) +1 other test skip
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@xe_evict_ccs@evict-overcommit-simple.html

  * igt@xe_exec_balancer@once-cm-parallel-basic:
    - shard-dg2-set2:     NOTRUN -> [SKIP][133] ([Intel XE#4208]) +1 other test skip
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_exec_balancer@once-cm-parallel-basic.html

  * igt@xe_exec_basic@multigpu-no-exec-null-defer-bind:
    - shard-lnl:          NOTRUN -> [SKIP][134] ([Intel XE#1392]) +4 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html

  * igt@xe_exec_basic@multigpu-once-null-defer-bind:
    - shard-bmg:          NOTRUN -> [SKIP][135] ([Intel XE#2322]) +4 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-4/igt@xe_exec_basic@multigpu-once-null-defer-bind.html

  * igt@xe_exec_fault_mode@twice-invalid-fault:
    - shard-dg2-set2:     NOTRUN -> [SKIP][136] ([Intel XE#288]) +18 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@xe_exec_fault_mode@twice-invalid-fault.html

  * igt@xe_exec_sip_eudebug@breakpoint-writesip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][137] ([Intel XE#4837]) +10 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_exec_sip_eudebug@breakpoint-writesip.html

  * igt@xe_exec_system_allocator@process-many-execqueues-mmap-free-huge:
    - shard-bmg:          NOTRUN -> [SKIP][138] ([Intel XE#4943]) +13 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@xe_exec_system_allocator@process-many-execqueues-mmap-free-huge.html

  * igt@xe_exec_system_allocator@process-many-mmap-huge:
    - shard-dg2-set2:     NOTRUN -> [SKIP][139] ([Intel XE#4915]) +188 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@xe_exec_system_allocator@process-many-mmap-huge.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-new-bo-map-nomemset:
    - shard-lnl:          [PASS][140] -> [FAIL][141] ([Intel XE#5018]) +1 other test fail
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-lnl-5/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-new-bo-map-nomemset.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-4/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-new-bo-map-nomemset.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-huge:
    - shard-lnl:          NOTRUN -> [SKIP][142] ([Intel XE#4943]) +11 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-3/igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-huge.html

  * igt@xe_mmap@vram:
    - shard-lnl:          NOTRUN -> [SKIP][143] ([Intel XE#1416])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-3/igt@xe_mmap@vram.html

  * igt@xe_oa@buffer-size:
    - shard-dg2-set2:     NOTRUN -> [SKIP][144] ([Intel XE#4501])
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@xe_oa@buffer-size.html

  * igt@xe_oa@polling-small-buf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][145] ([Intel XE#2541] / [Intel XE#3573]) +5 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_oa@polling-small-buf.html

  * igt@xe_oa@syncs-userptr-wait-cfg:
    - shard-dg2-set2:     NOTRUN -> [SKIP][146] ([Intel XE#2541] / [Intel XE#3573] / [Intel XE#4501])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@xe_oa@syncs-userptr-wait-cfg.html

  * igt@xe_peer2peer@write:
    - shard-bmg:          NOTRUN -> [SKIP][147] ([Intel XE#2427])
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@xe_peer2peer@write.html
    - shard-lnl:          NOTRUN -> [SKIP][148] ([Intel XE#1061])
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-6/igt@xe_peer2peer@write.html

  * igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p:
    - shard-dg2-set2:     NOTRUN -> [FAIL][149] ([Intel XE#1173]) +1 other test fail
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html

  * igt@xe_pm@s3-mocs:
    - shard-lnl:          NOTRUN -> [SKIP][150] ([Intel XE#584]) +2 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-5/igt@xe_pm@s3-mocs.html

  * igt@xe_pm@s4-basic:
    - shard-lnl:          [PASS][151] -> [ABORT][152] ([Intel XE#1794])
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-lnl-6/igt@xe_pm@s4-basic.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-2/igt@xe_pm@s4-basic.html

  * igt@xe_pmu@fn-engine-activity-load:
    - shard-bmg:          NOTRUN -> [SKIP][153] ([Intel XE#4650])
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-8/igt@xe_pmu@fn-engine-activity-load.html
    - shard-lnl:          NOTRUN -> [SKIP][154] ([Intel XE#4650])
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-3/igt@xe_pmu@fn-engine-activity-load.html

  * igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq:
    - shard-bmg:          NOTRUN -> [SKIP][155] ([Intel XE#4733])
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][156] ([Intel XE#4733]) +1 other test skip
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq.html

  * igt@xe_query@multigpu-query-mem-usage:
    - shard-bmg:          NOTRUN -> [SKIP][157] ([Intel XE#944])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-2/igt@xe_query@multigpu-query-mem-usage.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][158] ([Intel XE#944]) +1 other test skip
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@xe_query@multigpu-query-mem-usage.html

  * igt@xe_query@multigpu-query-uc-fw-version-guc:
    - shard-lnl:          NOTRUN -> [SKIP][159] ([Intel XE#944]) +2 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-2/igt@xe_query@multigpu-query-uc-fw-version-guc.html

  * igt@xe_render_copy@render-stress-0-copies:
    - shard-dg2-set2:     NOTRUN -> [SKIP][160] ([Intel XE#4814])
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@xe_render_copy@render-stress-0-copies.html

  * igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling:
    - shard-dg2-set2:     NOTRUN -> [SKIP][161] ([Intel XE#4130])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html

  * igt@xe_sriov_flr@flr-each-isolation:
    - shard-lnl:          NOTRUN -> [SKIP][162] ([Intel XE#3342])
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-7/igt@xe_sriov_flr@flr-each-isolation.html
    - shard-bmg:          NOTRUN -> [SKIP][163] ([Intel XE#3342])
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-7/igt@xe_sriov_flr@flr-each-isolation.html

  * igt@xe_sriov_scheduling@equal-throughput:
    - shard-lnl:          NOTRUN -> [SKIP][164] ([Intel XE#4351])
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-6/igt@xe_sriov_scheduling@equal-throughput.html

  
#### Possible fixes ####

  * igt@kms_big_fb@x-tiled-addfb-size-overflow:
    - shard-dg2-set2:     [SKIP][165] ([Intel XE#2351] / [Intel XE#4208]) -> [PASS][166]
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_big_fb@x-tiled-addfb-size-overflow.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@kms_big_fb@x-tiled-addfb-size-overflow.html

  * igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
    - shard-bmg:          [SKIP][167] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][168]
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-5/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-1/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4:
    - shard-dg2-set2:     [INCOMPLETE][169] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124]) -> [PASS][170]
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-bmg:          [SKIP][171] ([Intel XE#2291]) -> [PASS][172] +2 other tests pass
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_feature_discovery@display-2x:
    - shard-bmg:          [SKIP][173] ([Intel XE#2373]) -> [PASS][174]
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-6/igt@kms_feature_discovery@display-2x.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-7/igt@kms_feature_discovery@display-2x.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop:
    - shard-bmg:          [SKIP][175] ([Intel XE#2316]) -> [PASS][176] +8 other tests pass
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-8/igt@kms_flip@2x-flip-vs-dpms-on-nop.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a6-dp4:
    - shard-dg2-set2:     [FAIL][177] ([Intel XE#301] / [Intel XE#3321]) -> [PASS][178]
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-435/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a6-dp4.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a6-dp4.html

  * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6:
    - shard-dg2-set2:     [FAIL][179] ([Intel XE#301]) -> [PASS][180] +1 other test pass
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-466/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6.html

  * igt@kms_flip@flip-vs-modeset-vs-hang:
    - shard-dg2-set2:     [SKIP][181] ([Intel XE#4208] / [i915#2575]) -> [PASS][182] +9 other tests pass
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_flip@flip-vs-modeset-vs-hang.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_flip@flip-vs-modeset-vs-hang.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-dg2-set2:     [INCOMPLETE][183] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][184] +1 other test pass
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-433/igt@kms_flip@flip-vs-suspend-interruptible.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_hdr@static-toggle:
    - shard-bmg:          [SKIP][185] ([Intel XE#1503]) -> [PASS][186]
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-6/igt@kms_hdr@static-toggle.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-7/igt@kms_hdr@static-toggle.html

  * igt@kms_plane_cursor@overlay:
    - shard-dg2-set2:     [INCOMPLETE][187] -> [PASS][188] +1 other test pass
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-466/igt@kms_plane_cursor@overlay.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_plane_cursor@overlay.html

  * igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64:
    - shard-dg2-set2:     [FAIL][189] ([Intel XE#616]) -> [PASS][190] +2 other tests pass
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-466/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-466/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html

  * igt@kms_vrr@negative-basic:
    - shard-bmg:          [SKIP][191] ([Intel XE#1499]) -> [PASS][192]
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-6/igt@kms_vrr@negative-basic.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-2/igt@kms_vrr@negative-basic.html

  * igt@xe_exec_basic@multigpu-once-basic-defer-mmap:
    - shard-dg2-set2:     [SKIP][193] ([Intel XE#1392]) -> [PASS][194]
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-432/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html

  * igt@xe_exec_queue_property@invalid-property:
    - shard-dg2-set2:     [SKIP][195] ([Intel XE#4208]) -> [PASS][196] +28 other tests pass
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_exec_queue_property@invalid-property.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@xe_exec_queue_property@invalid-property.html

  * igt@xe_pmu@gt-frequency:
    - shard-dg2-set2:     [FAIL][197] ([Intel XE#4819]) -> [PASS][198] +1 other test pass
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-435/igt@xe_pmu@gt-frequency.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_pmu@gt-frequency.html

  
#### Warnings ####

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][199] ([Intel XE#4208]) -> [SKIP][200] ([Intel XE#316])
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_big_fb@linear-8bpp-rotate-270.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-dg2-set2:     [SKIP][201] ([Intel XE#4208]) -> [SKIP][202] ([Intel XE#1124])
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-433/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html

  * igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p:
    - shard-dg2-set2:     [SKIP][203] ([Intel XE#4208] / [i915#2575]) -> [SKIP][204] ([Intel XE#2191])
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-4-displays-2560x1440p:
    - shard-dg2-set2:     [SKIP][205] ([Intel XE#4208] / [i915#2575]) -> [SKIP][206] ([Intel XE#367])
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
    - shard-dg2-set2:     [SKIP][207] ([Intel XE#4208]) -> [SKIP][208] ([Intel XE#2907])
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-dg2-set2:     [SKIP][209] ([Intel XE#4208]) -> [SKIP][210] ([Intel XE#3442])
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs:
    - shard-dg2-set2:     [SKIP][211] ([Intel XE#4208]) -> [SKIP][212] ([Intel XE#455] / [Intel XE#787]) +1 other test skip
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc:
    - shard-dg2-set2:     [SKIP][213] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][214] ([Intel XE#4208])
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-436/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_chamelium_edid@dp-edid-change-during-suspend:
    - shard-dg2-set2:     [SKIP][215] ([Intel XE#4208] / [i915#2575]) -> [SKIP][216] ([Intel XE#373])
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_chamelium_edid@dp-edid-change-during-suspend.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_chamelium_edid@dp-edid-change-during-suspend.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-bmg:          [FAIL][217] ([Intel XE#1178]) -> [SKIP][218] ([Intel XE#2341])
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-1/igt@kms_content_protection@atomic-dpms.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@uevent:
    - shard-bmg:          [FAIL][219] ([Intel XE#1188]) -> [SKIP][220] ([Intel XE#2341])
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-4/igt@kms_content_protection@uevent.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-dg2-set2:     [SKIP][221] ([Intel XE#4208] / [i915#2575]) -> [SKIP][222] ([Intel XE#308])
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_cursor_crc@cursor-onscreen-512x512.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_feature_discovery@display-4x:
    - shard-dg2-set2:     [SKIP][223] ([Intel XE#4208] / [i915#2575]) -> [SKIP][224] ([Intel XE#1138])
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_feature_discovery@display-4x.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-435/igt@kms_feature_discovery@display-4x.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][225] ([Intel XE#651]) -> [SKIP][226] ([Intel XE#4208])
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-466/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][227] ([Intel XE#2312]) -> [SKIP][228] ([Intel XE#2311]) +15 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          [SKIP][229] ([Intel XE#4141]) -> [SKIP][230] ([Intel XE#2312]) +4 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][231] ([Intel XE#2312]) -> [SKIP][232] ([Intel XE#4141]) +10 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render:
    - shard-dg2-set2:     [SKIP][233] ([Intel XE#4208]) -> [SKIP][234] ([Intel XE#651]) +4 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][235] ([Intel XE#2311]) -> [SKIP][236] ([Intel XE#2312]) +13 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt:
    - shard-dg2-set2:     [SKIP][237] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][238] ([Intel XE#651])
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render:
    - shard-dg2-set2:     [SKIP][239] ([Intel XE#4208]) -> [SKIP][240] ([Intel XE#653]) +2 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt:
    - shard-bmg:          [SKIP][241] ([Intel XE#2313]) -> [SKIP][242] ([Intel XE#2312]) +17 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][243] ([Intel XE#2312]) -> [SKIP][244] ([Intel XE#2313]) +10 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][245] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][246] ([Intel XE#3544])
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-bmg-8/igt@kms_hdr@brightness-with-hdr.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-bmg-5/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-lnl:          [SKIP][247] ([Intel XE#736]) -> [SKIP][248] ([Intel XE#1909])
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-lnl-8/igt@kms_pm_dc@dc3co-vpb-simulation.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-lnl-2/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_psr@fbc-pr-sprite-plane-onoff:
    - shard-dg2-set2:     [SKIP][249] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][250] ([Intel XE#2850] / [Intel XE#929])
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_psr@fbc-pr-sprite-plane-onoff.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@kms_psr@fbc-pr-sprite-plane-onoff.html

  * igt@kms_psr@fbc-psr2-primary-render:
    - shard-dg2-set2:     [SKIP][251] ([Intel XE#4208]) -> [SKIP][252] ([Intel XE#2850] / [Intel XE#929]) +1 other test skip
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_psr@fbc-psr2-primary-render.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-435/igt@kms_psr@fbc-psr2-primary-render.html

  * igt@kms_rotation_crc@bad-tiling:
    - shard-dg2-set2:     [SKIP][253] ([Intel XE#4208] / [i915#2575]) -> [SKIP][254] ([Intel XE#3414])
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_rotation_crc@bad-tiling.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@kms_rotation_crc@bad-tiling.html

  * igt@kms_scaling_modes@scaling-mode-full-aspect:
    - shard-dg2-set2:     [SKIP][255] ([Intel XE#4208] / [i915#2575]) -> [SKIP][256] ([Intel XE#455]) +1 other test skip
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_scaling_modes@scaling-mode-full-aspect.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-464/igt@kms_scaling_modes@scaling-mode-full-aspect.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg2-set2:     [SKIP][257] ([Intel XE#362]) -> [FAIL][258] ([Intel XE#1729])
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_vrr@lobf:
    - shard-dg2-set2:     [SKIP][259] ([Intel XE#2168]) -> [SKIP][260] ([Intel XE#4208] / [i915#2575])
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-432/igt@kms_vrr@lobf.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@kms_vrr@lobf.html

  * igt@xe_copy_basic@mem-set-linear-0x3fff:
    - shard-dg2-set2:     [SKIP][261] ([Intel XE#1126]) -> [SKIP][262] ([Intel XE#4208])
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-435/igt@xe_copy_basic@mem-set-linear-0x3fff.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0x3fff.html

  * igt@xe_eu_stall@blocking-read:
    - shard-dg2-set2:     [SKIP][263] ([Intel XE#4208]) -> [SKIP][264] ([Intel XE#4497])
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_eu_stall@blocking-read.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_eu_stall@blocking-read.html

  * igt@xe_eudebug_online@breakpoint-not-in-debug-mode:
    - shard-dg2-set2:     [SKIP][265] ([Intel XE#4837]) -> [SKIP][266] ([Intel XE#4208])
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-466/igt@xe_eudebug_online@breakpoint-not-in-debug-mode.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_eudebug_online@breakpoint-not-in-debug-mode.html

  * igt@xe_eudebug_online@single-step:
    - shard-dg2-set2:     [SKIP][267] ([Intel XE#4208]) -> [SKIP][268] ([Intel XE#4837]) +1 other test skip
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_eudebug_online@single-step.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@xe_eudebug_online@single-step.html

  * igt@xe_exec_fault_mode@many-execqueues-rebind:
    - shard-dg2-set2:     [SKIP][269] ([Intel XE#4208]) -> [SKIP][270] ([Intel XE#288]) +3 other tests skip
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_exec_fault_mode@many-execqueues-rebind.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@xe_exec_fault_mode@many-execqueues-rebind.html

  * igt@xe_exec_fault_mode@many-invalid-userptr-fault:
    - shard-dg2-set2:     [SKIP][271] ([Intel XE#288]) -> [SKIP][272] ([Intel XE#4208])
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_exec_fault_mode@many-invalid-userptr-fault.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_exec_fault_mode@many-invalid-userptr-fault.html

  * igt@xe_exec_system_allocator@threads-many-large-mmap-shared-remap-dontunmap-eocheck:
    - shard-dg2-set2:     [SKIP][273] ([Intel XE#4915]) -> [SKIP][274] ([Intel XE#4208]) +4 other tests skip
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-434/igt@xe_exec_system_allocator@threads-many-large-mmap-shared-remap-dontunmap-eocheck.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_exec_system_allocator@threads-many-large-mmap-shared-remap-dontunmap-eocheck.html

  * igt@xe_exec_system_allocator@threads-many-stride-mmap-shared:
    - shard-dg2-set2:     [SKIP][275] ([Intel XE#4208]) -> [SKIP][276] ([Intel XE#4915]) +47 other tests skip
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_exec_system_allocator@threads-many-stride-mmap-shared.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-434/igt@xe_exec_system_allocator@threads-many-stride-mmap-shared.html

  * igt@xe_oa@non-system-wide-paranoid:
    - shard-dg2-set2:     [SKIP][277] ([Intel XE#4208]) -> [SKIP][278] ([Intel XE#2541] / [Intel XE#3573])
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_oa@non-system-wide-paranoid.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-436/igt@xe_oa@non-system-wide-paranoid.html

  * igt@xe_oa@syncs-syncobj-wait:
    - shard-dg2-set2:     [SKIP][279] ([Intel XE#4208]) -> [SKIP][280] ([Intel XE#2541] / [Intel XE#3573] / [Intel XE#4501])
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_oa@syncs-syncobj-wait.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-463/igt@xe_oa@syncs-syncobj-wait.html

  * igt@xe_pmu@fn-engine-activity-load:
    - shard-dg2-set2:     [SKIP][281] ([Intel XE#4208]) -> [SKIP][282] ([Intel XE#4650])
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_pmu@fn-engine-activity-load.html
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-435/igt@xe_pmu@fn-engine-activity-load.html

  * igt@xe_spin_batch@spin-mem-copy:
    - shard-dg2-set2:     [SKIP][283] ([Intel XE#4208]) -> [SKIP][284] ([Intel XE#4821])
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8412/shard-dg2-463/igt@xe_spin_batch@spin-mem-copy.html
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13300/shard-dg2-435/igt@xe_spin_batch@spin-mem-copy.html

  
  [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
  [Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
  [Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1416
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [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#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1504
  [Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
  [Intel XE#1909]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1909
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [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#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2351
  [Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
  [Intel XE#2427]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2427
  [Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
  [Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
  [Intel XE#2502]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2502
  [Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433
  [Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/356
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3767]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3767
  [Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4208
  [Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
  [Intel XE#4351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4351
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
  [Intel XE#4497]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4497
  [Intel XE#4501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4501
  [Intel XE#4518]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4518
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814
  [Intel XE#4819]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4819
  [Intel XE#4821]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4821
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5018]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5018
  [Intel XE#5176]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5176
  [Intel XE#5229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5229
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#605]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/605
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#736]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/736
  [Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/911
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575


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

  * IGT: IGT_8412 -> IGTPW_13300
  * Linux: xe-3255-dea7240e83c9e58ec755a3d68e7db10068df6b76 -> xe-3256-43ac07d088f280cfb9eeda0c4caf11b0b7b56e96

  IGTPW_13300: 13300
  IGT_8412: 8412
  xe-3255-dea7240e83c9e58ec755a3d68e7db10068df6b76: dea7240e83c9e58ec755a3d68e7db10068df6b76
  xe-3256-43ac07d088f280cfb9eeda0c4caf11b0b7b56e96: 43ac07d088f280cfb9eeda0c4caf11b0b7b56e96

== Logs ==

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

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

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

* ✗ i915.CI.BAT: failure for Replace intel_sysfs_debugfs
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (7 preceding siblings ...)
  2025-06-17  2:49 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-06-17 13:01 ` Patchwork
  2025-07-03 21:44 ` ✓ Xe.CI.BAT: success for Replace intel_sysfs_debugfs (rev2) Patchwork
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-06-17 13:01 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

Series: Replace intel_sysfs_debugfs
URL   : https://patchwork.freedesktop.org/series/150310/
State : failure

== Summary ==

CI Bug Log - changes from IGT_8412 -> IGTPW_13300
====================================================

Summary
-------

  **FAILURE**

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

Participating hosts (40 -> 37)
------------------------------

  Missing    (3): bat-dg2-11 bat-arlh-2 fi-pnv-d510 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live:
    - bat-jsl-1:          [PASS][1] -> [DMESG-WARN][2] +1 other test dmesg-warn
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8412/bat-jsl-1/igt@i915_selftest@live.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13300/bat-jsl-1/igt@i915_selftest@live.html

  
New tests
---------

  New tests have been introduced between IGT_8412 and IGTPW_13300:

### New IGT tests (2) ###

  * igt@core_debugfs@read-all-entries:
    - Statuses : 36 pass(s)
    - Exec time: [0.00, 0.14] s

  * igt@core_sysfs@read-all-entries:
    - Statuses : 36 pass(s)
    - Exec time: [0.0, 0.02] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live:
    - bat-arlh-3:         [PASS][3] -> [DMESG-FAIL][4] ([i915#14243]) +1 other test dmesg-fail
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8412/bat-arlh-3/igt@i915_selftest@live.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13300/bat-arlh-3/igt@i915_selftest@live.html

  * igt@i915_selftest@live@late_gt_pm:
    - fi-cfl-8109u:       [PASS][5] -> [DMESG-WARN][6] ([i915#13735]) +80 other tests dmesg-warn
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8412/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13300/fi-cfl-8109u/igt@i915_selftest@live@late_gt_pm.html

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

  * igt@kms_pipe_crc_basic@read-crc:
    - fi-cfl-8109u:       [PASS][11] -> [DMESG-WARN][12] ([i915#13735] / [i915#13890]) +49 other tests dmesg-warn
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8412/fi-cfl-8109u/igt@kms_pipe_crc_basic@read-crc.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13300/fi-cfl-8109u/igt@kms_pipe_crc_basic@read-crc.html

  
#### Possible fixes ####

  * igt@dmabuf@all-tests:
    - bat-apl-1:          [INCOMPLETE][13] ([i915#12904]) -> [PASS][14] +1 other test pass
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8412/bat-apl-1/igt@dmabuf@all-tests.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13300/bat-apl-1/igt@dmabuf@all-tests.html

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

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8412 -> IGTPW_13300
  * Linux: CI_DRM_16706 -> CI_DRM_16707

  CI-20190529: 20190529
  CI_DRM_16706: dea7240e83c9e58ec755a3d68e7db10068df6b76 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_16707: 43ac07d088f280cfb9eeda0c4caf11b0b7b56e96 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_13300: 13300
  IGT_8412: 8412

== Logs ==

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

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

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

* RE: [PATCH v3 resend i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
@ 2025-06-24 13:24   ` Sokolowski, Jan
  0 siblings, 0 replies; 33+ messages in thread
From: Sokolowski, Jan @ 2025-06-24 13:24 UTC (permalink / raw)
  To: Peter Senna Tschudin, igt-dev@lists.freedesktop.org
  Cc: Wajdeczko, Michal, Bernatowicz, Marcin,
	kamil.konieczny@linux.intel.com, Piecielska, Katarzyna,
	Kempczynski, Zbigniew, Musial, Ewelina



> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Peter
> Senna Tschudin
> Sent: Monday, June 16, 2025 9:43 AM
> To: igt-dev@lists.freedesktop.org
> Cc: Peter Senna Tschudin <peter.senna@linux.intel.com>; Wajdeczko, Michal
> <Michal.Wajdeczko@intel.com>; Bernatowicz, Marcin
> <marcin.bernatowicz@intel.com>; kamil.konieczny@linux.intel.com;
> Piecielska, Katarzyna <katarzyna.piecielska@intel.com>; Kempczynski,
> Zbigniew <zbigniew.kempczynski@intel.com>; Musial, Ewelina
> <ewelina.musial@intel.com>
> Subject: [PATCH v3 resend i-g-t 1/6] lib/igt_dir: Directory processing and
> flexible file handling
> 
> This update introduces new utilities to facilitate reading and
> processing files within a directory, giving test writers greater control
> over file selection and processing.
> 
> For example, to read and discard all files from debugfs:
> 
>   fd = drm_open_driver_master(DRIVER_ANY);
>   debugfs = igt_debugfs_dir(fd);
> 
>   igt_dir = igt_dir_create(debugfs);
>   igt_dir_scan_dirfd(igt_dir, -1); // -1 means unlimited scan depth
>   igt_dir_process_files(igt_dir, NULL, NULL);
> 
> The igt_dir_scan_dirfd() function builds a linked list of files (using
> igt_list), making it easy to add or remove specific files before
> processing. If you only want to process a predetermined set of files,
> you can skip the scan step and add the files directly to the list.
> 
> The last two parameters of igt_dir_process_files() specify a callback
> function and user data. If the callback is NULL, a default “read and
> discard” function is used.
> 
> Cc: michal.wajdeczko@intel.com
> Cc: marcin.bernatowicz@intel.com
> Cc: kamil.konieczny@linux.intel.com
> Cc: katarzyna.piecielska@intel.com
> Cc: zbigniew.kempczynski@intel.com
> Cc: ewelina.musial@intel.com
> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
> ---
> v3:
>  - unchanged from v2
> v2:
>  - changed style of comparison to NULL
> 
>  lib/igt_dir.c   | 260 ++++++++++++++++++++++++++++++++++++++++++++++++
>  lib/igt_dir.h   |  61 ++++++++++++
>  lib/meson.build |   1 +
>  3 files changed, 322 insertions(+)
>  create mode 100644 lib/igt_dir.c
>  create mode 100644 lib/igt_dir.h
> 
> diff --git a/lib/igt_dir.c b/lib/igt_dir.c
> new file mode 100644
> index 000000000..8f5a25e35
> --- /dev/null
> +++ b/lib/igt_dir.c
> @@ -0,0 +1,260 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#include <dirent.h>
> +#include <fcntl.h>
> +
> +#include "igt.h"
> +#include "lib/igt_dir.h"
> +
> +/**
> + * igt_dir_get_fd_path: Get the path of a file descriptor
> + * @fd: file descriptor to get the path for
> + * @path: buffer to store the path
> + * @path_len: length of the buffer
> + *
> + * Returns: 0 on success, a negative error code on failure
> + */
> +int igt_dir_get_fd_path(int fd, char *path, size_t path_len)
> +{
> +	ssize_t len;
> +	char proc_path[64];
> +
> +	snprintf(proc_path, sizeof(proc_path), "/proc/self/fd/%d", fd);
> +	len = readlink(proc_path, path, path_len - 1);
> +	if (len == -1)
> +		return -1;
> +
> +	path[path_len] = '\0';
> +	return 0;
> +}
> +
> +/**
> + * igt_dir_callback_read_discard: Default callback function for reading and
> + *				  discarding file contents
> + * @filename: Path to the file
> + * @callback_data: Optional pointer to user-defined data passed to the
> callback
> + *
> + * Returns: 0 on success, a negative error code on failure
> + */
> +int igt_dir_callback_read_discard(const char *filename,
> +				  void *callback_data)
> +{
> +	int fd;
> +	char buf[4096];
> +	ssize_t bytes_read;
> +
> +	fd = open(filename, O_RDONLY);
> +	if (fd < 0) {
> +		igt_debug("Failed to open file %s\n", filename);
> +		return -1;
> +	}
> +	bytes_read = read(fd, buf, sizeof(buf) - 1);
> +	if (bytes_read < 0) {
> +		igt_debug("Failed to read file %s\n", filename);
> +		close(fd);
> +		return -1;
> +	}
> +	buf[bytes_read] = '\0';
> +	igt_debug("Read %zd bytes from file %s: %s\n", bytes_read,
> +		  filename, buf);
> +	close(fd);
> +	return 0;
> +}
> +
> +/**
> + * igt_dir_create: Create a new igt_dir_t struct
> + * @dirfd: file descriptor of the root directory
> + *
> + * Returns: Pointer to the new igt_dir_t struct, or NULL on failure
> + */
> +igt_dir_t *igt_dir_create(int dirfd)
> +{
> +	igt_dir_t *config;
> +	size_t path_len = 512;
> +	char path[path_len];
> +
> +	config = malloc(sizeof(igt_dir_t));
> +	if (!config)
> +		return NULL;
> +
> +	config->dirfd = dirfd;
> +
> +	igt_dir_get_fd_path(dirfd, path, path_len);
> +	igt_require(path[0] != '\0');
> +
> +	config->root_path = malloc(path_len);
> +	if (!config->root_path) {
> +		free(config);
> +		return NULL;
> +	}
> +
> +	strncpy(config->root_path, path, path_len);
> +
> +	IGT_INIT_LIST_HEAD(&config->file_list_head);
> +
> +	config->callback = NULL;
> +
> +	return config;
> +}
> +
> +static int _igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth,
> +			       int depth, const char *current_path)
> +{
> +	struct dirent *entry;
> +	igt_dir_file_list_t *file_list_entry;
> +	DIR *dirp;
> +	int dirfd;
> +	int ret = 0;
> +
> +	if (depth > scan_maxdepth && scan_maxdepth != -1)
> +		return 0;
> +
> +	if (!current_path) {
> +		igt_debug("Invalid current path\n");
> +		return -1;
> +	}
> +
> +	dirfd = open(current_path, O_RDONLY | O_DIRECTORY);
> +	if (dirfd < 0) {
> +		igt_debug("Failed to open directory %s\n", current_path);
> +		return -1;
> +	}
> +
> +	dirp = fdopendir(dirfd);
> +	if (!dirp) {
> +		igt_debug("Failed to fdopendir %s\n", current_path);
> +		close(dirfd);
> +		return -1;
> +	}
> +
> +	while ((entry = readdir(dirp))) {
> +		char entry_path[PATH_MAX];
> +
> +		if (strcmp(entry->d_name, ".") == 0 ||
> +		    strcmp(entry->d_name, "..") == 0)
> +			continue;
> +
> +		snprintf(entry_path, sizeof(entry_path),
> +			 "%s/%s", current_path, entry->d_name);
> +
> +		if (entry->d_type == DT_DIR) {
> +			ret = _igt_dir_scan_dirfd(config, scan_maxdepth,
> +						  depth + 1, entry_path);
> +			if (ret)
> +				break;
> +		} else {
> +			/* Compute path relative to the scan root */
> +			const char *relative_path = entry_path +
> +						    strlen(config->root_path);
> +			if (*relative_path == '/')
> +				relative_path++; /* skip leading slash */
> +
> +			file_list_entry = malloc(sizeof(igt_dir_file_list_t));
> +			if (!file_list_entry) {
> +				igt_debug("Failed to allocate memory for file
> list entry\n");
> +				continue;
> +			}
> +			file_list_entry->relative_path = strdup(relative_path);
> +			file_list_entry->match = true;
> +			igt_list_add(&file_list_entry->link,
> +				     &config->file_list_head);
> +		}
> +	}
> +
> +	closedir(dirp);
> +	close(dirfd);
> +	return ret;
> +}
> +
> +/**
> + * igt_dir_scan_dirfd: Perform a directory scan based on config.
> + * @config: Pointer to the igt_dir struct
> + * @scan_maxdepth: Maximum depth to scan the directory. -1 means no
> limit
> + *
> + * Returns: 0 on success, a negative error code on failure
> + */
> +int igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth)
> +{
> +	igt_require(config);
> +	igt_require(config->root_path);
> +	igt_require(config->dirfd >= 0);
> +	igt_require(scan_maxdepth >= -1);
> +	igt_require(scan_maxdepth != 0);
> +
> +	/* If the linked list is not empty, clean it first */
> +	if (!igt_list_empty(&config->file_list_head)) {
> +		igt_dir_file_list_t *file_list_entry, *tmp;
> +
> +		igt_list_for_each_entry_safe(file_list_entry, tmp,
> +					     &config->file_list_head, link) {
> +			free(file_list_entry->relative_path);
> +			free(file_list_entry);
> +		}
> +	}
> +
> +	return _igt_dir_scan_dirfd(config, scan_maxdepth, 0, config-
> >root_path);
> +}
> +
> +/**
> + * igt_dir_process_files: Process files in the directory
> + * @config: Pointer to the igt_dir struct
> + * @callback: Callback function to process each file
> + * @callback_data: Optional pointer to user-defined data passed to the
> callback
> + *
> + * Returns: 0 on success, a negative error code on failure
> + */
> +int igt_dir_process_files(igt_dir_t *config,
> +			 igt_dir_file_callback callback,
> +			 void *callback_data)
> +{
> +	igt_dir_file_list_t *file_list_entry;
> +	int ret = 0;
> +
> +	igt_require(config);
> +	igt_require(config->root_path);
> +	igt_require(config->dirfd >= 0);
> +
> +	if (!callback)
> +		callback = igt_dir_callback_read_discard;
> +
> +	igt_list_for_each_entry(file_list_entry, &config->file_list_head, link) {
> +		/* Only if match is true */

Personally, I think this comment is somewhat superfluous, something like i + 1; /* adds 1 */. 
But it's a minor thing really imho.

> +		if (file_list_entry->match) {
> +			char full_path[PATH_MAX];
> +
> +			snprintf(full_path, sizeof(full_path),
> +				 "%s/%s", config->root_path,
> +				 file_list_entry->relative_path);
> +			ret = callback(full_path, callback_data);
> +			if (ret)
> +				break;
> +		}
> +	}
> +
> +	return ret;
> +}
> +
> +/**
> + * igt_dir_destroy: Destroy the igt_dir struct
> + * @config: Pointer to the igt_dir struct
> + *
> + * Returns: 0 on success, a negative error code on failure
> + */
> +void igt_dir_destroy(igt_dir_t *config)
> +{
> +	igt_dir_file_list_t *file_list_entry, *tmp;
> +
> +	igt_require(config);
> +
> +	igt_list_for_each_entry_safe(file_list_entry, tmp,
> +				 &config->file_list_head, link) {
> +		free(file_list_entry->relative_path);
> +		free(file_list_entry);
> +	}
> +
> +	free(config->root_path);
> +	free(config);
> +}
> diff --git a/lib/igt_dir.h b/lib/igt_dir.h
> new file mode 100644
> index 000000000..fb9230862
> --- /dev/null
> +++ b/lib/igt_dir.h
> @@ -0,0 +1,61 @@
> +/* SPDX-License-Identifier: MIT
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#ifndef IGT_DIR_H
> +#define IGT_DIR_H
> +
> +#include "igt_list.h"
> +
> +/**
> + * Callback function type for processing files
> + * The callback is blocking, meaning traversal waits for it to return
> + * before proceeding to the next file
> + * @filename: Path to the file
> + * @callback_data: Optional pointer to user-defined data passed to the
> callback
> + *
> + * Returns:
> + * 0 on success, a negative error code on failure.
> + */
> +typedef int (*igt_dir_file_callback)(const char *filename,
> +				     void *callback_data);
> +
> +/**
> + * igt_dir_file_list_t: List of files with a relative path
> + * @relative_path: path to a file, relative to the root directory
> + * @match: a boolean used to filter the list of files. When match=true the
> + *	   file is processed, otherwise it is skipped
> + * @link: list head for linking files in the list
> + */
> +typedef struct {
> +	char *relative_path;
> +	bool match;
> +	struct igt_list_head link;
> +} igt_dir_file_list_t;
> +
> +/**
> + * igt_dir_t: Main struct for igt_dir
> + * @dirfd: file descriptor of the root directory
> + * @root_path: string of the root path, for example:
> + *	       /sys/kernel/debug/dri/0000:00:02.0/
> + * @file_list_head: head of the list of files
> + * @callback: Callback function for file operations. If NULL, defaults
> + *	      to reading and discarding file contents
> + */
> +typedef struct {
> +	int dirfd;
> +	char *root_path;
> +	struct igt_list_head file_list_head;
> +	igt_dir_file_callback callback;
> +} igt_dir_t;
> +
> +int igt_dir_get_fd_path(int fd, char *path, size_t path_len);
> +int igt_dir_callback_read_discard(const char *filename,
> +				  void *callback_data);
> +igt_dir_t *igt_dir_create(int dirfd);
> +int igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth);
> +int igt_dir_process_files(igt_dir_t *config,
> +			  igt_dir_file_callback callback,
> +			  void *callback_data);
> +void igt_dir_destroy(igt_dir_t *config);
> +#endif /* IGT_DIR_H */
> diff --git a/lib/meson.build b/lib/meson.build
> index ff81baae1..ec4a71bd7 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -91,6 +91,7 @@ lib_sources = [
>  	'igt_kms.c',
>  	'igt_fb.c',
>  	'igt_core.c',
> +	'igt_dir.c',
>  	'igt_draw.c',
>  	'igt_list.c',
>  	'igt_map.c',
> --
> 2.43.0

Reviewed-by: Jan Sokolowski <jan.sokolowski@intel.com>

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

* Re: [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs Peter Senna Tschudin
@ 2025-07-03 20:36   ` Rodrigo Vivi
  2025-07-04  8:57     ` Peter Senna Tschudin
  2025-07-04  9:06     ` Peter Senna Tschudin
  0 siblings, 2 replies; 33+ messages in thread
From: Rodrigo Vivi @ 2025-07-03 20:36 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: igt-dev, michal.wajdeczko, marcin.bernatowicz, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski, ewelina.musial

On Mon, Jun 16, 2025 at 09:42:37AM +0200, Peter Senna Tschudin wrote:
> xe_debugfs is a test specific to Xe GPUs. It is intended to complement
> the existing generic debugfs tests core_debugfs and
> core_debugfs_display_on_off.
> 
> Additionally, this test has been updated to use the igt_dir
> infrastructure, resulting in simpler code.
> 
> Cc: michal.wajdeczko@intel.com
> Cc: marcin.bernatowicz@intel.com
> Cc: kamil.konieczny@linux.intel.com
> Cc: katarzyna.piecielska@intel.com
> Cc: zbigniew.kempczynski@intel.com
> Cc: ewelina.musial@intel.com
> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
> ---
> v3:
>  - unchanged from v2
> v2:
>  - changed style of comparison to NULL
> 
>  tests/intel-ci/xe-fast-feedback.testlist |   2 +
>  tests/intel/xe_debugfs.c                 | 208 +++++++++++++++++++++++
>  tests/meson.build                        |   1 +
>  3 files changed, 211 insertions(+)
>  create mode 100644 tests/intel/xe_debugfs.c
> 
> diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
> index a5f799f6b..c52f08953 100644
> --- a/tests/intel-ci/xe-fast-feedback.testlist
> +++ b/tests/intel-ci/xe-fast-feedback.testlist
> @@ -78,6 +78,8 @@ igt@xe_create@create-execqueues-noleak
>  igt@xe_create@create-execqueues-leak
>  igt@xe_create@create-invalid-mbz
>  igt@xe_create@create-massive-size
> +igt@xe_debugfs@xe-base
> +igt@xe_debugfs@xe-forcewake
>  igt@xe_dma_buf_sync@export-dma-buf-once-write-sync
>  igt@xe_dma_buf_sync@export-dma-buf-once-read-sync
>  igt@xe_dma_buf_sync@export-dma-buf-once-read-write-sync
> diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
> new file mode 100644
> index 000000000..66a5fa0f6
> --- /dev/null
> +++ b/tests/intel/xe_debugfs.c
> @@ -0,0 +1,208 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#include <dirent.h>
> +#include <fcntl.h>
> +
> +#include "igt.h"
> +#include "igt_debugfs.h"
> +#include "igt_dir.h"
> +#include "igt_sysfs.h"
> +#include "xe/xe_query.h"
> +
> +
> +struct {
> +	bool warn_on_not_hit;
> +} opt = { 0 };
> +
> +/**
> + * TEST: Xe debugfs test
> + * Description: Xe-specific debugfs tests. These are complementary to the
> + * core_debugfs and core_debugfs_display_on_off tests.
> + *
> + * Category: Core
> + * Mega feature: General Core features
> + * Sub-category: uapi
> + * Functionality: debugfs
> + * Feature: core
> + * Test category: uapi
> + *
> + */
> +
> +IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
> +
> +static int xe_validate_entries(igt_dir_t *igt_dir,
> +			       const char * const str_val[], int str_cnt)
> +{
> +	igt_dir_file_list_t *file_list_entry;
> +
> +	if (!igt_dir)
> +		return -1;
> +
> +	igt_dir_scan_dirfd(igt_dir, -1);
> +
> +	for (int i = 0; i < str_cnt; i++) {
> +		int hit = 0;
> +
> +		igt_list_for_each_entry(file_list_entry,
> +					&igt_dir->file_list_head, link) {
> +			if (strcmp(file_list_entry->relative_path,
> +				   str_val[i]) == 0) {
> +				hit = 1;
> +				break;
> +			}
> +		}
> +
> +		if (!hit && opt.warn_on_not_hit)
> +			igt_warn("no test for: %s\n", str_val[i]);
> +	}
> +
> +	return 0;
> +}
> +
> +/**
> + * SUBTEST: xe-base
> + * Description: Check if various debugfs devnodes exist and test reading them
> + */
> +static void
> +xe_test_base(int fd, struct drm_xe_query_config *config, igt_dir_t *igt_dir)
> +{
> +	uint16_t devid = intel_get_drm_devid(fd);
> +	static const char * const expected_files[] = {
> +		"gt0",
> +		"gt1",
> +		"stolen_mm",
> +		"gtt_mm",
> +		"vram0_mm",
> +		"forcewake_all",
> +		"info",
> +		"gem_names",
> +		"clients",
> +		"name"
> +	};
> +	char reference[4096];
> +	int val = 0;
> +
> +	igt_assert(config);
> +	sprintf(reference, "devid 0x%llx",
> +			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
> +	igt_assert(igt_debugfs_search(fd, "info", reference));
> +
> +	sprintf(reference, "revid %lld",
> +			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
> +	igt_assert(igt_debugfs_search(fd, "info", reference));
> +
> +	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
> +		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
> +
> +	igt_assert(igt_debugfs_search(fd, "info", reference));
> +
> +	if (intel_gen(devid) < 20) {
> +		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
> +		case 48:
> +			val = 3;
> +			break;
> +		case 57:
> +			val = 4;
> +			break;
> +		}
> +
> +		sprintf(reference, "vm_max_level %d", val);
> +		igt_assert(igt_debugfs_search(fd, "info", reference));
> +	}
> +
> +	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
> +	igt_assert(igt_debugfs_search(fd, "info", reference));
> +
> +	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
> +
> +	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
> +	igt_debugfs_dump(fd, "gtt_mm");
> +
> +	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
> +		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
> +		igt_debugfs_dump(fd, "vram0_mm");
> +	}
> +
> +	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
> +		igt_debugfs_dump(fd, "stolen_mm");
> +
> +	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
> +	igt_debugfs_dump(fd, "clients");
> +
> +	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
> +	igt_debugfs_dump(fd, "gem_names");
> +
> +	xe_validate_entries(igt_dir, expected_files,
> +			    ARRAY_SIZE(expected_files));
> +}
> +
> +/**
> + * SUBTEST: xe-forcewake
> + * Description: Check forcewake debugfs devnode
> + */
> +static void
> +xe_test_forcewake(int fd)
> +{
> +	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);

What I don't see here is how do we avoid the forcewake_all to be read
in the other test? Or that doesn't matter there?

> +
> +	igt_assert_neq(handle, -1);
> +	close(handle);
> +}
> +
> +const char *help_str =
> +	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
> +
> +struct option long_options[] = {
> +	{ "--warn-not-hit", no_argument, NULL, 'w'},
> +	{ 0, 0, 0, 0 }
> +};
> +
> +static int opt_handler(int option, int option_index, void *input)
> +{
> +	switch (option) {
> +	case 'w':
> +		opt.warn_on_not_hit = true;

what about make this the default?

> +		break;
> +	default:
> +		return IGT_OPT_HANDLER_ERROR;
> +	}
> +
> +	return IGT_OPT_HANDLER_SUCCESS;
> +}
> +
> +igt_main_args("", long_options, help_str, opt_handler, NULL)
> +{
> +	int debugfs = -1;
> +	int fd = -1;
> +	igt_dir_t *igt_dir = NULL;
> +
> +	igt_fixture {
> +		fd = drm_open_driver_master(DRIVER_XE);
> +		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
> +		debugfs = igt_debugfs_dir(fd);
> +
> +		igt_dir = igt_dir_create(debugfs);
> +		igt_require(igt_dir);
> +
> +		kmstest_set_vt_graphics_mode();
> +	}
> +
> +	igt_describe("Check if various debugfs devnodes exist and test reading them.");
> +	igt_subtest("xe-base") {
> +		xe_test_base(fd, xe_config(fd), igt_dir);
> +	}
> +
> +	igt_describe("Check forcewake debugfs devnode");
> +	igt_subtest("xe-forcewake") {
> +		xe_test_forcewake(fd);
> +	}
> +
> +	igt_fixture {
> +		igt_dir_destroy(igt_dir);
> +		close(debugfs);
> +		drm_close_driver(fd);
> +	}
> +}
> diff --git a/tests/meson.build b/tests/meson.build
> index a06172d2e..847598255 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -283,6 +283,7 @@ intel_xe_progs = [
>  	'xe_compute_preempt',
>  	'xe_copy_basic',
>  	'xe_configfs',
> +	'xe_debugfs',
>  	'xe_dma_buf_sync',
>  	'xe_drm_fdinfo',
>  	'xe_eu_stall',
> -- 
> 2.43.0
> 

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

* Re: [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power Peter Senna Tschudin
@ 2025-07-03 20:39   ` Rodrigo Vivi
  2025-07-04  8:06     ` Peter Senna Tschudin
  2025-07-04 10:02   ` Karthik B S
  1 sibling, 1 reply; 33+ messages in thread
From: Rodrigo Vivi @ 2025-07-03 20:39 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: igt-dev, Karthik B S, Juha-Pekka Heikkila, Juha-Pekka Heikkila,
	Swati Sharma, michal.wajdeczko, marcin.bernatowicz,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial

On Mon, Jun 16, 2025 at 09:42:35AM +0200, Peter Senna Tschudin wrote:
> Introduce core_debugfs_heads_power that is expected to work with any
> GPU, not limited to i915 and Xe. The test powers off all available
> heads before reading debugfs files, and then powers on all heads
> before reading the files again.
> 
> Cc: Karthik B S <karthik.b.s@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> Cc: Juha-Pekka Heikkila <juha-pekka.heikkila@intel.com>
> Cc: Swati Sharma <swati2.sharma@intel.com>
> Cc: michal.wajdeczko@intel.com
> Cc: marcin.bernatowicz@intel.com
> Cc: kamil.konieczny@linux.intel.com
> Cc: katarzyna.piecielska@intel.com
> Cc: zbigniew.kempczynski@intel.com
> Cc: ewelina.musial@intel.com
> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
> ---
> v3:
>  - renamed the test
>  - Removed reference to sysfs from comments  (thanks Kamil)
>  - Updated description to match the display part (thanks Kamil)
>  - Moved from "display" to "heads". Our CI uses "headless" to refer
>    to a DUT without display and it is shorter
>  - renamed subtests for shorter names (thanks Kamil)
>  - fixed comments style (thanks Kamil)
>  - updated CC list
>  - changed the order to test first with all heads off then with all heads on
>    to prevent the need from powering on the heads at the end of the test
>    (thanks Kamil)
>  - removed snprintf from test names (thanks Kamil)
>  - removed subtest group (thanks Kamil)
>  - deleted kms_tests() and moved the code to igt_main (thanks Kamil)
> 
> v2:
>  - changed style of comparison to NULL
>  - moved to a separate patch
> 
>  tests/core_debugfs_heads_power.c | 156 +++++++++++++++++++++++++++++++
>  tests/meson.build                |   1 +
>  2 files changed, 157 insertions(+)
>  create mode 100644 tests/core_debugfs_heads_power.c
> 
> diff --git a/tests/core_debugfs_heads_power.c b/tests/core_debugfs_heads_power.c
> new file mode 100644
> index 000000000..1813986d8
> --- /dev/null
> +++ b/tests/core_debugfs_heads_power.c
> @@ -0,0 +1,156 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#include "igt.h"
> +#include "igt_debugfs.h"
> +#include "igt_dir.h"
> +
> +/**
> + * TEST: debugfs heads power test

Could we please use display instead of heads here?
From display folks perspective heads might be indeed more clear because we will
only use display if any 'head' is attached, but from folks outside of display
world, heads will be a confusing term to be in the name of the test.

Or perhaps we name kms_debugfs 

> + * Description: Read entries from debugfs with all heads on and with all heads
> + *		off.
> + * Category: Core
> + * Mega feature: General Core features
> + * Sub-category: uapi
> + * Functionality: debugfs
> + * Feature: core
> + * Test category: uapi
> + *
> + * SUBTEST: off-read-all
> + * Description: Read all debugfs entries with heads off.
> + *
> + * SUBTEST: on-read-all
> + * Description: Read all debugfs entries with heads on.
> + */
> +
> +/**
> + * bool igt_kms_all_displays_on: Try to turn on all heads
> + * @display: pointer to the igt_display structure
> + *
> + * Returns: void
> + */
> +static void igt_display_all_on(igt_display_t *display)
> +{
> +	struct igt_fb fb[IGT_MAX_PIPES];
> +	enum pipe pipe;
> +	int ret;
> +
> +	/* try to light all pipes */
> +retry:
> +	for_each_pipe(display, pipe) {
> +		igt_output_t *output;
> +
> +		for_each_valid_output_on_pipe(display, pipe, output) {
> +			igt_plane_t *primary;
> +			drmModeModeInfo *mode;
> +
> +			if (output->pending_pipe != PIPE_NONE)
> +				continue;
> +
> +			igt_output_set_pipe(output, pipe);
> +			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +			mode = igt_output_get_mode(output);
> +			igt_create_pattern_fb(display->drm_fd,
> +						mode->hdisplay, mode->vdisplay,
> +						DRM_FORMAT_XRGB8888,
> +						DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
> +
> +			/* Set a valid fb as some debugfs like to
> +			 * inspect it on a active pipe
> +			 */
> +			igt_plane_set_fb(primary, &fb[pipe]);
> +			break;
> +		}
> +	}
> +
> +	if (display->is_atomic)
> +		ret = igt_display_try_commit_atomic(display,
> +				DRM_MODE_ATOMIC_TEST_ONLY |
> +				DRM_MODE_ATOMIC_ALLOW_MODESET,
> +				NULL);
> +	else
> +		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
> +
> +	if (ret) {
> +		igt_output_t *output;
> +		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
> +
> +		igt_require_f(found, "No valid mode combo found.\n");
> +
> +		for_each_connected_output(display, output)
> +			igt_output_set_pipe(output, PIPE_NONE);
> +
> +		goto retry;
> +	}
> +
> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> +}
> +
> +/**
> + * bool igt_kms_all_displays_off: Try to turn off all heads
> + * @display: pointer to the igt_display structure
> + *
> + * Returns: void
> + */
> +static void igt_display_all_off(igt_display_t *display)
> +{
> +	enum pipe pipe;
> +	igt_output_t *output;
> +	igt_plane_t *plane;
> +
> +	for_each_connected_output(display, output)
> +		igt_output_set_pipe(output, PIPE_NONE);
> +
> +	for_each_pipe(display, pipe)
> +		for_each_plane_on_pipe(display, pipe, plane)
> +			igt_plane_set_fb(plane, NULL);
> +
> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> +}
> +
> +IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
> +
> +igt_main
> +{
> +	int debugfs = -1;
> +	igt_display_t *display;
> +	int fd = -1;
> +	igt_dir_t *igt_dir = NULL;
> +
> +	igt_fixture {
> +		fd = drm_open_driver_master(DRIVER_ANY);
> +		debugfs = igt_debugfs_dir(fd);
> +		igt_require(debugfs >= 0);
> +
> +		igt_dir = igt_dir_create(debugfs);
> +		igt_require(igt_dir);
> +
> +		kmstest_set_vt_graphics_mode();
> +
> +		display = calloc(1, sizeof(*display));
> +		igt_display_require(display, fd);
> +	}
> +
> +	igt_subtest("off-read-all") {
> +		igt_display_all_off(display);
> +
> +		igt_dir_scan_dirfd(igt_dir, -1);
> +		igt_dir_process_files(igt_dir, NULL, NULL);
> +	}
> +
> +	igt_subtest("on-read-all") {
> +		/* try to light all pipes */
> +		igt_display_all_on(display);
> +
> +		igt_dir_scan_dirfd(igt_dir, -1);
> +		igt_dir_process_files(igt_dir, NULL, NULL);
> +	}
> +
> +	igt_fixture {
> +		igt_display_fini(display);
> +		close(debugfs);
> +		drm_close_driver(fd);
> +	}
> +}
> diff --git a/tests/meson.build b/tests/meson.build
> index fa62cbeb9..99dbd4feb 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -1,6 +1,7 @@
>  test_progs = [
>  	'core_auth',
>  	'core_debugfs',
> +	'core_debugfs_heads_power',
>  	'core_getclient',
>  	'core_getstats',
>  	'core_getversion',
> -- 
> 2.43.0
> 

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

* Re: [PATCH v3 resend i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs Peter Senna Tschudin
@ 2025-07-03 20:39   ` Rodrigo Vivi
  0 siblings, 0 replies; 33+ messages in thread
From: Rodrigo Vivi @ 2025-07-03 20:39 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: igt-dev, michal.wajdeczko, marcin.bernatowicz, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski, ewelina.musial

On Mon, Jun 16, 2025 at 09:42:38AM +0200, Peter Senna Tschudin wrote:
> The intel_sysfs_debugfs test was originally introduced to unify testing
> for both i915 and Xe drivers, aiming to prevent gaps in test coverage.
> However, the implementation fell short in addressing scenarios where
> both i915 and Xe were present in the system.
> 
> To address these limitations, it was replaced by:
>  - tests/core_debugfs (gpu agnostic)
>  - tests/core_sysfs (gpu agnostic)
>  - tests/intel/xe_debugfs (complementary to core_debugfs)
> 
> Cc: michal.wajdeczko@intel.com
> Cc: marcin.bernatowicz@intel.com
> Cc: kamil.konieczny@linux.intel.com
> Cc: katarzyna.piecielska@intel.com
> Cc: zbigniew.kempczynski@intel.com
> Cc: ewelina.musial@intel.com
> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
> v3:
>  - unchanged from v2
> v2:
>  - changed style of comparison to NULL
> 
>  tests/intel-ci/fast-feedback.testlist    |   2 -
>  tests/intel-ci/xe-fast-feedback.testlist |   4 -
>  tests/intel/intel_sysfs_debugfs.c        | 430 -----------------------
>  tests/intel/xe_test_config.json          |   2 +-
>  tests/meson.build                        |   1 -
>  5 files changed, 1 insertion(+), 438 deletions(-)
>  delete mode 100644 tests/intel/intel_sysfs_debugfs.c
> 
> diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
> index 5d4d101ef..2799bbaa5 100644
> --- a/tests/intel-ci/fast-feedback.testlist
> +++ b/tests/intel-ci/fast-feedback.testlist
> @@ -55,8 +55,6 @@ igt@i915_getparams_basic@basic-subslice-total
>  igt@i915_hangman@error-state-basic
>  igt@i915_pciid
>  igt@intel_hwmon
> -igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries
> -igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries
>  igt@kms_addfb_basic@addfb25-4-tiled
>  igt@kms_addfb_basic@addfb25-bad-modifier
>  igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
> diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
> index c52f08953..017e3ba2a 100644
> --- a/tests/intel-ci/xe-fast-feedback.testlist
> +++ b/tests/intel-ci/xe-fast-feedback.testlist
> @@ -9,10 +9,6 @@ igt@fbdev@write
>  
>  igt@core_debugfs@read-all-entries
>  igt@core_sysfs@read-all-entries
> -igt@intel_sysfs_debugfs@xe-base
> -igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries
> -igt@intel_sysfs_debugfs@xe-forcewake
> -igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries
>  igt@kms_addfb_basic@addfb25-4-tiled
>  igt@kms_addfb_basic@addfb25-bad-modifier
>  igt@kms_addfb_basic@addfb25-modifier-no-flag
> diff --git a/tests/intel/intel_sysfs_debugfs.c b/tests/intel/intel_sysfs_debugfs.c
> deleted file mode 100644
> index dfd8d52d8..000000000
> --- a/tests/intel/intel_sysfs_debugfs.c
> +++ /dev/null
> @@ -1,430 +0,0 @@
> -// SPDX-License-Identifier: MIT
> -/*
> - * Copyright © 2025 Intel Corporation
> - */
> -
> -#include <dirent.h>
> -#include <fcntl.h>
> -
> -#include "i915/gem.h"
> -#include "igt.h"
> -#include "igt_sysfs.h"
> -#include "xe/xe_query.h"
> -
> -struct {
> -	bool warn_on_not_hit;
> -} opt = { 0 };
> -
> -/**
> - * TEST: debugfs test
> - * Description: Read entries from debugfs, and sysfs paths.
> - * Category: Core
> - * Mega feature: General Core features
> - * Sub-category: uapi
> - * Functionality: debugfs
> - * Feature: core
> - * Test category: uapi
> - *
> - * SUBTEST: i915-debugfs-read-all-entries
> - * Description: Read all entries from debugfs path validating debugfs entries
> - *
> - * SUBTEST: i915-debugfs-read-all-entries-display-off
> - * Description: Read all debugfs entries with display off.
> - *
> - * SUBTEST: i915-debugfs-read-all-entries-display-on
> - * Description: Read all debugfs entries with display on.
> - *
> - * SUBTEST: i915-sysfs-read-all-entries
> - * Description: Read all entries from sysfs path validating debugfs entries
> - *
> - * SUBTEST: xe-debugfs-read-all-entries
> - * Description: Read all entries from debugfs path validating debugfs entries
> - *
> - * SUBTEST: xe-debugfs-read-all-entries-display-off
> - * Description: Read all debugfs entries with display off.
> - *
> - * SUBTEST: xe-debugfs-read-all-entries-display-on
> - * Description: Read all debugfs entries with display on.
> - *
> - * SUBTEST: xe-sysfs-read-all-entries
> - * Description: Read all entries from sysfs path validating debugfs entries
> - *
> - */
> -
> -IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
> -
> -static void read_and_discard_sysfs_entries(int path_fd, int indent)
> -{
> -	struct dirent *dirent;
> -	DIR *dir;
> -	char tabs[8];
> -	int i;
> -
> -	igt_assert(indent < sizeof(tabs) - 1);
> -
> -	for (i = 0; i < indent; i++)
> -		tabs[i] = '\t';
> -	tabs[i] = '\0';
> -
> -	dir = fdopendir(path_fd);
> -	if (!dir)
> -		return;
> -
> -	while ((dirent = readdir(dir))) {
> -		if (!strcmp(dirent->d_name, ".") ||
> -		    !strcmp(dirent->d_name, ".."))
> -			continue;
> -
> -		if (dirent->d_type == DT_DIR) {
> -			int sub_fd;
> -
> -			sub_fd = openat(path_fd, dirent->d_name,
> -					O_RDONLY | O_DIRECTORY);
> -			if (sub_fd < 0)
> -				continue;
> -
> -			igt_debug("%sEntering subdir %s\n", tabs, dirent->d_name);
> -			read_and_discard_sysfs_entries(sub_fd, indent + 1);
> -			close(sub_fd);
> -		} else if (dirent->d_type == DT_REG) {
> -			char buf[512];
> -			int sub_fd;
> -			ssize_t ret;
> -
> -			igt_kmsg(KMSG_DEBUG "Reading file \"%s\"\n", dirent->d_name);
> -			igt_debug("%sReading file \"%s\"\n", tabs, dirent->d_name);
> -
> -			sub_fd = openat(path_fd, dirent->d_name, O_RDONLY | O_NONBLOCK);
> -			if (sub_fd == -1) {
> -				igt_debug("%sCould not open file \"%s\" with error: %m\n",
> -					  tabs, dirent->d_name);
> -				continue;
> -			}
> -
> -			do {
> -				ret = read(sub_fd, buf, sizeof(buf));
> -			} while (ret == sizeof(buf));
> -
> -			if (ret == -1)
> -				igt_debug("%sCould not read file \"%s\" with error: %m\n",
> -					  tabs, dirent->d_name);
> -
> -			close(sub_fd);
> -		}
> -	}
> -	closedir(dir);
> -}
> -
> -static void kms_tests(int fd, int debugfs, const char *card_name)
> -{
> -	igt_display_t display;
> -	struct igt_fb fb[IGT_MAX_PIPES];
> -	enum pipe pipe;
> -	int ret;
> -	char test_name[64];
> -
> -	igt_fixture
> -		igt_display_require(&display, fd);
> -
> -	snprintf(test_name, sizeof(test_name),
> -		 "%s-debugfs-read-all-entries-display-on", card_name);
> -
> -	igt_subtest(test_name) {
> -		/* try to light all pipes */
> -retry:
> -		for_each_pipe(&display, pipe) {
> -			igt_output_t *output;
> -
> -			for_each_valid_output_on_pipe(&display, pipe, output) {
> -				igt_plane_t *primary;
> -				drmModeModeInfo *mode;
> -
> -				if (output->pending_pipe != PIPE_NONE)
> -					continue;
> -
> -				igt_output_set_pipe(output, pipe);
> -				primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> -				mode = igt_output_get_mode(output);
> -				igt_create_pattern_fb(display.drm_fd,
> -						      mode->hdisplay, mode->vdisplay,
> -						      DRM_FORMAT_XRGB8888,
> -						      DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
> -
> -				/* Set a valid fb as some debugfs like to
> -				 * inspect it on a active pipe
> -				 */
> -				igt_plane_set_fb(primary, &fb[pipe]);
> -				break;
> -			}
> -		}
> -
> -		if (display.is_atomic)
> -			ret = igt_display_try_commit_atomic(&display,
> -					DRM_MODE_ATOMIC_TEST_ONLY |
> -					DRM_MODE_ATOMIC_ALLOW_MODESET,
> -					NULL);
> -		else
> -			ret = igt_display_try_commit2(&display, COMMIT_LEGACY);
> -
> -		if (ret) {
> -			igt_output_t *output;
> -			bool found = igt_override_all_active_output_modes_to_fit_bw(&display);
> -
> -			igt_require_f(found, "No valid mode combo found.\n");
> -
> -			for_each_connected_output(&display, output)
> -				igt_output_set_pipe(output, PIPE_NONE);
> -
> -			goto retry;
> -		}
> -
> -		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> -
> -		read_and_discard_sysfs_entries(debugfs, 0);
> -	}
> -
> -	snprintf(test_name, sizeof(test_name),
> -		 "%s-debugfs-read-all-entries-display-off", card_name);
> -
> -	igt_subtest(test_name) {
> -		igt_output_t *output;
> -		igt_plane_t *plane;
> -
> -		for_each_connected_output(&display, output)
> -			igt_output_set_pipe(output, PIPE_NONE);
> -
> -		for_each_pipe(&display, pipe)
> -			for_each_plane_on_pipe(&display, pipe, plane)
> -				igt_plane_set_fb(plane, NULL);
> -
> -		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> -
> -		read_and_discard_sysfs_entries(debugfs, 0);
> -	}
> -
> -	igt_fixture
> -		igt_display_fini(&display);
> -}
> -
> -static int xe_validate_entries(int fd, const char *add_path,
> -			       const char * const str_val[], int str_cnt)
> -{
> -	int i;
> -	int hit;
> -	int found = 0;
> -	int not_found = 0;
> -	DIR *dir;
> -	struct dirent *de;
> -	char path[PATH_MAX];
> -
> -	if (!igt_debugfs_path(fd, path, sizeof(path)))
> -		return -1;
> -
> -	strcat(path, add_path);
> -	dir = opendir(path);
> -	if (!dir)
> -		return -1;
> -
> -	while ((de = readdir(dir))) {
> -		if (de->d_name[0] == '.')
> -			continue;
> -		hit = 0;
> -		for (i = 0; i < str_cnt; i++) {
> -			if (!strcmp(str_val[i], de->d_name)) {
> -				hit = 1;
> -				break;
> -			}
> -		}
> -		if (hit) {
> -			found++;
> -		} else if (opt.warn_on_not_hit) {
> -			not_found++;
> -			igt_warn("no test for: %s/%s\n", path, de->d_name);
> -		}
> -	}
> -	closedir(dir);
> -	return 0;
> -}
> -
> -/**
> - * SUBTEST: xe-base
> - * Description: Check if various debugfs devnodes exist and test reading them
> - */
> -static void
> -xe_test_base(int fd, struct drm_xe_query_config *config)
> -{
> -	uint16_t devid = intel_get_drm_devid(fd);
> -	static const char * const expected_files[] = {
> -		"gt0",
> -		"gt1",
> -		"stolen_mm",
> -		"gtt_mm",
> -		"vram0_mm",
> -		"forcewake_all",
> -		"info",
> -		"gem_names",
> -		"clients",
> -		"name"
> -	};
> -	char reference[4096];
> -	int val = 0;
> -
> -	igt_assert(config);
> -	sprintf(reference, "devid 0x%llx",
> -			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
> -	igt_assert(igt_debugfs_search(fd, "info", reference));
> -
> -	sprintf(reference, "revid %lld",
> -			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
> -	igt_assert(igt_debugfs_search(fd, "info", reference));
> -
> -	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
> -		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
> -
> -	igt_assert(igt_debugfs_search(fd, "info", reference));
> -
> -	if (intel_gen(devid) < 20) {
> -		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
> -		case 48:
> -			val = 3;
> -			break;
> -		case 57:
> -			val = 4;
> -			break;
> -		}
> -
> -		sprintf(reference, "vm_max_level %d", val);
> -		igt_assert(igt_debugfs_search(fd, "info", reference));
> -	}
> -
> -	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
> -	igt_assert(igt_debugfs_search(fd, "info", reference));
> -
> -	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
> -
> -	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
> -	igt_debugfs_dump(fd, "gtt_mm");
> -
> -	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
> -		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
> -		igt_debugfs_dump(fd, "vram0_mm");
> -	}
> -
> -	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
> -		igt_debugfs_dump(fd, "stolen_mm");
> -
> -	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
> -	igt_debugfs_dump(fd, "clients");
> -
> -	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
> -	igt_debugfs_dump(fd, "gem_names");
> -
> -	xe_validate_entries(fd, "", expected_files, ARRAY_SIZE(expected_files));
> -}
> -
> -/**
> - * SUBTEST: xe-forcewake
> - * Description: Check forcewake debugfs devnode
> - */
> -static void
> -xe_test_forcewake(int fd)
> -{
> -	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
> -
> -	igt_assert_neq(handle, -1);
> -	close(handle);
> -}
> -
> -const char *help_str =
> -	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
> -
> -struct option long_options[] = {
> -	{ "--warn-not-hit", no_argument, NULL, 'w'},
> -	{ 0, 0, 0, 0 }
> -};
> -
> -static int opt_handler(int option, int option_index, void *input)
> -{
> -	switch (option) {
> -	case 'w':
> -		opt.warn_on_not_hit = true;
> -		break;
> -	default:
> -		return IGT_OPT_HANDLER_ERROR;
> -	}
> -
> -	return IGT_OPT_HANDLER_SUCCESS;
> -}
> -
> -igt_main_args("", long_options, help_str, opt_handler, NULL)
> -{
> -	int debugfs = -1;
> -	int fd = -1;
> -	int sysfs = -1;
> -
> -	igt_subtest_group {
> -		igt_fixture {
> -			fd = drm_open_driver_master(DRIVER_INTEL);
> -			igt_require_gem(fd);
> -			debugfs = igt_debugfs_dir(fd);
> -			sysfs = igt_sysfs_open(fd);
> -
> -			kmstest_set_vt_graphics_mode();
> -		}
> -
> -		igt_describe("Read all entries from sysfs path.");
> -		igt_subtest("i915-sysfs-read-all-entries")
> -			read_and_discard_sysfs_entries(sysfs, 0);
> -		igt_describe("Read all entries from debugfs path.");
> -		igt_subtest("i915-debugfs-read-all-entries")
> -			read_and_discard_sysfs_entries(debugfs, 0);
> -
> -		igt_describe("Read all debugfs entries with display on/off.");
> -		igt_subtest_group
> -			kms_tests(fd, debugfs, "i915");
> -
> -		igt_fixture {
> -			close(sysfs);
> -			close(debugfs);
> -			drm_close_driver(fd);
> -		}
> -	}
> -
> -	igt_subtest_group {
> -		igt_fixture {
> -			fd = drm_open_driver_master(DRIVER_XE);
> -			__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
> -			debugfs = igt_debugfs_dir(fd);
> -			sysfs = igt_sysfs_open(fd);
> -
> -			kmstest_set_vt_graphics_mode();
> -		}
> -
> -		igt_describe("Read all entries from sysfs path.");
> -		igt_subtest("xe-sysfs-read-all-entries")
> -			read_and_discard_sysfs_entries(sysfs, 0);
> -		igt_describe("Read all entries from debugfs path.");
> -		igt_subtest("xe-debugfs-read-all-entries")
> -			read_and_discard_sysfs_entries(debugfs, 0);
> -
> -		igt_describe("Read all debugfs entries with display on/off.");
> -		igt_subtest_group
> -			kms_tests(fd, debugfs, "xe");
> -
> -		igt_describe("Check if various debugfs devnodes exist and test reading them.");
> -		igt_subtest("xe-base") {
> -			xe_test_base(fd, xe_config(fd));
> -		}
> -
> -		igt_describe("Check forcewake debugfs devnode");
> -		igt_subtest("xe-forcewake") {
> -			xe_test_forcewake(fd);
> -		}
> -
> -		igt_fixture {
> -			close(sysfs);
> -			close(debugfs);
> -			drm_close_driver(fd);
> -		}
> -	}
> -}
> diff --git a/tests/intel/xe_test_config.json b/tests/intel/xe_test_config.json
> index edca243f1..27de0efaa 100644
> --- a/tests/intel/xe_test_config.json
> +++ b/tests/intel/xe_test_config.json
> @@ -2,7 +2,7 @@
>      "description": "JSON file to be used to parse Xe documentation",
>      "name": "Tests for Xe Driver",
>      "drivers": [ "xe" ],
> -    "files": [ "xe_*.c", "../core_*.c", "../device_*.c", "../sriov_basic.c", "intel_hwmon.c", "intel_sysfs_debugfs.c" ],
> +    "files": [ "xe_*.c", "../core_*.c", "../device_*.c", "../sriov_basic.c", "intel_hwmon.c" ],
>      "fields": {
>          "Run type": {
>              "_properties_": {
> diff --git a/tests/meson.build b/tests/meson.build
> index 847598255..c8f586982 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -86,7 +86,6 @@ test_progs = [
>  intel_i915_xe_progs = [
>  	'api_intel_allocator',
>  	'intel_hwmon',
> -	'intel_sysfs_debugfs',
>  ]
>  
>  intel_i915_progs = [
> -- 
> 2.43.0
> 

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

* ✓ Xe.CI.BAT: success for Replace intel_sysfs_debugfs (rev2)
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (8 preceding siblings ...)
  2025-06-17 13:01 ` ✗ i915.CI.BAT: " Patchwork
@ 2025-07-03 21:44 ` Patchwork
  2025-07-03 21:45 ` ✓ i915.CI.BAT: " Patchwork
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-07-03 21:44 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

Series: Replace intel_sysfs_debugfs (rev2)
URL   : https://patchwork.freedesktop.org/series/150310/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8438_BAT -> XEIGTPW_13403_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

New tests
---------

  New tests have been introduced between XEIGT_8438_BAT and XEIGTPW_13403_BAT:

### New IGT tests (4) ###

  * igt@core_debugfs@read-all-entries:
    - Statuses : 8 pass(s)
    - Exec time: [0.0, 0.12] s

  * igt@core_sysfs@read-all-entries:
    - Statuses : 8 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@xe_debugfs@xe-base:
    - Statuses : 8 pass(s)
    - Exec time: [0.00, 0.01] s

  * igt@xe_debugfs@xe-forcewake:
    - Statuses : 8 pass(s)
    - Exec time: [0.0, 0.00] s

  


Changes
-------

  No changes found


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

  * IGT: IGT_8438 -> IGTPW_13403
  * Linux: xe-3343-310881baa8e5c97ebd7cc0c6eb01ab6672d8cf43 -> xe-3344-05fd9cf9ba87dcf4428adbca5237845f2c04d8ac

  IGTPW_13403: fc63fbdb1f0c5cdd7089eda56bd376af054a3376 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8438: 8438
  xe-3343-310881baa8e5c97ebd7cc0c6eb01ab6672d8cf43: 310881baa8e5c97ebd7cc0c6eb01ab6672d8cf43
  xe-3344-05fd9cf9ba87dcf4428adbca5237845f2c04d8ac: 05fd9cf9ba87dcf4428adbca5237845f2c04d8ac

== Logs ==

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

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

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

* ✓ i915.CI.BAT: success for Replace intel_sysfs_debugfs (rev2)
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (9 preceding siblings ...)
  2025-07-03 21:44 ` ✓ Xe.CI.BAT: success for Replace intel_sysfs_debugfs (rev2) Patchwork
@ 2025-07-03 21:45 ` Patchwork
  2025-07-04  4:29 ` ✗ i915.CI.Full: failure " Patchwork
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-07-03 21:45 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

Series: Replace intel_sysfs_debugfs (rev2)
URL   : https://patchwork.freedesktop.org/series/150310/
State : success

== Summary ==

CI Bug Log - changes from IGT_8438 -> IGTPW_13403
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (44 -> 43)
------------------------------

  Missing    (1): fi-snb-2520m 

New tests
---------

  New tests have been introduced between IGT_8438 and IGTPW_13403:

### New IGT tests (2) ###

  * igt@core_debugfs@read-all-entries:
    - Statuses : 42 pass(s)
    - Exec time: [0.00, 0.14] s

  * igt@core_sysfs@read-all-entries:
    - Statuses : 42 pass(s)
    - Exec time: [0.0, 0.02] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@load:
    - bat-mtlp-9:         [PASS][1] -> [DMESG-WARN][2] ([i915#13494])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/bat-mtlp-9/igt@i915_module_load@load.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/bat-mtlp-9/igt@i915_module_load@load.html

  * igt@i915_selftest@live:
    - bat-jsl-1:          [PASS][3] -> [DMESG-WARN][4] ([i915#13827]) +1 other test dmesg-warn
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/bat-jsl-1/igt@i915_selftest@live.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/bat-jsl-1/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-arls-5:         [PASS][5] -> [DMESG-FAIL][6] ([i915#12061]) +1 other test dmesg-fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/bat-arls-5/igt@i915_selftest@live@workarounds.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/bat-arls-5/igt@i915_selftest@live@workarounds.html

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8438 -> IGTPW_13403

  CI-20190529: 20190529
  CI_DRM_16796: 05fd9cf9ba87dcf4428adbca5237845f2c04d8ac @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_13403: fc63fbdb1f0c5cdd7089eda56bd376af054a3376 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8438: 8438

== Logs ==

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

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

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

* ✗ i915.CI.Full: failure for Replace intel_sysfs_debugfs (rev2)
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (10 preceding siblings ...)
  2025-07-03 21:45 ` ✓ i915.CI.BAT: " Patchwork
@ 2025-07-04  4:29 ` Patchwork
  2025-07-05 14:40 ` ✓ Xe.CI.Full: success " Patchwork
  2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-07-04  4:29 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

Series: Replace intel_sysfs_debugfs (rev2)
URL   : https://patchwork.freedesktop.org/series/150310/
State : failure

== Summary ==

CI Bug Log - changes from IGT_8438_full -> IGTPW_13403_full
====================================================

Summary
-------

  **FAILURE**

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

Participating hosts (9 -> 9)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_plane@plane-panning-bottom-right-suspend:
    - shard-mtlp:         [PASS][1] -> [FAIL][2] +2 other tests fail
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-mtlp-7/igt@kms_plane@plane-panning-bottom-right-suspend.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-3/igt@kms_plane@plane-panning-bottom-right-suspend.html

  
New tests
---------

  New tests have been introduced between IGT_8438_full and IGTPW_13403_full:

### New IGT tests (4) ###

  * igt@core_debugfs@read-all-entries:
    - Statuses : 6 pass(s)
    - Exec time: [0.04, 0.09] s

  * igt@core_debugfs_heads_power@off-read-all:
    - Statuses : 6 pass(s)
    - Exec time: [0.04, 1.06] s

  * igt@core_debugfs_heads_power@on-read-all:
    - Statuses : 6 pass(s)
    - Exec time: [0.07, 0.17] s

  * igt@core_sysfs@read-all-entries:
    - Statuses : 6 pass(s)
    - Exec time: [0.0, 0.06] s

  

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

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

### IGT changes ###

#### Issues hit ####

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

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

  * igt@api_intel_bb@object-reloc-purge-cache:
    - shard-rkl:          NOTRUN -> [SKIP][5] ([i915#8411])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@api_intel_bb@object-reloc-purge-cache.html

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

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

  * igt@gem_ccs@block-copy-compressed:
    - shard-tglu-1:       NOTRUN -> [SKIP][9] ([i915#3555] / [i915#9323])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@gem_ccs@block-copy-compressed.html
    - shard-rkl:          NOTRUN -> [SKIP][10] ([i915#14544] / [i915#3555] / [i915#9323])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_ccs@block-copy-compressed.html

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

  * igt@gem_ccs@suspend-resume:
    - shard-dg2:          [PASS][12] -> [INCOMPLETE][13] ([i915#13356])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-8/igt@gem_ccs@suspend-resume.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-2/igt@gem_ccs@suspend-resume.html

  * igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0:
    - shard-dg2:          [PASS][14] -> [INCOMPLETE][15] ([i915#12392] / [i915#13356])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-8/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-2/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-smem-lmem0.html

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

  * igt@gem_close_race@multigpu-basic-threads:
    - shard-dg2-9:        NOTRUN -> [SKIP][17] ([i915#7697])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_close_race@multigpu-basic-threads.html
    - shard-dg1:          NOTRUN -> [SKIP][18] ([i915#7697])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-13/igt@gem_close_race@multigpu-basic-threads.html

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

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

  * igt@gem_ctx_persistence@heartbeat-many:
    - shard-dg1:          NOTRUN -> [SKIP][21] ([i915#8555])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-18/igt@gem_ctx_persistence@heartbeat-many.html
    - shard-mtlp:         NOTRUN -> [SKIP][22] ([i915#8555])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-7/igt@gem_ctx_persistence@heartbeat-many.html

  * igt@gem_ctx_persistence@legacy-engines-queued:
    - shard-snb:          NOTRUN -> [SKIP][23] ([i915#1099])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-snb4/igt@gem_ctx_persistence@legacy-engines-queued.html

  * igt@gem_exec_balancer@bonded-false-hang:
    - shard-dg2-9:        NOTRUN -> [SKIP][24] ([i915#4812]) +1 other test skip
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_exec_balancer@bonded-false-hang.html

  * igt@gem_exec_balancer@noheartbeat:
    - shard-dg2:          NOTRUN -> [SKIP][25] ([i915#8555]) +1 other test skip
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@gem_exec_balancer@noheartbeat.html

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

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-tglu-1:       NOTRUN -> [SKIP][27] ([i915#4525])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@gem_exec_balancer@parallel-ordering.html

  * igt@gem_exec_capture@capture:
    - shard-mtlp:         NOTRUN -> [FAIL][28] ([i915#11965]) +1 other test fail
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-1/igt@gem_exec_capture@capture.html

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

  * igt@gem_exec_capture@capture@vecs0-lmem0:
    - shard-dg2:          NOTRUN -> [FAIL][30] ([i915#11965]) +4 other tests fail
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@gem_exec_capture@capture@vecs0-lmem0.html
    - shard-dg1:          NOTRUN -> [FAIL][31] ([i915#11965]) +2 other tests fail
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-17/igt@gem_exec_capture@capture@vecs0-lmem0.html

  * igt@gem_exec_fence@submit67:
    - shard-dg2:          NOTRUN -> [SKIP][32] ([i915#4812])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-6/igt@gem_exec_fence@submit67.html

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

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

  * igt@gem_exec_flush@basic-uc-set-default:
    - shard-dg1:          NOTRUN -> [SKIP][35] ([i915#3539])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@gem_exec_flush@basic-uc-set-default.html

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

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-dg2:          NOTRUN -> [SKIP][37] ([i915#5107])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-2/igt@gem_exec_params@rsvd2-dirt.html

  * igt@gem_exec_reloc@basic-active:
    - shard-dg2:          NOTRUN -> [SKIP][38] ([i915#3281]) +9 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-2/igt@gem_exec_reloc@basic-active.html
    - shard-rkl:          NOTRUN -> [SKIP][39] ([i915#14544] / [i915#3281])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_exec_reloc@basic-active.html

  * igt@gem_exec_reloc@basic-gtt-read:
    - shard-rkl:          NOTRUN -> [SKIP][40] ([i915#3281]) +5 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@gem_exec_reloc@basic-gtt-read.html

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

  * igt@gem_exec_reloc@basic-wc-cpu-noreloc:
    - shard-mtlp:         NOTRUN -> [SKIP][42] ([i915#3281]) +5 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-5/igt@gem_exec_reloc@basic-wc-cpu-noreloc.html

  * igt@gem_exec_reloc@basic-wc-read:
    - shard-dg1:          NOTRUN -> [SKIP][43] ([i915#3281]) +4 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-12/igt@gem_exec_reloc@basic-wc-read.html

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

  * igt@gem_exec_schedule@reorder-wide:
    - shard-dg2:          NOTRUN -> [SKIP][45] ([i915#4537] / [i915#4812])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@gem_exec_schedule@reorder-wide.html

  * igt@gem_fence_thrash@bo-copy:
    - shard-dg2-9:        NOTRUN -> [SKIP][46] ([i915#4860]) +1 other test skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_fence_thrash@bo-copy.html

  * igt@gem_fenced_exec_thrash@too-many-fences:
    - shard-dg2:          NOTRUN -> [SKIP][47] ([i915#4860])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-8/igt@gem_fenced_exec_thrash@too-many-fences.html

  * igt@gem_lmem_evict@dontneed-evict-race:
    - shard-rkl:          NOTRUN -> [SKIP][48] ([i915#4613] / [i915#7582])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@gem_lmem_evict@dontneed-evict-race.html

  * igt@gem_lmem_swapping@heavy-random:
    - shard-mtlp:         NOTRUN -> [SKIP][49] ([i915#4613])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-1/igt@gem_lmem_swapping@heavy-random.html

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

  * igt@gem_lmem_swapping@smem-oom:
    - shard-tglu:         NOTRUN -> [SKIP][51] ([i915#4613]) +1 other test skip
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-9/igt@gem_lmem_swapping@smem-oom.html

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

  * igt@gem_media_vme:
    - shard-tglu:         NOTRUN -> [SKIP][53] ([i915#284])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-7/igt@gem_media_vme.html

  * igt@gem_mmap@bad-object:
    - shard-dg1:          NOTRUN -> [SKIP][54] ([i915#4083]) +4 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-12/igt@gem_mmap@bad-object.html

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

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

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

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

  * igt@gem_mmap_wc@fault-concurrent:
    - shard-dg2-9:        NOTRUN -> [SKIP][59] ([i915#4083]) +4 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_mmap_wc@fault-concurrent.html

  * igt@gem_mmap_wc@write-prefaulted:
    - shard-dg2:          NOTRUN -> [SKIP][60] ([i915#4083]) +3 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-11/igt@gem_mmap_wc@write-prefaulted.html

  * igt@gem_partial_pwrite_pread@reads-uncached:
    - shard-dg2:          NOTRUN -> [SKIP][61] ([i915#3282]) +7 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@gem_partial_pwrite_pread@reads-uncached.html

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

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

  * igt@gem_pread@bench:
    - shard-rkl:          NOTRUN -> [SKIP][64] ([i915#3282]) +4 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@gem_pread@bench.html

  * igt@gem_pread@display:
    - shard-mtlp:         NOTRUN -> [SKIP][65] ([i915#3282]) +3 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-6/igt@gem_pread@display.html

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

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

  * igt@gem_pxp@display-protected-crc:
    - shard-dg2:          NOTRUN -> [SKIP][68] ([i915#4270]) +3 other tests skip
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@gem_pxp@display-protected-crc.html

  * igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted:
    - shard-rkl:          NOTRUN -> [TIMEOUT][69] ([i915#12964])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html
    - shard-dg1:          NOTRUN -> [SKIP][70] ([i915#4270]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html

  * igt@gem_pxp@protected-raw-src-copy-not-readible:
    - shard-rkl:          NOTRUN -> [TIMEOUT][71] ([i915#12917] / [i915#12964])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@gem_pxp@protected-raw-src-copy-not-readible.html

  * igt@gem_pxp@reject-modify-context-protection-on:
    - shard-rkl:          [PASS][72] -> [TIMEOUT][73] ([i915#12917] / [i915#12964]) +1 other test timeout
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@gem_pxp@reject-modify-context-protection-on.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_pxp@reject-modify-context-protection-on.html

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

  * igt@gem_pxp@verify-pxp-stale-buf-execution:
    - shard-rkl:          [PASS][75] -> [SKIP][76] ([i915#4270])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@gem_pxp@verify-pxp-stale-buf-execution.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@gem_pxp@verify-pxp-stale-buf-execution.html

  * igt@gem_render_copy@linear-to-vebox-y-tiled:
    - shard-dg2-9:        NOTRUN -> [SKIP][77] ([i915#5190] / [i915#8428]) +2 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_render_copy@linear-to-vebox-y-tiled.html

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

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

  * igt@gem_render_tiled_blits@basic:
    - shard-dg2-9:        NOTRUN -> [SKIP][80] ([i915#4079])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_render_tiled_blits@basic.html

  * igt@gem_set_tiling_vs_blt@tiled-to-untiled:
    - shard-dg2:          NOTRUN -> [SKIP][81] ([i915#4079])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html

  * igt@gem_set_tiling_vs_gtt:
    - shard-dg1:          NOTRUN -> [SKIP][82] ([i915#4079])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@gem_set_tiling_vs_gtt.html
    - shard-mtlp:         NOTRUN -> [SKIP][83] ([i915#4079])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-8/igt@gem_set_tiling_vs_gtt.html

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

  * igt@gem_userptr_blits@access-control:
    - shard-dg2-9:        NOTRUN -> [SKIP][85] ([i915#3297]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_userptr_blits@access-control.html

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

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

  * igt@gem_userptr_blits@map-fixed-invalidate-busy:
    - shard-dg2-9:        NOTRUN -> [SKIP][88] ([i915#3297] / [i915#4880])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_userptr_blits@map-fixed-invalidate-busy.html

  * igt@gem_userptr_blits@sd-probe:
    - shard-dg2-9:        NOTRUN -> [SKIP][89] ([i915#3297] / [i915#4958])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gem_userptr_blits@sd-probe.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-dg2:          NOTRUN -> [SKIP][90] ([i915#3297])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@gem_userptr_blits@unsync-unmap.html

  * igt@gen3_mixed_blits:
    - shard-dg2:          NOTRUN -> [SKIP][91] +9 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@gen3_mixed_blits.html

  * igt@gen3_render_tiledx_blits:
    - shard-dg2-9:        NOTRUN -> [SKIP][92] +4 other tests skip
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gen3_render_tiledx_blits.html

  * igt@gen9_exec_parse@bb-start-cmd:
    - shard-tglu-1:       NOTRUN -> [SKIP][93] ([i915#2527] / [i915#2856])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@gen9_exec_parse@bb-start-cmd.html
    - shard-dg1:          NOTRUN -> [SKIP][94] ([i915#2527]) +1 other test skip
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-18/igt@gen9_exec_parse@bb-start-cmd.html

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

  * igt@gen9_exec_parse@secure-batches:
    - shard-dg2-9:        NOTRUN -> [SKIP][96] ([i915#2856]) +1 other test skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@gen9_exec_parse@secure-batches.html
    - shard-rkl:          NOTRUN -> [SKIP][97] ([i915#2527]) +1 other test skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@gen9_exec_parse@secure-batches.html

  * igt@gen9_exec_parse@unaligned-access:
    - shard-dg2:          NOTRUN -> [SKIP][98] ([i915#2856]) +2 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@gen9_exec_parse@unaligned-access.html

  * igt@i915_drm_fdinfo@all-busy-check-all:
    - shard-mtlp:         NOTRUN -> [SKIP][99] ([i915#14123]) +1 other test skip
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-2/igt@i915_drm_fdinfo@all-busy-check-all.html
    - shard-dg1:          NOTRUN -> [SKIP][100] ([i915#14123])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@i915_drm_fdinfo@all-busy-check-all.html

  * igt@i915_drm_fdinfo@all-busy-idle-check-all:
    - shard-dg2:          NOTRUN -> [SKIP][101] ([i915#14123]) +1 other test skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-2/igt@i915_drm_fdinfo@all-busy-idle-check-all.html

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

  * igt@i915_drm_fdinfo@busy-idle@vcs0:
    - shard-dg2:          NOTRUN -> [SKIP][103] ([i915#14073]) +7 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@i915_drm_fdinfo@busy-idle@vcs0.html

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

  * igt@i915_drm_fdinfo@virtual-busy-hang:
    - shard-dg2-9:        NOTRUN -> [SKIP][105] ([i915#14118])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@i915_drm_fdinfo@virtual-busy-hang.html

  * igt@i915_drm_fdinfo@virtual-busy-hang-all:
    - shard-dg2:          NOTRUN -> [SKIP][106] ([i915#14118]) +1 other test skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@i915_drm_fdinfo@virtual-busy-hang-all.html
    - shard-mtlp:         NOTRUN -> [SKIP][107] ([i915#14118])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-4/igt@i915_drm_fdinfo@virtual-busy-hang-all.html

  * igt@i915_module_load@reload-no-display:
    - shard-dg2:          [PASS][108] -> [DMESG-WARN][109] ([i915#13029] / [i915#14545])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-10/igt@i915_module_load@reload-no-display.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@i915_module_load@reload-no-display.html

  * igt@i915_module_load@resize-bar:
    - shard-dg2:          [PASS][110] -> [DMESG-WARN][111] ([i915#14545])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-10/igt@i915_module_load@resize-bar.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@i915_module_load@resize-bar.html
    - shard-tglu:         NOTRUN -> [SKIP][112] ([i915#6412])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-10/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-rkl:          NOTRUN -> [FAIL][113] ([i915#12942]) +1 other test fail
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@i915_pm_rc6_residency@rc6-accuracy.html

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

  * igt@i915_pm_rps@thresholds:
    - shard-mtlp:         NOTRUN -> [SKIP][115] ([i915#11681])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-3/igt@i915_pm_rps@thresholds.html
    - shard-dg1:          NOTRUN -> [SKIP][116] ([i915#11681])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-18/igt@i915_pm_rps@thresholds.html

  * igt@i915_pm_rps@thresholds-idle-park:
    - shard-dg2:          NOTRUN -> [SKIP][117] ([i915#11681]) +1 other test skip
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-11/igt@i915_pm_rps@thresholds-idle-park.html

  * igt@i915_pm_sseu@full-enable:
    - shard-tglu:         NOTRUN -> [SKIP][118] ([i915#4387])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-3/igt@i915_pm_sseu@full-enable.html

  * igt@i915_selftest@live@workarounds:
    - shard-mtlp:         [PASS][119] -> [DMESG-FAIL][120] ([i915#12061]) +1 other test dmesg-fail
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-mtlp-4/igt@i915_selftest@live@workarounds.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-5/igt@i915_selftest@live@workarounds.html

  * igt@i915_suspend@debugfs-reader:
    - shard-rkl:          [PASS][121] -> [INCOMPLETE][122] ([i915#4817])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@i915_suspend@debugfs-reader.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@i915_suspend@debugfs-reader.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - shard-dg2-9:        NOTRUN -> [SKIP][123] ([i915#5190]) +1 other test skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

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

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-tglu:         NOTRUN -> [SKIP][125] ([i915#12454] / [i915#12712])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-4/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-mtlp:         NOTRUN -> [SKIP][126] ([i915#12454] / [i915#12712])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-6/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
    - shard-rkl:          NOTRUN -> [SKIP][127] ([i915#12454] / [i915#12712])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_async_flips@test-cursor-atomic:
    - shard-mtlp:         NOTRUN -> [SKIP][128] ([i915#10333])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-7/igt@kms_async_flips@test-cursor-atomic.html

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

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

  * igt@kms_atomic_transition@plane-use-after-nonblocking-unbind:
    - shard-rkl:          [PASS][131] -> [SKIP][132] ([i915#14544]) +43 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_atomic_transition@plane-use-after-nonblocking-unbind.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_atomic_transition@plane-use-after-nonblocking-unbind.html

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

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-tglu:         NOTRUN -> [SKIP][134] ([i915#5286]) +7 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
    - shard-dg1:          NOTRUN -> [SKIP][135] ([i915#4538] / [i915#5286])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html

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

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][137] ([i915#3638])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_big_fb@linear-32bpp-rotate-90.html
    - shard-dg1:          NOTRUN -> [SKIP][138] ([i915#3638]) +1 other test skip
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@linear-64bpp-rotate-270:
    - shard-mtlp:         NOTRUN -> [SKIP][139] +8 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-6/igt@kms_big_fb@linear-64bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-9:        NOTRUN -> [SKIP][140] ([i915#4538] / [i915#5190]) +3 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

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

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg1:          NOTRUN -> [SKIP][142] ([i915#4538])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-13/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

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

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][144] ([i915#6095]) +19 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-5/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-c-edp-1.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][145] ([i915#6095]) +157 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-19/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs:
    - shard-dg2-9:        NOTRUN -> [SKIP][146] ([i915#10307] / [i915#6095]) +29 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html

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

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][148] ([i915#14098] / [i915#6095]) +44 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][149] ([i915#14544]) +17 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][150] ([i915#6095]) +43 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2.html

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

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-dp-3:
    - shard-dg2:          NOTRUN -> [SKIP][152] ([i915#6095]) +19 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-dp-3.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][153] ([i915#12313])
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-19/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
    - shard-mtlp:         NOTRUN -> [SKIP][154] ([i915#12313])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
    - shard-dg2:          NOTRUN -> [SKIP][155] ([i915#12313])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
    - shard-rkl:          NOTRUN -> [SKIP][156] ([i915#12313])
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][157] ([i915#10307] / [i915#6095]) +112 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html

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

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

  * igt@kms_cdclk@mode-transition@pipe-b-dp-3:
    - shard-dg2:          NOTRUN -> [SKIP][160] ([i915#13781]) +3 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@kms_cdclk@mode-transition@pipe-b-dp-3.html

  * igt@kms_cdclk@plane-scaling:
    - shard-rkl:          NOTRUN -> [SKIP][161] ([i915#14544] / [i915#3742])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_cdclk@plane-scaling.html
    - shard-tglu:         NOTRUN -> [SKIP][162] ([i915#3742])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-3/igt@kms_cdclk@plane-scaling.html

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

  * igt@kms_cdclk@plane-scaling@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][164] ([i915#13783]) +4 other tests skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-3/igt@kms_cdclk@plane-scaling@pipe-c-edp-1.html

  * igt@kms_chamelium_audio@hdmi-audio:
    - shard-dg2-9:        NOTRUN -> [SKIP][165] ([i915#11151] / [i915#7828]) +3 other tests skip
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_chamelium_audio@hdmi-audio.html

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

  * igt@kms_chamelium_frames@hdmi-frame-dump:
    - shard-rkl:          NOTRUN -> [SKIP][167] ([i915#11151] / [i915#7828]) +4 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_chamelium_frames@hdmi-frame-dump.html

  * igt@kms_chamelium_hpd@dp-hpd-fast:
    - shard-mtlp:         NOTRUN -> [SKIP][168] ([i915#11151] / [i915#7828]) +2 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-5/igt@kms_chamelium_hpd@dp-hpd-fast.html

  * igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode:
    - shard-dg1:          NOTRUN -> [SKIP][169] ([i915#11151] / [i915#7828]) +1 other test skip
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-13/igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode.html

  * igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
    - shard-tglu-1:       NOTRUN -> [SKIP][170] ([i915#11151] / [i915#7828]) +5 other tests skip
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html

  * igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode:
    - shard-tglu:         NOTRUN -> [SKIP][171] ([i915#11151] / [i915#7828]) +8 other tests skip
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-7/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html

  * igt@kms_color@ctm-negative:
    - shard-rkl:          NOTRUN -> [SKIP][172] ([i915#12655] / [i915#14544])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_color@ctm-negative.html

  * igt@kms_color@gamma:
    - shard-rkl:          [PASS][173] -> [SKIP][174] ([i915#12655] / [i915#14544])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_color@gamma.html
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_color@gamma.html

  * igt@kms_content_protection@atomic:
    - shard-dg1:          NOTRUN -> [SKIP][175] ([i915#7116] / [i915#9424])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@kms_content_protection@atomic.html

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

  * igt@kms_content_protection@content-type-change:
    - shard-tglu:         NOTRUN -> [SKIP][177] ([i915#6944] / [i915#9424]) +1 other test skip
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-2/igt@kms_content_protection@content-type-change.html

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

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-dg2:          NOTRUN -> [SKIP][179] ([i915#3299])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-8/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][180] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-0@pipe-a-dp-3:
    - shard-dg2:          NOTRUN -> [FAIL][181] ([i915#7173])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@kms_content_protection@lic-type-0@pipe-a-dp-3.html

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-mtlp:         NOTRUN -> [SKIP][182] ([i915#3555] / [i915#8814])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-1/igt@kms_cursor_crc@cursor-offscreen-32x10.html
    - shard-dg2-9:        NOTRUN -> [SKIP][183] ([i915#3555]) +1 other test skip
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_cursor_crc@cursor-offscreen-32x10.html

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

  * igt@kms_cursor_crc@cursor-offscreen-64x21:
    - shard-mtlp:         NOTRUN -> [SKIP][185] ([i915#8814]) +1 other test skip
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-3/igt@kms_cursor_crc@cursor-offscreen-64x21.html

  * igt@kms_cursor_crc@cursor-onscreen-128x42:
    - shard-rkl:          [PASS][186] -> [FAIL][187] ([i915#13566]) +1 other test fail
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-128x42.html
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-128x42.html

  * igt@kms_cursor_crc@cursor-onscreen-128x42@pipe-a-hdmi-a-1:
    - shard-tglu:         [PASS][188] -> [FAIL][189] ([i915#13566]) +3 other tests fail
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-tglu-3/igt@kms_cursor_crc@cursor-onscreen-128x42@pipe-a-hdmi-a-1.html
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-6/igt@kms_cursor_crc@cursor-onscreen-128x42@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-tglu-1:       NOTRUN -> [SKIP][190] ([i915#13049])
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-512x170.html
    - shard-dg1:          NOTRUN -> [SKIP][191] ([i915#13049]) +1 other test skip
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-18/igt@kms_cursor_crc@cursor-onscreen-512x170.html

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

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

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-tglu:         NOTRUN -> [SKIP][194] ([i915#13049]) +3 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-7/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-tglu:         NOTRUN -> [SKIP][195] ([i915#4103])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-10/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

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

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-tglu-1:       NOTRUN -> [SKIP][197] ([i915#4103])
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
    - shard-dg1:          NOTRUN -> [SKIP][198] ([i915#4103] / [i915#4213])
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-dg2:          NOTRUN -> [SKIP][199] ([i915#9833])
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
    - shard-dg1:          NOTRUN -> [SKIP][200] ([i915#9723])
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

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

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

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

  * igt@kms_dp_aux_dev:
    - shard-rkl:          NOTRUN -> [SKIP][204] ([i915#1257])
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_dp_aux_dev.html

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

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-dg2:          NOTRUN -> [SKIP][206] ([i915#13707])
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-6/igt@kms_dp_linktrain_fallback@dsc-fallback.html
    - shard-tglu-1:       NOTRUN -> [SKIP][207] ([i915#13707])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_dp_linktrain_fallback@dsc-fallback.html
    - shard-dg1:          NOTRUN -> [SKIP][208] ([i915#13707])
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-18/igt@kms_dp_linktrain_fallback@dsc-fallback.html
    - shard-mtlp:         NOTRUN -> [SKIP][209] ([i915#13707])
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-5/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-dg2:          NOTRUN -> [SKIP][210] ([i915#3840] / [i915#9688])
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-8/igt@kms_dsc@dsc-fractional-bpp.html

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

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

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-mtlp:         NOTRUN -> [SKIP][213] ([i915#3555] / [i915#3840])
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-2/igt@kms_dsc@dsc-with-bpc-formats.html
    - shard-dg2:          NOTRUN -> [SKIP][214] ([i915#3555] / [i915#3840])
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-7/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_dsc@dsc-with-output-formats:
    - shard-dg2-9:        NOTRUN -> [SKIP][215] ([i915#3555] / [i915#3840])
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_dsc@dsc-with-output-formats.html

  * igt@kms_feature_discovery@chamelium:
    - shard-mtlp:         NOTRUN -> [SKIP][216] ([i915#4854])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-6/igt@kms_feature_discovery@chamelium.html
    - shard-dg2:          NOTRUN -> [SKIP][217] ([i915#4854])
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-8/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@display-4x:
    - shard-tglu-1:       NOTRUN -> [SKIP][218] ([i915#1839])
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_feature_discovery@display-4x.html
    - shard-dg2:          NOTRUN -> [SKIP][219] ([i915#1839])
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-6/igt@kms_feature_discovery@display-4x.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-mtlp:         NOTRUN -> [SKIP][220] ([i915#3637] / [i915#9934])
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-7/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-modeset:
    - shard-tglu:         NOTRUN -> [SKIP][221] ([i915#3637] / [i915#9934]) +7 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-4/igt@kms_flip@2x-flip-vs-modeset.html

  * igt@kms_flip@2x-flip-vs-modeset-vs-hang:
    - shard-dg2-9:        NOTRUN -> [SKIP][222] ([i915#9934]) +3 other tests skip
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html

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

  * igt@kms_flip@2x-plain-flip-fb-recreate:
    - shard-rkl:          NOTRUN -> [SKIP][224] ([i915#14544] / [i915#9934])
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_flip@2x-plain-flip-fb-recreate.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
    - shard-dg2:          NOTRUN -> [SKIP][225] ([i915#9934]) +3 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
    - shard-rkl:          NOTRUN -> [SKIP][226] ([i915#9934]) +2 other tests skip
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
    - shard-dg1:          NOTRUN -> [SKIP][227] ([i915#9934])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@flip-vs-fences-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][228] ([i915#8381]) +1 other test skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-6/igt@kms_flip@flip-vs-fences-interruptible.html
    - shard-mtlp:         NOTRUN -> [SKIP][229] ([i915#8381])
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-2/igt@kms_flip@flip-vs-fences-interruptible.html

  * igt@kms_flip@flip-vs-fences@a-hdmi-a1:
    - shard-rkl:          NOTRUN -> [DMESG-WARN][230] ([i915#12964]) +10 other tests dmesg-warn
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_flip@flip-vs-fences@a-hdmi-a1.html

  * igt@kms_flip@flip-vs-panning:
    - shard-rkl:          [PASS][231] -> [SKIP][232] ([i915#14544] / [i915#3637]) +2 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_flip@flip-vs-panning.html
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_flip@flip-vs-panning.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-rkl:          [PASS][233] -> [DMESG-FAIL][234] ([i915#12964])
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-5/igt@kms_flip@flip-vs-suspend-interruptible.html
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1:
    - shard-rkl:          NOTRUN -> [DMESG-FAIL][235] ([i915#12964])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html

  * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset:
    - shard-rkl:          NOTRUN -> [SKIP][236] ([i915#14544] / [i915#3637])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset.html

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

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode:
    - shard-tglu-1:       NOTRUN -> [SKIP][238] ([i915#2587] / [i915#2672]) +1 other test skip
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode.html

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

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

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

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-dg1:          NOTRUN -> [SKIP][242] ([i915#2587] / [i915#2672])
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
    - shard-mtlp:         NOTRUN -> [SKIP][243] ([i915#2672] / [i915#3555] / [i915#8813]) +1 other test skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
    - shard-tglu-1:       NOTRUN -> [SKIP][244] ([i915#2587] / [i915#2672] / [i915#3555])
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling:
    - shard-tglu:         NOTRUN -> [SKIP][245] ([i915#2672] / [i915#3555]) +6 other tests skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-9/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling:
    - shard-rkl:          NOTRUN -> [SKIP][246] ([i915#2672] / [i915#3555])
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode:
    - shard-tglu:         NOTRUN -> [SKIP][247] ([i915#2587] / [i915#2672]) +6 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling:
    - shard-dg2:          NOTRUN -> [SKIP][248] ([i915#2672] / [i915#3555]) +1 other test skip
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-11/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling:
    - shard-rkl:          [PASS][250] -> [SKIP][251] ([i915#14544] / [i915#3555]) +2 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling:
    - shard-dg2:          NOTRUN -> [SKIP][253] ([i915#2672] / [i915#3555] / [i915#5190]) +2 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][254] ([i915#2672]) +4 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite:
    - shard-rkl:          [PASS][255] -> [SKIP][256] ([i915#14544] / [i915#1849] / [i915#5354]) +15 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][257] ([i915#5354]) +25 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html

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

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][259] +20 other tests skip
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html

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

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][261] ([i915#10433] / [i915#3458]) +2 other tests skip
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff:
    - shard-mtlp:         NOTRUN -> [SKIP][262] ([i915#1825]) +11 other tests skip
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-dg2-9:        NOTRUN -> [SKIP][263] ([i915#8708]) +12 other tests skip
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt:
    - shard-snb:          NOTRUN -> [SKIP][264] +73 other tests skip
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-snb7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-pwrite:
    - shard-dg2-9:        NOTRUN -> [SKIP][265] ([i915#5354]) +8 other tests skip
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][266] ([i915#1825]) +23 other tests skip
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt.html

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

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][268] ([i915#3458]) +15 other tests skip
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][269] ([i915#3458] / [i915#4423])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][270] ([i915#3023]) +11 other tests skip
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][271] ([i915#8708]) +9 other tests skip
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc.html

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

  * igt@kms_frontbuffer_tracking@psr-farfromfence-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][273] ([i915#8708]) +1 other test skip
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-8/igt@kms_frontbuffer_tracking@psr-farfromfence-mmap-gtt.html

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

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-blt:
    - shard-tglu:         NOTRUN -> [SKIP][276] +92 other tests skip
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-4/igt@kms_frontbuffer_tracking@psr-rgb565-draw-blt.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-tglu:         [PASS][277] -> [SKIP][278] ([i915#13030])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-tglu-4/igt@kms_hdmi_inject@inject-audio.html
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-7/igt@kms_hdmi_inject@inject-audio.html

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

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-dg2-9:        NOTRUN -> [SKIP][280] ([i915#3555] / [i915#8228])
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_hdr@invalid-metadata-sizes.html

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

  * igt@kms_hdr@static-toggle-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][282] ([i915#3555] / [i915#8228]) +1 other test skip
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-5/igt@kms_hdr@static-toggle-suspend.html
    - shard-mtlp:         NOTRUN -> [SKIP][283] ([i915#12713] / [i915#3555] / [i915#8228])
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-4/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_invalid_mode@bad-vsync-end:
    - shard-rkl:          [PASS][284] -> [SKIP][285] ([i915#14544] / [i915#3555] / [i915#8826]) +1 other test skip
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_invalid_mode@bad-vsync-end.html
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_invalid_mode@bad-vsync-end.html

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

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

  * igt@kms_joiner@invalid-modeset-force-big-joiner:
    - shard-tglu:         NOTRUN -> [SKIP][288] ([i915#12388])
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-9/igt@kms_joiner@invalid-modeset-force-big-joiner.html

  * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
    - shard-dg2-9:        NOTRUN -> [SKIP][289] ([i915#13522])
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
    - shard-rkl:          NOTRUN -> [SKIP][290] ([i915#13522])
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html

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

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

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

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24:
    - shard-rkl:          [PASS][294] -> [SKIP][295] ([i915#11190] / [i915#14544])
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24.html
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24.html

  * igt@kms_plane@pixel-format:
    - shard-rkl:          NOTRUN -> [SKIP][296] ([i915#14544] / [i915#8825])
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane@pixel-format.html

  * igt@kms_plane@plane-panning-top-left:
    - shard-rkl:          [PASS][297] -> [SKIP][298] ([i915#14544] / [i915#8825]) +1 other test skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_plane@plane-panning-top-left.html
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane@plane-panning-top-left.html

  * igt@kms_plane_alpha_blend@alpha-opaque-fb:
    - shard-rkl:          [PASS][299] -> [SKIP][300] ([i915#14544] / [i915#7294])
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_plane_alpha_blend@alpha-opaque-fb.html
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane_alpha_blend@alpha-opaque-fb.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-tglu:         NOTRUN -> [SKIP][301] ([i915#3555]) +5 other tests skip
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-6/igt@kms_plane_lowres@tiling-yf.html

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

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

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

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-dg2:          NOTRUN -> [SKIP][305] ([i915#13046] / [i915#5354] / [i915#9423])
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-d:
    - shard-dg2-9:        NOTRUN -> [SKIP][306] ([i915#12247]) +7 other tests skip
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-d.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation:
    - shard-dg2-9:        NOTRUN -> [SKIP][307] ([i915#12247] / [i915#9423]) +1 other test skip
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-c:
    - shard-tglu:         NOTRUN -> [SKIP][308] ([i915#12247]) +18 other tests skip
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-10/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-c.html

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

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a:
    - shard-dg1:          NOTRUN -> [SKIP][311] ([i915#12247]) +4 other tests skip
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-19/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation:
    - shard-rkl:          NOTRUN -> [SKIP][312] ([i915#3555]) +2 other tests skip
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-pixel-format:
    - shard-rkl:          NOTRUN -> [SKIP][313] ([i915#14544] / [i915#8152])
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-pixel-format.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-pixel-format@pipe-a:
    - shard-rkl:          NOTRUN -> [SKIP][314] ([i915#12247] / [i915#14544])
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-pixel-format@pipe-a.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-pixel-format@pipe-b:
    - shard-rkl:          NOTRUN -> [SKIP][315] ([i915#12247] / [i915#14544] / [i915#8152])
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-pixel-format@pipe-b.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c:
    - shard-rkl:          NOTRUN -> [SKIP][316] ([i915#12247]) +5 other tests skip
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25:
    - shard-tglu:         NOTRUN -> [SKIP][317] ([i915#12247] / [i915#6953])
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-2/igt@kms_plane_scaling@planes-downscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-d:
    - shard-tglu-1:       NOTRUN -> [SKIP][318] ([i915#12247]) +4 other tests skip
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-d.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25:
    - shard-dg2:          NOTRUN -> [SKIP][319] ([i915#12247] / [i915#6953] / [i915#9423])
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-8/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25.html
    - shard-mtlp:         NOTRUN -> [SKIP][320] ([i915#12247] / [i915#6953])
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-6/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-a:
    - shard-dg2:          NOTRUN -> [SKIP][321] ([i915#12247]) +3 other tests skip
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-8/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-a.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b:
    - shard-mtlp:         NOTRUN -> [SKIP][322] ([i915#12247]) +8 other tests skip
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-6/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b.html

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

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

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

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-b:
    - shard-rkl:          [PASS][329] -> [SKIP][330] ([i915#12247] / [i915#14544] / [i915#8152]) +3 other tests skip
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-b.html
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-b.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-rkl:          NOTRUN -> [SKIP][331] ([i915#14544] / [i915#5354])
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_pm_backlight@bad-brightness.html

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

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][333] ([i915#5354])
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-dg2:          NOTRUN -> [SKIP][334] ([i915#9685])
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-11/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-tglu:         NOTRUN -> [SKIP][335] ([i915#9685])
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-9/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-tglu:         NOTRUN -> [SKIP][336] ([i915#3828])
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-6/igt@kms_pm_dc@dc5-retention-flops.html

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

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

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

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-mtlp:         NOTRUN -> [SKIP][340] ([i915#9519])
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-1/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg2:          [PASS][341] -> [SKIP][342] ([i915#9519])
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-6/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-rkl:          [PASS][343] -> [SKIP][344] ([i915#9519]) +1 other test skip
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_prime@d3hot:
    - shard-tglu-1:       NOTRUN -> [SKIP][345] ([i915#6524])
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_prime@d3hot.html

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

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

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

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-a-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][349] ([i915#9808])
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-a-edp-1.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
    - shard-rkl:          NOTRUN -> [SKIP][350] ([i915#11520]) +3 other tests skip
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
    - shard-snb:          NOTRUN -> [SKIP][351] ([i915#11520]) +1 other test skip
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-snb1/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
    - shard-dg1:          NOTRUN -> [SKIP][352] ([i915#11520]) +3 other tests skip
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf:
    - shard-dg2:          NOTRUN -> [SKIP][353] ([i915#11520]) +7 other tests skip
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-6/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf.html
    - shard-tglu-1:       NOTRUN -> [SKIP][354] ([i915#11520]) +4 other tests skip
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-dg2-9:        NOTRUN -> [SKIP][355] ([i915#9683])
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_psr2_su@page_flip-nv12.html

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

  * igt@kms_psr@fbc-pr-primary-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][357] ([i915#1072] / [i915#14544] / [i915#9732]) +2 other tests skip
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_psr@fbc-pr-primary-mmap-gtt.html

  * igt@kms_psr@fbc-psr-sprite-blt:
    - shard-rkl:          NOTRUN -> [SKIP][358] ([i915#1072] / [i915#9732]) +6 other tests skip
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_psr@fbc-psr-sprite-blt.html

  * igt@kms_psr@fbc-psr2-sprite-plane-move:
    - shard-mtlp:         NOTRUN -> [SKIP][359] ([i915#9688]) +8 other tests skip
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-3/igt@kms_psr@fbc-psr2-sprite-plane-move.html

  * igt@kms_psr@fbc-psr2-sprite-render:
    - shard-dg1:          NOTRUN -> [SKIP][360] ([i915#1072] / [i915#9732]) +11 other tests skip
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@kms_psr@fbc-psr2-sprite-render.html

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

  * igt@kms_psr@psr-primary-mmap-cpu:
    - shard-dg2-9:        NOTRUN -> [SKIP][362] ([i915#1072] / [i915#9732]) +8 other tests skip
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-9/igt@kms_psr@psr-primary-mmap-cpu.html

  * igt@kms_psr@psr2-cursor-plane-onoff:
    - shard-tglu:         NOTRUN -> [SKIP][363] ([i915#9732]) +26 other tests skip
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-9/igt@kms_psr@psr2-cursor-plane-onoff.html

  * igt@kms_psr@psr2-primary-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][364] ([i915#1072] / [i915#9732]) +16 other tests skip
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@kms_psr@psr2-primary-mmap-gtt.html

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

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2:          NOTRUN -> [SKIP][366] ([i915#12755])
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@kms_rotation_crc@primary-rotation-270.html
    - shard-mtlp:         NOTRUN -> [SKIP][367] ([i915#12755])
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-2/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-dg1:          NOTRUN -> [SKIP][368] ([i915#5289]) +1 other test skip
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-19/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-tglu:         NOTRUN -> [SKIP][369] ([i915#5289]) +2 other tests skip
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-mtlp:         NOTRUN -> [SKIP][370] ([i915#5289])
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-dg2:          NOTRUN -> [SKIP][371] ([i915#5190])
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_scaling_modes@scaling-mode-full:
    - shard-tglu-1:       NOTRUN -> [SKIP][372] ([i915#3555])
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_scaling_modes@scaling-mode-full.html

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

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

  * igt@kms_vblank@ts-continuation-dpms-suspend:
    - shard-rkl:          [PASS][375] -> [INCOMPLETE][376] ([i915#12276])
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_vblank@ts-continuation-dpms-suspend.html
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@kms_vblank@ts-continuation-dpms-suspend.html

  * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [INCOMPLETE][377] ([i915#12276])
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-2.html

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

  * igt@kms_vrr@flip-dpms:
    - shard-dg2:          NOTRUN -> [SKIP][379] ([i915#3555]) +1 other test skip
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@kms_vrr@flip-dpms.html

  * igt@kms_vrr@max-min:
    - shard-tglu-1:       NOTRUN -> [SKIP][380] ([i915#9906]) +1 other test skip
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_vrr@max-min.html

  * igt@kms_vrr@negative-basic:
    - shard-tglu:         NOTRUN -> [SKIP][381] ([i915#3555] / [i915#9906])
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-2/igt@kms_vrr@negative-basic.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-dg1:          NOTRUN -> [SKIP][382] ([i915#9906])
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-12/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@kms_writeback@writeback-check-output:
    - shard-tglu:         NOTRUN -> [SKIP][383] ([i915#2437])
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-3/igt@kms_writeback@writeback-check-output.html

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

  * igt@kms_writeback@writeback-fb-id:
    - shard-tglu-1:       NOTRUN -> [SKIP][385] ([i915#2437])
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-1/igt@kms_writeback@writeback-fb-id.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-dg2:          NOTRUN -> [SKIP][386] ([i915#2437])
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-1/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-mtlp:         NOTRUN -> [SKIP][387] ([i915#2437] / [i915#9412])
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-8/igt@kms_writeback@writeback-pixel-formats.html
    - shard-dg2:          NOTRUN -> [SKIP][388] ([i915#2437] / [i915#9412])
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-3/igt@kms_writeback@writeback-pixel-formats.html

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

  * igt@perf@mi-rpc:
    - shard-dg2:          NOTRUN -> [SKIP][390] ([i915#2434])
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-5/igt@perf@mi-rpc.html
    - shard-dg1:          NOTRUN -> [SKIP][391] ([i915#2434])
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-19/igt@perf@mi-rpc.html

  * igt@perf@polling@0-rcs0:
    - shard-rkl:          [PASS][392] -> [DMESG-WARN][393] ([i915#12964]) +24 other tests dmesg-warn
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@perf@polling@0-rcs0.html
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@perf@polling@0-rcs0.html

  * igt@perf@unprivileged-single-ctx-counters:
    - shard-rkl:          NOTRUN -> [SKIP][394] ([i915#2433])
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@perf@unprivileged-single-ctx-counters.html

  * igt@perf_pmu@event-wait:
    - shard-rkl:          NOTRUN -> [SKIP][395] +9 other tests skip
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@perf_pmu@event-wait.html
    - shard-mtlp:         NOTRUN -> [SKIP][396] ([i915#8807])
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-2/igt@perf_pmu@event-wait.html

  * igt@perf_pmu@event-wait@rcs0:
    - shard-mtlp:         NOTRUN -> [SKIP][397] ([i915#3555] / [i915#8807])
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-2/igt@perf_pmu@event-wait@rcs0.html

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

  * igt@perf_pmu@rc6-all-gts:
    - shard-dg2:          NOTRUN -> [SKIP][399] ([i915#8516])
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-4/igt@perf_pmu@rc6-all-gts.html

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

  * igt@perf_pmu@render-node-busy-idle@vcs0:
    - shard-dg2:          [PASS][402] -> [FAIL][403] ([i915#4349]) +5 other tests fail
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-6/igt@perf_pmu@render-node-busy-idle@vcs0.html
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-2/igt@perf_pmu@render-node-busy-idle@vcs0.html
    - shard-dg1:          [PASS][404] -> [FAIL][405] ([i915#4349]) +3 other tests fail
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-19/igt@perf_pmu@render-node-busy-idle@vcs0.html
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-17/igt@perf_pmu@render-node-busy-idle@vcs0.html

  * igt@perf_pmu@render-node-busy-idle@vcs1:
    - shard-mtlp:         [PASS][406] -> [FAIL][407] ([i915#4349]) +4 other tests fail
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-mtlp-6/igt@perf_pmu@render-node-busy-idle@vcs1.html
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-3/igt@perf_pmu@render-node-busy-idle@vcs1.html

  * igt@prime_vgem@basic-fence-flip:
    - shard-rkl:          [PASS][408] -> [SKIP][409] ([i915#14544] / [i915#3708])
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@prime_vgem@basic-fence-flip.html
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@prime_vgem@basic-fence-flip.html

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

  * igt@prime_vgem@coherency-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][411] ([i915#3708]) +1 other test skip
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@prime_vgem@coherency-gtt.html

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

  * igt@sriov_basic@bind-unbind-vf@vf-4:
    - shard-tglu:         NOTRUN -> [FAIL][413] ([i915#12910]) +9 other tests fail
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-10/igt@sriov_basic@bind-unbind-vf@vf-4.html

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

  
#### Possible fixes ####

  * igt@fbdev@pan:
    - shard-rkl:          [SKIP][415] ([i915#14544] / [i915#2582]) -> [PASS][416] +1 other test pass
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@fbdev@pan.html
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@fbdev@pan.html

  * igt@gem_eio@unwedge-stress:
    - shard-dg1:          [FAIL][417] ([i915#5784]) -> [PASS][418] +1 other test pass
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-19/igt@gem_eio@unwedge-stress.html
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@gem_eio@unwedge-stress.html

  * igt@gem_pxp@create-valid-protected-context:
    - shard-rkl:          [TIMEOUT][419] ([i915#12964]) -> [PASS][420]
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@gem_pxp@create-valid-protected-context.html
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@gem_pxp@create-valid-protected-context.html

  * igt@gem_pxp@display-protected-crc:
    - shard-rkl:          [TIMEOUT][421] ([i915#12917] / [i915#12964]) -> [PASS][422] +2 other tests pass
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@gem_pxp@display-protected-crc.html
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@gem_pxp@display-protected-crc.html

  * igt@gem_softpin@noreloc-s3:
    - shard-rkl:          [INCOMPLETE][423] ([i915#13809]) -> [PASS][424]
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@gem_softpin@noreloc-s3.html
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_softpin@noreloc-s3.html

  * igt@i915_module_load@reload-no-display:
    - shard-dg1:          [DMESG-WARN][425] ([i915#13029]) -> [PASS][426]
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-19/igt@i915_module_load@reload-no-display.html
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-19/igt@i915_module_load@reload-no-display.html

  * igt@i915_selftest@live:
    - shard-dg1:          [DMESG-WARN][427] -> [PASS][428]
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-12/igt@i915_selftest@live.html
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@i915_selftest@live.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-rkl:          [INCOMPLETE][429] ([i915#4817]) -> [PASS][430] +1 other test pass
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-5/igt@i915_suspend@fence-restore-untiled.html
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1:
    - shard-tglu:         [FAIL][431] ([i915#11808]) -> [PASS][432] +1 other test pass
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-tglu-6/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-4/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_crc@cursor-onscreen-256x256:
    - shard-rkl:          [SKIP][433] ([i915#14544]) -> [PASS][434] +46 other tests pass
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-256x256.html
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-256x256.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-tglu:         [FAIL][435] ([i915#13566]) -> [PASS][436] +1 other test pass
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-tglu-9/igt@kms_cursor_crc@cursor-onscreen-256x85.html
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-tglu-9/igt@kms_cursor_crc@cursor-onscreen-256x85.html
    - shard-rkl:          [FAIL][437] ([i915#13566]) -> [PASS][438]
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_cursor_crc@cursor-onscreen-256x85.html
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size:
    - shard-rkl:          [SKIP][439] ([i915#11190] / [i915#14544]) -> [PASS][440]
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-rkl:          [FAIL][441] ([i915#2346]) -> [PASS][442]
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-2/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_flip@dpms-vs-vblank-race-interruptible:
    - shard-rkl:          [SKIP][443] ([i915#14544] / [i915#3637]) -> [PASS][444] +3 other tests pass
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_flip@dpms-vs-vblank-race-interruptible.html
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_flip@dpms-vs-vblank-race-interruptible.html

  * igt@kms_flip_tiling@flip-change-tiling:
    - shard-rkl:          [SKIP][445] ([i915#14544] / [i915#3555]) -> [PASS][446]
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_flip_tiling@flip-change-tiling.html
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_flip_tiling@flip-change-tiling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw:
    - shard-dg2:          [FAIL][447] ([i915#6880]) -> [PASS][448] +1 other test pass
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt:
    - shard-rkl:          [SKIP][449] ([i915#14544] / [i915#1849] / [i915#5354]) -> [PASS][450] +7 other tests pass
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt.html
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt.html

  * igt@kms_hdr@static-swap:
    - shard-dg2:          [SKIP][451] ([i915#3555] / [i915#8228]) -> [PASS][452]
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-6/igt@kms_hdr@static-swap.html
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@kms_hdr@static-swap.html

  * igt@kms_plane@plane-panning-bottom-right:
    - shard-rkl:          [SKIP][453] ([i915#14544] / [i915#8825]) -> [PASS][454]
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane@plane-panning-bottom-right.html
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_plane@plane-panning-bottom-right.html

  * igt@kms_plane_alpha_blend@alpha-basic:
    - shard-rkl:          [SKIP][455] ([i915#14544] / [i915#7294]) -> [PASS][456]
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_alpha_blend@alpha-basic.html
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@kms_plane_alpha_blend@alpha-basic.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format:
    - shard-rkl:          [SKIP][457] ([i915#14544] / [i915#8152]) -> [PASS][458]
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format.html
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a:
    - shard-rkl:          [SKIP][459] ([i915#12247] / [i915#14544]) -> [PASS][460] +4 other tests pass
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a.html
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
    - shard-rkl:          [SKIP][461] ([i915#14544] / [i915#6953] / [i915#8152]) -> [PASS][462]
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75@pipe-b:
    - shard-rkl:          [SKIP][463] ([i915#12247] / [i915#14544] / [i915#8152]) -> [PASS][464] +3 other tests pass
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75@pipe-b.html
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75@pipe-b.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25:
    - shard-rkl:          [SKIP][465] ([i915#14544] / [i915#3555] / [i915#6953] / [i915#8152]) -> [PASS][466] +1 other test pass
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-factor-0-25.html
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_plane_scaling@planes-upscale-factor-0-25.html

  * igt@kms_pm_dc@dc5-dpms-negative:
    - shard-rkl:          [SKIP][467] ([i915#13441] / [i915#14544]) -> [PASS][468]
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_pm_dc@dc5-dpms-negative.html
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_pm_dc@dc5-dpms-negative.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-rkl:          [SKIP][469] ([i915#14544] / [i915#9519]) -> [PASS][470]
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_pm_rpm@dpms-non-lpsp.html
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@fences:
    - shard-rkl:          [SKIP][471] ([i915#14544] / [i915#1849]) -> [PASS][472]
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_pm_rpm@fences.html
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_pm_rpm@fences.html

  * igt@kms_pm_rpm@i2c:
    - shard-dg1:          [DMESG-WARN][473] ([i915#4423]) -> [PASS][474] +2 other tests pass
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-14/igt@kms_pm_rpm@i2c.html
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-18/igt@kms_pm_rpm@i2c.html

  * igt@kms_prime@basic-crc-vgem:
    - shard-rkl:          [SKIP][475] ([i915#14544] / [i915#6524]) -> [PASS][476]
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_prime@basic-crc-vgem.html
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_prime@basic-crc-vgem.html

  * igt@kms_properties@plane-properties-legacy:
    - shard-rkl:          [SKIP][477] ([i915#11521] / [i915#14544]) -> [PASS][478]
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_properties@plane-properties-legacy.html
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_properties@plane-properties-legacy.html

  * igt@kms_sequence@get-forked:
    - shard-rkl:          [DMESG-WARN][479] ([i915#12964]) -> [PASS][480] +23 other tests pass
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@kms_sequence@get-forked.html
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_sequence@get-forked.html

  * igt@perf@polling-small-buf:
    - shard-rkl:          [FAIL][481] ([i915#14550]) -> [PASS][482]
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@perf@polling-small-buf.html
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@perf@polling-small-buf.html

  * igt@perf_pmu@busy-double-start@bcs0:
    - shard-mtlp:         [FAIL][483] ([i915#4349]) -> [PASS][484]
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-mtlp-3/igt@perf_pmu@busy-double-start@bcs0.html
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-5/igt@perf_pmu@busy-double-start@bcs0.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          [FAIL][485] ([i915#4349]) -> [PASS][486] +4 other tests pass
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-10/igt@perf_pmu@busy-double-start@vecs1.html
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-11/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@perf_pmu@rc6-suspend:
    - shard-snb:          [DMESG-WARN][487] ([i915#13899]) -> [PASS][488]
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-snb6/igt@perf_pmu@rc6-suspend.html
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-snb1/igt@perf_pmu@rc6-suspend.html

  
#### Warnings ####

  * igt@api_intel_bb@object-reloc-keep-cache:
    - shard-rkl:          [SKIP][489] ([i915#14544] / [i915#8411]) -> [SKIP][490] ([i915#8411])
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@api_intel_bb@object-reloc-keep-cache.html
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@api_intel_bb@object-reloc-keep-cache.html

  * igt@gem_basic@multigpu-create-close:
    - shard-rkl:          [SKIP][491] ([i915#14544] / [i915#7697]) -> [SKIP][492] ([i915#7697])
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@gem_basic@multigpu-create-close.html
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@gem_basic@multigpu-create-close.html

  * igt@gem_ccs@suspend-resume:
    - shard-rkl:          [SKIP][493] ([i915#14544] / [i915#9323]) -> [SKIP][494] ([i915#9323])
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@gem_ccs@suspend-resume.html
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@gem_ccs@suspend-resume.html

  * igt@gem_close_race@multigpu-basic-process:
    - shard-rkl:          [SKIP][495] ([i915#7697]) -> [SKIP][496] ([i915#14544] / [i915#7697])
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-5/igt@gem_close_race@multigpu-basic-process.html
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_close_race@multigpu-basic-process.html

  * igt@gem_create@create-ext-cpu-access-sanity-check:
    - shard-rkl:          [SKIP][497] ([i915#14544] / [i915#6335]) -> [SKIP][498] ([i915#6335])
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@gem_create@create-ext-cpu-access-sanity-check.html
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@gem_create@create-ext-cpu-access-sanity-check.html

  * igt@gem_ctx_sseu@engines:
    - shard-rkl:          [SKIP][499] ([i915#280]) -> [SKIP][500] ([i915#14544] / [i915#280])
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@gem_ctx_sseu@engines.html
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_ctx_sseu@engines.html

  * igt@gem_exec_capture@capture-invisible:
    - shard-rkl:          [SKIP][501] ([i915#6334]) -> [SKIP][502] ([i915#14544] / [i915#6334]) +1 other test skip
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@gem_exec_capture@capture-invisible.html
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_exec_capture@capture-invisible.html

  * igt@gem_exec_reloc@basic-scanout:
    - shard-rkl:          [SKIP][503] ([i915#14544] / [i915#3281]) -> [SKIP][504] ([i915#3281]) +13 other tests skip
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@gem_exec_reloc@basic-scanout.html
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@gem_exec_reloc@basic-scanout.html

  * igt@gem_exec_reloc@basic-wc-read-noreloc:
    - shard-rkl:          [SKIP][505] ([i915#3281]) -> [SKIP][506] ([i915#14544] / [i915#3281]) +5 other tests skip
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@gem_exec_reloc@basic-wc-read-noreloc.html
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_exec_reloc@basic-wc-read-noreloc.html

  * igt@gem_huc_copy@huc-copy:
    - shard-rkl:          [SKIP][507] ([i915#2190]) -> [SKIP][508] ([i915#14544] / [i915#2190])
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-5/igt@gem_huc_copy@huc-copy.html
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@heavy-multi:
    - shard-rkl:          [SKIP][509] ([i915#14544] / [i915#4613]) -> [SKIP][510] ([i915#4613]) +3 other tests skip
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@gem_lmem_swapping@heavy-multi.html
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@gem_lmem_swapping@heavy-multi.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-rkl:          [SKIP][511] ([i915#4613]) -> [SKIP][512] ([i915#14544] / [i915#4613]) +1 other test skip
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@gem_lmem_swapping@heavy-verify-random.html
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@gem_media_vme:
    - shard-rkl:          [SKIP][513] ([i915#284]) -> [SKIP][514] ([i915#14544] / [i915#284])
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@gem_media_vme.html
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_media_vme.html

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

  * igt@gem_pxp@verify-pxp-stale-buf-optout-execution:
    - shard-rkl:          [SKIP][517] ([i915#4270]) -> [TIMEOUT][518] ([i915#12917] / [i915#12964])
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html

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

  * igt@gem_userptr_blits@create-destroy-unsync:
    - shard-rkl:          [SKIP][521] ([i915#3297]) -> [SKIP][522] ([i915#14544] / [i915#3297]) +1 other test skip
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@gem_userptr_blits@create-destroy-unsync.html
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gem_userptr_blits@create-destroy-unsync.html

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-rkl:          [SKIP][523] ([i915#14544] / [i915#3297]) -> [SKIP][524] ([i915#3297]) +1 other test skip
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@gem_userptr_blits@unsync-unmap-after-close.html
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@gem_userptr_blits@unsync-unmap-after-close.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-rkl:          [SKIP][525] ([i915#14544] / [i915#2527]) -> [SKIP][526] ([i915#2527]) +5 other tests skip
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@gen9_exec_parse@bb-chained.html
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-rkl:          [SKIP][527] ([i915#2527]) -> [SKIP][528] ([i915#14544] / [i915#2527]) +2 other tests skip
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@gen9_exec_parse@bb-oversize.html
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@gen9_exec_parse@bb-oversize.html

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

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

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
    - shard-dg1:          [SKIP][533] -> [SKIP][534] ([i915#4423])
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-17/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html
   [534]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html

  * igt@i915_query@test-query-geometry-subslices:
    - shard-rkl:          [SKIP][535] ([i915#5723]) -> [SKIP][536] ([i915#14544] / [i915#5723])
   [535]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@i915_query@test-query-geometry-subslices.html
   [536]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@i915_query@test-query-geometry-subslices.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-0:
    - shard-rkl:          [SKIP][537] ([i915#14544]) -> [SKIP][538] ([i915#5286]) +2 other tests skip
   [537]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_big_fb@4-tiled-8bpp-rotate-0.html
   [538]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_big_fb@4-tiled-8bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-rkl:          [SKIP][539] ([i915#5286]) -> [SKIP][540] ([i915#14544]) +3 other tests skip
   [539]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
   [540]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - shard-rkl:          [SKIP][541] ([i915#14544]) -> [SKIP][542] ([i915#3638]) +1 other test skip
   [541]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_big_fb@linear-16bpp-rotate-270.html
   [542]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_big_fb@linear-16bpp-rotate-270.html

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

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][545] ([i915#14098] / [i915#6095]) -> [SKIP][546] ([i915#6095]) +3 other tests skip
   [545]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
   [546]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          [SKIP][547] ([i915#6095]) -> [SKIP][548] ([i915#14098] / [i915#6095]) +1 other test skip
   [547]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-2.html
   [548]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-rkl:          [SKIP][549] ([i915#14544]) -> [SKIP][550] ([i915#12805])
   [549]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [550]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-rkl:          [SKIP][551] ([i915#14544]) -> [SKIP][552] ([i915#14098] / [i915#6095]) +13 other tests skip
   [551]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
   [552]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs:
    - shard-rkl:          [SKIP][553] ([i915#14098] / [i915#6095]) -> [SKIP][554] ([i915#14544]) +13 other tests skip
   [553]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-2/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html
   [554]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
    - shard-rkl:          [SKIP][555] ([i915#12313]) -> [SKIP][556] ([i915#14544]) +3 other tests skip
   [555]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html
   [556]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html

  * igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode:
    - shard-rkl:          [SKIP][557] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][558] ([i915#11151] / [i915#7828]) +3 other tests skip
   [557]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html
   [558]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html

  * igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
    - shard-rkl:          [SKIP][559] ([i915#11151] / [i915#7828]) -> [SKIP][560] ([i915#11151] / [i915#14544] / [i915#7828]) +7 other tests skip
   [559]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
   [560]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-rkl:          [SKIP][561] ([i915#3116]) -> [SKIP][562] ([i915#14544])
   [561]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_content_protection@dp-mst-lic-type-1.html
   [562]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-1.html

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

  * igt@kms_content_protection@legacy:
    - shard-rkl:          [SKIP][565] ([i915#7118] / [i915#9424]) -> [SKIP][566] ([i915#14544])
   [565]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_content_protection@legacy.html
   [566]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-0:
    - shard-dg2:          [SKIP][567] ([i915#9424]) -> [FAIL][568] ([i915#7173])
   [567]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-1/igt@kms_content_protection@lic-type-0.html
   [568]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-10/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          [SKIP][569] ([i915#9433]) -> [SKIP][570] ([i915#9424])
   [569]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-12/igt@kms_content_protection@mei-interface.html
   [570]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-19/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@srm:
    - shard-dg2:          [FAIL][571] ([i915#7173]) -> [SKIP][572] ([i915#7118])
   [571]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg2-11/igt@kms_content_protection@srm.html
   [572]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg2-7/igt@kms_content_protection@srm.html

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

  * igt@kms_cursor_crc@cursor-random-256x85:
    - shard-rkl:          [SKIP][575] ([i915#14544]) -> [FAIL][576] ([i915#13566])
   [575]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_cursor_crc@cursor-random-256x85.html
   [576]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_cursor_crc@cursor-random-256x85.html

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

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-rkl:          [SKIP][579] ([i915#14544]) -> [SKIP][580] ([i915#3555]) +2 other tests skip
   [579]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
   [580]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-64x21:
    - shard-rkl:          [FAIL][581] ([i915#13566]) -> [SKIP][582] ([i915#14544]) +1 other test skip
   [581]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_cursor_crc@cursor-sliding-64x21.html
   [582]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-64x21.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-rkl:          [SKIP][583] ([i915#4103]) -> [SKIP][584] ([i915#11190] / [i915#14544])
   [583]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
   [584]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-rkl:          [SKIP][585] -> [SKIP][586] ([i915#14544]) +14 other tests skip
   [585]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
   [586]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-rkl:          [SKIP][587] ([i915#14544]) -> [SKIP][588] +22 other tests skip
   [587]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
   [588]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-rkl:          [SKIP][589] ([i915#4103]) -> [SKIP][590] ([i915#14544])
   [589]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
   [590]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-rkl:          [SKIP][591] ([i915#13748]) -> [SKIP][592] ([i915#14544])
   [591]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_dp_link_training@uhbr-mst.html
   [592]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dsc@dsc-basic:
    - shard-rkl:          [SKIP][593] ([i915#11190] / [i915#14544]) -> [SKIP][594] ([i915#3555] / [i915#3840])
   [593]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_dsc@dsc-basic.html
   [594]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_dsc@dsc-basic.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-rkl:          [SKIP][595] ([i915#14544]) -> [SKIP][596] ([i915#3840])
   [595]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_dsc@dsc-fractional-bpp.html
   [596]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc:
    - shard-rkl:          [SKIP][597] ([i915#3840]) -> [SKIP][598] ([i915#14544])
   [597]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
   [598]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-rkl:          [SKIP][599] ([i915#14544]) -> [SKIP][600] ([i915#3840] / [i915#9053])
   [599]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
   [600]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_fbcon_fbt@psr:
    - shard-rkl:          [SKIP][601] ([i915#14544] / [i915#3955]) -> [SKIP][602] ([i915#3955])
   [601]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_fbcon_fbt@psr.html
   [602]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@display-2x:
    - shard-rkl:          [SKIP][603] ([i915#1839]) -> [SKIP][604] ([i915#14544] / [i915#1839])
   [603]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_feature_discovery@display-2x.html
   [604]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_feature_discovery@display-2x.html

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

  * igt@kms_flip@2x-flip-vs-dpms:
    - shard-rkl:          [SKIP][607] ([i915#14544] / [i915#9934]) -> [SKIP][608] ([i915#9934]) +9 other tests skip
   [607]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_flip@2x-flip-vs-dpms.html
   [608]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_flip@2x-flip-vs-dpms.html

  * igt@kms_flip@2x-flip-vs-panning-interruptible:
    - shard-rkl:          [SKIP][609] ([i915#9934]) -> [SKIP][610] ([i915#14544] / [i915#9934]) +4 other tests skip
   [609]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_flip@2x-flip-vs-panning-interruptible.html
   [610]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_flip@2x-flip-vs-panning-interruptible.html

  * igt@kms_flip@flip-vs-fences-interruptible:
    - shard-rkl:          [DMESG-WARN][611] ([i915#12964]) -> [SKIP][612] ([i915#14544] / [i915#3637])
   [611]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_flip@flip-vs-fences-interruptible.html
   [612]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_flip@flip-vs-fences-interruptible.html

  * igt@kms_flip@plain-flip-ts-check:
    - shard-rkl:          [SKIP][613] ([i915#14544] / [i915#3637]) -> [DMESG-WARN][614] ([i915#12964]) +1 other test dmesg-warn
   [613]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_flip@plain-flip-ts-check.html
   [614]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_flip@plain-flip-ts-check.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
    - shard-rkl:          [SKIP][615] ([i915#2672] / [i915#3555]) -> [SKIP][616] ([i915#14544] / [i915#3555]) +3 other tests skip
   [615]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
   [616]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/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:          [SKIP][617] ([i915#14544] / [i915#3555]) -> [SKIP][618] ([i915#2672] / [i915#3555]) +5 other tests skip
   [617]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html
   [618]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-indfb-fliptrack-mmap-gtt:
    - shard-rkl:          [SKIP][619] -> [SKIP][620] ([i915#14544] / [i915#1849] / [i915#5354])
   [619]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-2p-indfb-fliptrack-mmap-gtt.html
   [620]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-indfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt:
    - shard-rkl:          [SKIP][621] ([i915#1825]) -> [SKIP][622] ([i915#14544] / [i915#1849] / [i915#5354]) +29 other tests skip
   [621]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
   [622]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-4:
    - shard-rkl:          [SKIP][623] ([i915#5439]) -> [SKIP][624] ([i915#14544] / [i915#1849] / [i915#5354])
   [623]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
   [624]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-rkl:          [SKIP][625] ([i915#3023]) -> [SKIP][626] ([i915#14544] / [i915#1849] / [i915#5354]) +22 other tests skip
   [625]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
   [626]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@pipe-fbc-rte:
    - shard-rkl:          [SKIP][627] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][628] ([i915#9766])
   [627]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
   [628]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite:
    - shard-rkl:          [SKIP][629] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][630] ([i915#3023]) +15 other tests skip
   [629]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite.html
   [630]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render:
    - shard-dg1:          [SKIP][631] ([i915#4423]) -> [SKIP][632]
   [631]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render.html
   [632]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
    - shard-rkl:          [SKIP][633] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][634] ([i915#1825]) +33 other tests skip
   [633]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html
   [634]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-mtlp:         [SKIP][635] ([i915#1187] / [i915#12713]) -> [SKIP][636] ([i915#12713])
   [635]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-mtlp-1/igt@kms_hdr@brightness-with-hdr.html
   [636]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-mtlp-2/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-rkl:          [SKIP][637] ([i915#3555] / [i915#8228]) -> [SKIP][638] ([i915#14544])
   [637]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_hdr@static-toggle-suspend.html
   [638]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-rkl:          [SKIP][639] ([i915#10656] / [i915#14544]) -> [SKIP][640] ([i915#10656])
   [639]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_joiner@invalid-modeset-big-joiner.html
   [640]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-7/igt@kms_joiner@invalid-modeset-big-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][641] ([i915#14544] / [i915#4070] / [i915#4816]) -> [SKIP][642] ([i915#1839] / [i915#4816])
   [641]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [642]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-rkl:          [SKIP][643] ([i915#6301]) -> [SKIP][644] ([i915#14544])
   [643]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_panel_fitting@atomic-fastset.html
   [644]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a:
    - shard-rkl:          [SKIP][645] ([i915#12247] / [i915#14544]) -> [SKIP][646] ([i915#12247]) +1 other test skip
   [645]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a.html
   [646]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation:
    - shard-rkl:          [SKIP][647] ([i915#12247] / [i915#14544] / [i915#8152]) -> [SKIP][648] ([i915#12247]) +3 other tests skip
   [647]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation.html
   [648]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b:
    - shard-rkl:          [SKIP][649] ([i915#12247]) -> [SKIP][650] ([i915#12247] / [i915#14544] / [i915#8152]) +3 other tests skip
   [649]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b.html
   [650]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers:
    - shard-rkl:          [SKIP][651] ([i915#14544] / [i915#8152]) -> [DMESG-WARN][652] ([i915#12964])
   [651]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers.html
   [652]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers@pipe-b:
    - shard-rkl:          [SKIP][653] ([i915#12247] / [i915#14544] / [i915#8152]) -> [DMESG-WARN][654] ([i915#12964])
   [653]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers@pipe-b.html
   [654]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers@pipe-b.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a:
    - shard-rkl:          [SKIP][655] ([i915#12247]) -> [SKIP][656] ([i915#12247] / [i915#14544]) +1 other test skip
   [655]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-5/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a.html
   [656]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling@pipe-a.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-rkl:          [SKIP][657] ([i915#9685]) -> [SKIP][658] ([i915#14544] / [i915#9685])
   [657]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_pm_dc@dc3co-vpb-simulation.html
   [658]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-rkl:          [SKIP][659] ([i915#3828]) -> [SKIP][660] ([i915#9340])
   [659]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_pm_lpsp@kms-lpsp.html
   [660]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@cursor-dpms:
    - shard-rkl:          [SKIP][661] ([i915#12916]) -> [SKIP][662] ([i915#14544] / [i915#1849])
   [661]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_pm_rpm@cursor-dpms.html
   [662]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_pm_rpm@cursor-dpms.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-rkl:          [SKIP][663] ([i915#9519]) -> [SKIP][664] ([i915#14544] / [i915#9519])
   [663]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [664]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-rkl:          [SKIP][665] ([i915#12916]) -> [SKIP][666] ([i915#9519])
   [665]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-7/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
   [666]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-rkl:          [SKIP][667] ([i915#14544] / [i915#6524]) -> [SKIP][668] ([i915#6524])
   [667]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_prime@basic-crc-hybrid.html
   [668]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_prime@d3hot:
    - shard-rkl:          [SKIP][669] ([i915#6524]) -> [SKIP][670] ([i915#14544] / [i915#6524])
   [669]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@kms_prime@d3hot.html
   [670]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_prime@d3hot.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-dg1:          [SKIP][671] ([i915#11520]) -> [SKIP][672] ([i915#11520] / [i915#4423])
   [671]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-dg1-12/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
   [672]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-dg1-14/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
    - shard-rkl:          [SKIP][673] ([i915#11520]) -> [SKIP][674] ([i915#11520] / [i915#14544]) +7 other tests skip
   [673]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
   [674]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb:
    - shard-rkl:          [SKIP][675] ([i915#11520] / [i915#14544]) -> [SKIP][676] ([i915#11520]) +5 other tests skip
   [675]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html
   [676]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html

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

  * igt@kms_psr@psr-sprite-plane-onoff:
    - shard-rkl:          [SKIP][679] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][680] ([i915#1072] / [i915#9732]) +15 other tests skip
   [679]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_psr@psr-sprite-plane-onoff.html
   [680]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@kms_psr@psr-sprite-plane-onoff.html

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

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-rkl:          [SKIP][683] ([i915#5289]) -> [SKIP][684] ([i915#14544])
   [683]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
   [684]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-rkl:          [SKIP][685] ([i915#14544] / [i915#3555]) -> [SKIP][686] ([i915#3555])
   [685]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_setmode@invalid-clone-single-crtc.html
   [686]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-8/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-rkl:          [SKIP][687] ([i915#14544]) -> [SKIP][688] ([i915#8623])
   [687]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [688]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-rkl:          [SKIP][689] ([i915#14544]) -> [SKIP][690] ([i915#9906])
   [689]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_vrr@seamless-rr-switch-virtual.html
   [690]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-3/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-rkl:          [SKIP][691] ([i915#9906]) -> [SKIP][692] ([i915#14544]) +1 other test skip
   [691]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@kms_vrr@seamless-rr-switch-vrr.html
   [692]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-rkl:          [SKIP][693] ([i915#14544] / [i915#2437]) -> [SKIP][694] ([i915#2437])
   [693]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@kms_writeback@writeback-invalid-parameters.html
   [694]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-2/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-rkl:          [SKIP][695] ([i915#14544] / [i915#2436]) -> [SKIP][696] ([i915#2436])
   [695]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [696]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@prime_vgem@fence-flip-hang:
    - shard-rkl:          [SKIP][697] ([i915#3708]) -> [SKIP][698] ([i915#14544] / [i915#3708])
   [697]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@prime_vgem@fence-flip-hang.html
   [698]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@prime_vgem@fence-flip-hang.html

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

  * igt@sriov_basic@bind-unbind-vf:
    - shard-rkl:          [SKIP][701] ([i915#9917]) -> [SKIP][702] ([i915#14544] / [i915#9917])
   [701]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-4/igt@sriov_basic@bind-unbind-vf.html
   [702]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-6/igt@sriov_basic@bind-unbind-vf.html

  * igt@sriov_basic@enable-vfs-autoprobe-on:
    - shard-rkl:          [SKIP][703] ([i915#14544] / [i915#9917]) -> [SKIP][704] ([i915#9917]) +1 other test skip
   [703]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8438/shard-rkl-6/igt@sriov_basic@enable-vfs-autoprobe-on.html
   [704]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13403/shard-rkl-5/igt@sriov_basic@enable-vfs-autoprobe-on.html

  
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10333]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10333
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11521]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11521
  [i915#11527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11527
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#11808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11808
  [i915#1187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1187
  [i915#11965]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11965
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
  [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
  [i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339
  [i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
  [i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392
  [i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454
  [i915#12549]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12549
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
  [i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712
  [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
  [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
  [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
  [i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
  [i915#12916]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12916
  [i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917
  [i915#12942]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12942
  [i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
  [i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
  [i915#13030]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13030
  [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#13441]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13441
  [i915#13522]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13522
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
  [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
  [i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781
  [i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783
  [i915#13809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13809
  [i915#13899]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13899
  [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#14123]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14123
  [i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
  [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
  [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
  [i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
  [i915#14550]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14550
  [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
  [i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
  [i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
  [i915#2436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2436
  [i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
  [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#3955]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3955
  [i915#4070]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
  [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
  [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
  [i915#4958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4958
  [i915#5107]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5107
  [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#5784]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [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#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [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#6806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6806
  [i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880
  [i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
  [i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
  [i915#7294]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7294
  [i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#8152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8152
  [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#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
  [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#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8807]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8807
  [i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
  [i915#8826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8826
  [i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
  [i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
  [i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
  [i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
  [i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
  [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
  [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
  [i915#9808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9808
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9833]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9833
  [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_8438 -> IGTPW_13403

  CI-20190529: 20190529
  CI_DRM_16796: 05fd9cf9ba87dcf4428adbca5237845f2c04d8ac @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_13403: fc63fbdb1f0c5cdd7089eda56bd376af054a3376 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8438: 8438

== Logs ==

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

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

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

* Re: [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power
  2025-07-03 20:39   ` Rodrigo Vivi
@ 2025-07-04  8:06     ` Peter Senna Tschudin
  2025-07-04 10:01       ` Karthik B S
  0 siblings, 1 reply; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-04  8:06 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: igt-dev, Karthik B S, Juha-Pekka Heikkila, Juha-Pekka Heikkila,
	Swati Sharma, michal.wajdeczko, marcin.bernatowicz,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial



On 7/3/2025 10:39 PM, Rodrigo Vivi wrote:
> On Mon, Jun 16, 2025 at 09:42:35AM +0200, Peter Senna Tschudin wrote:
>> Introduce core_debugfs_heads_power that is expected to work with any
>> GPU, not limited to i915 and Xe. The test powers off all available
>> heads before reading debugfs files, and then powers on all heads
>> before reading the files again.
>>
>> Cc: Karthik B S <karthik.b.s@intel.com>
>> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>> Cc: Juha-Pekka Heikkila <juha-pekka.heikkila@intel.com>
>> Cc: Swati Sharma <swati2.sharma@intel.com>
>> Cc: michal.wajdeczko@intel.com
>> Cc: marcin.bernatowicz@intel.com
>> Cc: kamil.konieczny@linux.intel.com
>> Cc: katarzyna.piecielska@intel.com
>> Cc: zbigniew.kempczynski@intel.com
>> Cc: ewelina.musial@intel.com
>> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
>> ---
>> v3:
>>  - renamed the test
>>  - Removed reference to sysfs from comments  (thanks Kamil)
>>  - Updated description to match the display part (thanks Kamil)
>>  - Moved from "display" to "heads". Our CI uses "headless" to refer
>>    to a DUT without display and it is shorter
>>  - renamed subtests for shorter names (thanks Kamil)
>>  - fixed comments style (thanks Kamil)
>>  - updated CC list
>>  - changed the order to test first with all heads off then with all heads on
>>    to prevent the need from powering on the heads at the end of the test
>>    (thanks Kamil)
>>  - removed snprintf from test names (thanks Kamil)
>>  - removed subtest group (thanks Kamil)
>>  - deleted kms_tests() and moved the code to igt_main (thanks Kamil)
>>
>> v2:
>>  - changed style of comparison to NULL
>>  - moved to a separate patch
>>
>>  tests/core_debugfs_heads_power.c | 156 +++++++++++++++++++++++++++++++
>>  tests/meson.build                |   1 +
>>  2 files changed, 157 insertions(+)
>>  create mode 100644 tests/core_debugfs_heads_power.c
>>
>> diff --git a/tests/core_debugfs_heads_power.c b/tests/core_debugfs_heads_power.c
>> new file mode 100644
>> index 000000000..1813986d8
>> --- /dev/null
>> +++ b/tests/core_debugfs_heads_power.c
>> @@ -0,0 +1,156 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#include "igt.h"
>> +#include "igt_debugfs.h"
>> +#include "igt_dir.h"
>> +
>> +/**
>> + * TEST: debugfs heads power test
> 
> Could we please use display instead of heads here?
> From display folks perspective heads might be indeed more clear because we will
> only use display if any 'head' is attached, but from folks outside of display
> world, heads will be a confusing term to be in the name of the test.
> 
> Or perhaps we name kms_debugfs 

My first name proposal was core_debugfs_display_on_off. This is
informative because it makes it explicit that this runs the test with
display on and with the display off. This name is also a good contrast
with the other test core_debugfs. Removing the on_off suffix makes the
name less informative.

Problem is that core_debugfs_display_on_off is a large name. So using
heads instead of display was an attempt to make the name shorter, but no
one liked it. We are waiting the KMS team to decide on which name they want.




> 
>> + * Description: Read entries from debugfs with all heads on and with all heads
>> + *		off.
>> + * Category: Core
>> + * Mega feature: General Core features
>> + * Sub-category: uapi
>> + * Functionality: debugfs
>> + * Feature: core
>> + * Test category: uapi
>> + *
>> + * SUBTEST: off-read-all
>> + * Description: Read all debugfs entries with heads off.
>> + *
>> + * SUBTEST: on-read-all
>> + * Description: Read all debugfs entries with heads on.
>> + */
>> +
>> +/**
>> + * bool igt_kms_all_displays_on: Try to turn on all heads
>> + * @display: pointer to the igt_display structure
>> + *
>> + * Returns: void
>> + */
>> +static void igt_display_all_on(igt_display_t *display)
>> +{
>> +	struct igt_fb fb[IGT_MAX_PIPES];
>> +	enum pipe pipe;
>> +	int ret;
>> +
>> +	/* try to light all pipes */
>> +retry:
>> +	for_each_pipe(display, pipe) {
>> +		igt_output_t *output;
>> +
>> +		for_each_valid_output_on_pipe(display, pipe, output) {
>> +			igt_plane_t *primary;
>> +			drmModeModeInfo *mode;
>> +
>> +			if (output->pending_pipe != PIPE_NONE)
>> +				continue;
>> +
>> +			igt_output_set_pipe(output, pipe);
>> +			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>> +			mode = igt_output_get_mode(output);
>> +			igt_create_pattern_fb(display->drm_fd,
>> +						mode->hdisplay, mode->vdisplay,
>> +						DRM_FORMAT_XRGB8888,
>> +						DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
>> +
>> +			/* Set a valid fb as some debugfs like to
>> +			 * inspect it on a active pipe
>> +			 */
>> +			igt_plane_set_fb(primary, &fb[pipe]);
>> +			break;
>> +		}
>> +	}
>> +
>> +	if (display->is_atomic)
>> +		ret = igt_display_try_commit_atomic(display,
>> +				DRM_MODE_ATOMIC_TEST_ONLY |
>> +				DRM_MODE_ATOMIC_ALLOW_MODESET,
>> +				NULL);
>> +	else
>> +		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
>> +
>> +	if (ret) {
>> +		igt_output_t *output;
>> +		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
>> +
>> +		igt_require_f(found, "No valid mode combo found.\n");
>> +
>> +		for_each_connected_output(display, output)
>> +			igt_output_set_pipe(output, PIPE_NONE);
>> +
>> +		goto retry;
>> +	}
>> +
>> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>> +}
>> +
>> +/**
>> + * bool igt_kms_all_displays_off: Try to turn off all heads
>> + * @display: pointer to the igt_display structure
>> + *
>> + * Returns: void
>> + */
>> +static void igt_display_all_off(igt_display_t *display)
>> +{
>> +	enum pipe pipe;
>> +	igt_output_t *output;
>> +	igt_plane_t *plane;
>> +
>> +	for_each_connected_output(display, output)
>> +		igt_output_set_pipe(output, PIPE_NONE);
>> +
>> +	for_each_pipe(display, pipe)
>> +		for_each_plane_on_pipe(display, pipe, plane)
>> +			igt_plane_set_fb(plane, NULL);
>> +
>> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>> +}
>> +
>> +IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
>> +
>> +igt_main
>> +{
>> +	int debugfs = -1;
>> +	igt_display_t *display;
>> +	int fd = -1;
>> +	igt_dir_t *igt_dir = NULL;
>> +
>> +	igt_fixture {
>> +		fd = drm_open_driver_master(DRIVER_ANY);
>> +		debugfs = igt_debugfs_dir(fd);
>> +		igt_require(debugfs >= 0);
>> +
>> +		igt_dir = igt_dir_create(debugfs);
>> +		igt_require(igt_dir);
>> +
>> +		kmstest_set_vt_graphics_mode();
>> +
>> +		display = calloc(1, sizeof(*display));
>> +		igt_display_require(display, fd);
>> +	}
>> +
>> +	igt_subtest("off-read-all") {
>> +		igt_display_all_off(display);
>> +
>> +		igt_dir_scan_dirfd(igt_dir, -1);
>> +		igt_dir_process_files(igt_dir, NULL, NULL);
>> +	}
>> +
>> +	igt_subtest("on-read-all") {
>> +		/* try to light all pipes */
>> +		igt_display_all_on(display);
>> +
>> +		igt_dir_scan_dirfd(igt_dir, -1);
>> +		igt_dir_process_files(igt_dir, NULL, NULL);
>> +	}
>> +
>> +	igt_fixture {
>> +		igt_display_fini(display);
>> +		close(debugfs);
>> +		drm_close_driver(fd);
>> +	}
>> +}
>> diff --git a/tests/meson.build b/tests/meson.build
>> index fa62cbeb9..99dbd4feb 100644
>> --- a/tests/meson.build
>> +++ b/tests/meson.build
>> @@ -1,6 +1,7 @@
>>  test_progs = [
>>  	'core_auth',
>>  	'core_debugfs',
>> +	'core_debugfs_heads_power',
>>  	'core_getclient',
>>  	'core_getstats',
>>  	'core_getversion',
>> -- 
>> 2.43.0
>>


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

* Re: [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs
  2025-07-03 20:36   ` Rodrigo Vivi
@ 2025-07-04  8:57     ` Peter Senna Tschudin
  2025-07-04  9:06     ` Peter Senna Tschudin
  1 sibling, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-04  8:57 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: igt-dev, michal.wajdeczko, marcin.bernatowicz, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski, ewelina.musial



On 7/3/2025 10:36 PM, Rodrigo Vivi wrote:
> On Mon, Jun 16, 2025 at 09:42:37AM +0200, Peter Senna Tschudin wrote:
>> xe_debugfs is a test specific to Xe GPUs. It is intended to complement
>> the existing generic debugfs tests core_debugfs and
>> core_debugfs_display_on_off.
>>
>> Additionally, this test has been updated to use the igt_dir
>> infrastructure, resulting in simpler code.
>>
>> Cc: michal.wajdeczko@intel.com
>> Cc: marcin.bernatowicz@intel.com
>> Cc: kamil.konieczny@linux.intel.com
>> Cc: katarzyna.piecielska@intel.com
>> Cc: zbigniew.kempczynski@intel.com
>> Cc: ewelina.musial@intel.com
>> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
>> ---
>> v3:
>>  - unchanged from v2
>> v2:
>>  - changed style of comparison to NULL
>>
>>  tests/intel-ci/xe-fast-feedback.testlist |   2 +
>>  tests/intel/xe_debugfs.c                 | 208 +++++++++++++++++++++++
>>  tests/meson.build                        |   1 +
>>  3 files changed, 211 insertions(+)
>>  create mode 100644 tests/intel/xe_debugfs.c
>>
>> diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
>> index a5f799f6b..c52f08953 100644
>> --- a/tests/intel-ci/xe-fast-feedback.testlist
>> +++ b/tests/intel-ci/xe-fast-feedback.testlist
>> @@ -78,6 +78,8 @@ igt@xe_create@create-execqueues-noleak
>>  igt@xe_create@create-execqueues-leak
>>  igt@xe_create@create-invalid-mbz
>>  igt@xe_create@create-massive-size
>> +igt@xe_debugfs@xe-base
>> +igt@xe_debugfs@xe-forcewake
>>  igt@xe_dma_buf_sync@export-dma-buf-once-write-sync
>>  igt@xe_dma_buf_sync@export-dma-buf-once-read-sync
>>  igt@xe_dma_buf_sync@export-dma-buf-once-read-write-sync
>> diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
>> new file mode 100644
>> index 000000000..66a5fa0f6
>> --- /dev/null
>> +++ b/tests/intel/xe_debugfs.c
>> @@ -0,0 +1,208 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#include <dirent.h>
>> +#include <fcntl.h>
>> +
>> +#include "igt.h"
>> +#include "igt_debugfs.h"
>> +#include "igt_dir.h"
>> +#include "igt_sysfs.h"
>> +#include "xe/xe_query.h"
>> +
>> +
>> +struct {
>> +	bool warn_on_not_hit;
>> +} opt = { 0 };
>> +
>> +/**
>> + * TEST: Xe debugfs test
>> + * Description: Xe-specific debugfs tests. These are complementary to the
>> + * core_debugfs and core_debugfs_display_on_off tests.
>> + *
>> + * Category: Core
>> + * Mega feature: General Core features
>> + * Sub-category: uapi
>> + * Functionality: debugfs
>> + * Feature: core
>> + * Test category: uapi
>> + *
>> + */
>> +
>> +IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
>> +
>> +static int xe_validate_entries(igt_dir_t *igt_dir,
>> +			       const char * const str_val[], int str_cnt)
>> +{
>> +	igt_dir_file_list_t *file_list_entry;
>> +
>> +	if (!igt_dir)
>> +		return -1;
>> +
>> +	igt_dir_scan_dirfd(igt_dir, -1);
>> +
>> +	for (int i = 0; i < str_cnt; i++) {
>> +		int hit = 0;
>> +
>> +		igt_list_for_each_entry(file_list_entry,
>> +					&igt_dir->file_list_head, link) {
>> +			if (strcmp(file_list_entry->relative_path,
>> +				   str_val[i]) == 0) {
>> +				hit = 1;
>> +				break;
>> +			}
>> +		}
>> +
>> +		if (!hit && opt.warn_on_not_hit)
>> +			igt_warn("no test for: %s\n", str_val[i]);
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +/**
>> + * SUBTEST: xe-base
>> + * Description: Check if various debugfs devnodes exist and test reading them
>> + */
>> +static void
>> +xe_test_base(int fd, struct drm_xe_query_config *config, igt_dir_t *igt_dir)
>> +{
>> +	uint16_t devid = intel_get_drm_devid(fd);
>> +	static const char * const expected_files[] = {
>> +		"gt0",
>> +		"gt1",
>> +		"stolen_mm",
>> +		"gtt_mm",
>> +		"vram0_mm",
>> +		"forcewake_all",
>> +		"info",
>> +		"gem_names",
>> +		"clients",
>> +		"name"
>> +	};
>> +	char reference[4096];
>> +	int val = 0;
>> +
>> +	igt_assert(config);
>> +	sprintf(reference, "devid 0x%llx",
>> +			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
>> +	igt_assert(igt_debugfs_search(fd, "info", reference));
>> +
>> +	sprintf(reference, "revid %lld",
>> +			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
>> +	igt_assert(igt_debugfs_search(fd, "info", reference));
>> +
>> +	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
>> +		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
>> +
>> +	igt_assert(igt_debugfs_search(fd, "info", reference));
>> +
>> +	if (intel_gen(devid) < 20) {
>> +		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
>> +		case 48:
>> +			val = 3;
>> +			break;
>> +		case 57:
>> +			val = 4;
>> +			break;
>> +		}
>> +
>> +		sprintf(reference, "vm_max_level %d", val);
>> +		igt_assert(igt_debugfs_search(fd, "info", reference));
>> +	}
>> +
>> +	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
>> +	igt_assert(igt_debugfs_search(fd, "info", reference));
>> +
>> +	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
>> +
>> +	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
>> +	igt_debugfs_dump(fd, "gtt_mm");
>> +
>> +	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
>> +		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
>> +		igt_debugfs_dump(fd, "vram0_mm");
>> +	}
>> +
>> +	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
>> +		igt_debugfs_dump(fd, "stolen_mm");
>> +
>> +	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
>> +	igt_debugfs_dump(fd, "clients");
>> +
>> +	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
>> +	igt_debugfs_dump(fd, "gem_names");
>> +
>> +	xe_validate_entries(igt_dir, expected_files,
>> +			    ARRAY_SIZE(expected_files));
>> +}
>> +
>> +/**
>> + * SUBTEST: xe-forcewake
>> + * Description: Check forcewake debugfs devnode
>> + */
>> +static void
>> +xe_test_forcewake(int fd)
>> +{
>> +	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
> 
> What I don't see here is how do we avoid the forcewake_all to be read
> in the other test? Or that doesn't matter there?

That is a very good catch, thank you.

Not sure what to do here. xe_debugfs was supposed to be a complement to
the core_ tests. But the core_ tests will attempt to read all files, and
that is clearly not going to work. Here are a few options:

1 - Add gpu driver specifics to the core_ tests. If driver == xe then
skip these files. Not perfect to have intel specifics inside a core_
test, but I am ok with that.
2 - Give up the core_ idea and revert back to xe_ and i915_ tests. Works
for us, may not be the best for other vendors.
3 - Duplicate the core_ tests here. This is trivial for the core_debugfs
and core_sysfs, but it is not for the display_on_off variants. I don't
think this is a good idea from the software architecture perspective.
4 - Add run time customization to core_ tests to allow for skiping
files. I don't think this is a good idea because we will add maintenance
work to our CI.


What is your take?


> 
>> +
>> +	igt_assert_neq(handle, -1);
>> +	close(handle);
>> +}
>> +
>> +const char *help_str =
>> +	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
>> +
>> +struct option long_options[] = {
>> +	{ "--warn-not-hit", no_argument, NULL, 'w'},
>> +	{ 0, 0, 0, 0 }
>> +};
>> +
>> +static int opt_handler(int option, int option_index, void *input)
>> +{
>> +	switch (option) {
>> +	case 'w':
>> +		opt.warn_on_not_hit = true;
> 
> what about make this the default?

Sure, do you want to swap the logic here to have a command line option
that disables opt.warn_on_not_hit or should I remove the command line
arguments all togheter and have it always warn_on_not_hit?

> 
>> +		break;
>> +	default:
>> +		return IGT_OPT_HANDLER_ERROR;
>> +	}
>> +
>> +	return IGT_OPT_HANDLER_SUCCESS;
>> +}
>> +
>> +igt_main_args("", long_options, help_str, opt_handler, NULL)
>> +{
>> +	int debugfs = -1;
>> +	int fd = -1;
>> +	igt_dir_t *igt_dir = NULL;
>> +
>> +	igt_fixture {
>> +		fd = drm_open_driver_master(DRIVER_XE);
>> +		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
>> +		debugfs = igt_debugfs_dir(fd);
>> +
>> +		igt_dir = igt_dir_create(debugfs);
>> +		igt_require(igt_dir);
>> +
>> +		kmstest_set_vt_graphics_mode();
>> +	}
>> +
>> +	igt_describe("Check if various debugfs devnodes exist and test reading them.");
>> +	igt_subtest("xe-base") {
>> +		xe_test_base(fd, xe_config(fd), igt_dir);
>> +	}
>> +
>> +	igt_describe("Check forcewake debugfs devnode");
>> +	igt_subtest("xe-forcewake") {
>> +		xe_test_forcewake(fd);
>> +	}
>> +
>> +	igt_fixture {
>> +		igt_dir_destroy(igt_dir);
>> +		close(debugfs);
>> +		drm_close_driver(fd);
>> +	}
>> +}
>> diff --git a/tests/meson.build b/tests/meson.build
>> index a06172d2e..847598255 100644
>> --- a/tests/meson.build
>> +++ b/tests/meson.build
>> @@ -283,6 +283,7 @@ intel_xe_progs = [
>>  	'xe_compute_preempt',
>>  	'xe_copy_basic',
>>  	'xe_configfs',
>> +	'xe_debugfs',
>>  	'xe_dma_buf_sync',
>>  	'xe_drm_fdinfo',
>>  	'xe_eu_stall',
>> -- 
>> 2.43.0
>>


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

* Re: [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs
  2025-07-03 20:36   ` Rodrigo Vivi
  2025-07-04  8:57     ` Peter Senna Tschudin
@ 2025-07-04  9:06     ` Peter Senna Tschudin
  2025-07-07 14:43       ` Rodrigo Vivi
  1 sibling, 1 reply; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-04  9:06 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: igt-dev, michal.wajdeczko, marcin.bernatowicz, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski, ewelina.musial



On 7/3/2025 10:36 PM, Rodrigo Vivi wrote:
> On Mon, Jun 16, 2025 at 09:42:37AM +0200, Peter Senna Tschudin wrote:
>> xe_debugfs is a test specific to Xe GPUs. It is intended to complement
>> the existing generic debugfs tests core_debugfs and
>> core_debugfs_display_on_off.
>>
>> Additionally, this test has been updated to use the igt_dir
>> infrastructure, resulting in simpler code.
>>
>> Cc: michal.wajdeczko@intel.com
>> Cc: marcin.bernatowicz@intel.com
>> Cc: kamil.konieczny@linux.intel.com
>> Cc: katarzyna.piecielska@intel.com
>> Cc: zbigniew.kempczynski@intel.com
>> Cc: ewelina.musial@intel.com
>> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
>> ---
>> v3:
>>  - unchanged from v2
>> v2:
>>  - changed style of comparison to NULL
>>
>>  tests/intel-ci/xe-fast-feedback.testlist |   2 +
>>  tests/intel/xe_debugfs.c                 | 208 +++++++++++++++++++++++
>>  tests/meson.build                        |   1 +
>>  3 files changed, 211 insertions(+)
>>  create mode 100644 tests/intel/xe_debugfs.c
>>
>> diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
>> index a5f799f6b..c52f08953 100644
>> --- a/tests/intel-ci/xe-fast-feedback.testlist
>> +++ b/tests/intel-ci/xe-fast-feedback.testlist
>> @@ -78,6 +78,8 @@ igt@xe_create@create-execqueues-noleak
>>  igt@xe_create@create-execqueues-leak
>>  igt@xe_create@create-invalid-mbz
>>  igt@xe_create@create-massive-size
>> +igt@xe_debugfs@xe-base
>> +igt@xe_debugfs@xe-forcewake
>>  igt@xe_dma_buf_sync@export-dma-buf-once-write-sync
>>  igt@xe_dma_buf_sync@export-dma-buf-once-read-sync
>>  igt@xe_dma_buf_sync@export-dma-buf-once-read-write-sync
>> diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
>> new file mode 100644
>> index 000000000..66a5fa0f6
>> --- /dev/null
>> +++ b/tests/intel/xe_debugfs.c
>> @@ -0,0 +1,208 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#include <dirent.h>
>> +#include <fcntl.h>
>> +
>> +#include "igt.h"
>> +#include "igt_debugfs.h"
>> +#include "igt_dir.h"
>> +#include "igt_sysfs.h"
>> +#include "xe/xe_query.h"
>> +
>> +
>> +struct {
>> +	bool warn_on_not_hit;
>> +} opt = { 0 };
>> +
>> +/**
>> + * TEST: Xe debugfs test
>> + * Description: Xe-specific debugfs tests. These are complementary to the
>> + * core_debugfs and core_debugfs_display_on_off tests.
>> + *
>> + * Category: Core
>> + * Mega feature: General Core features
>> + * Sub-category: uapi
>> + * Functionality: debugfs
>> + * Feature: core
>> + * Test category: uapi
>> + *
>> + */
>> +
>> +IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
>> +
>> +static int xe_validate_entries(igt_dir_t *igt_dir,
>> +			       const char * const str_val[], int str_cnt)
>> +{
>> +	igt_dir_file_list_t *file_list_entry;
>> +
>> +	if (!igt_dir)
>> +		return -1;
>> +
>> +	igt_dir_scan_dirfd(igt_dir, -1);
>> +
>> +	for (int i = 0; i < str_cnt; i++) {
>> +		int hit = 0;
>> +
>> +		igt_list_for_each_entry(file_list_entry,
>> +					&igt_dir->file_list_head, link) {
>> +			if (strcmp(file_list_entry->relative_path,
>> +				   str_val[i]) == 0) {
>> +				hit = 1;
>> +				break;
>> +			}
>> +		}
>> +
>> +		if (!hit && opt.warn_on_not_hit)
>> +			igt_warn("no test for: %s\n", str_val[i]);
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +/**
>> + * SUBTEST: xe-base
>> + * Description: Check if various debugfs devnodes exist and test reading them
>> + */
>> +static void
>> +xe_test_base(int fd, struct drm_xe_query_config *config, igt_dir_t *igt_dir)
>> +{
>> +	uint16_t devid = intel_get_drm_devid(fd);
>> +	static const char * const expected_files[] = {
>> +		"gt0",
>> +		"gt1",
>> +		"stolen_mm",
>> +		"gtt_mm",
>> +		"vram0_mm",
>> +		"forcewake_all",
>> +		"info",
>> +		"gem_names",
>> +		"clients",
>> +		"name"
>> +	};
>> +	char reference[4096];
>> +	int val = 0;
>> +
>> +	igt_assert(config);
>> +	sprintf(reference, "devid 0x%llx",
>> +			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
>> +	igt_assert(igt_debugfs_search(fd, "info", reference));
>> +
>> +	sprintf(reference, "revid %lld",
>> +			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
>> +	igt_assert(igt_debugfs_search(fd, "info", reference));
>> +
>> +	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
>> +		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
>> +
>> +	igt_assert(igt_debugfs_search(fd, "info", reference));
>> +
>> +	if (intel_gen(devid) < 20) {
>> +		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
>> +		case 48:
>> +			val = 3;
>> +			break;
>> +		case 57:
>> +			val = 4;
>> +			break;
>> +		}
>> +
>> +		sprintf(reference, "vm_max_level %d", val);
>> +		igt_assert(igt_debugfs_search(fd, "info", reference));
>> +	}
>> +
>> +	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
>> +	igt_assert(igt_debugfs_search(fd, "info", reference));
>> +
>> +	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
>> +
>> +	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
>> +	igt_debugfs_dump(fd, "gtt_mm");
>> +
>> +	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
>> +		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
>> +		igt_debugfs_dump(fd, "vram0_mm");
>> +	}
>> +
>> +	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
>> +		igt_debugfs_dump(fd, "stolen_mm");
>> +
>> +	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
>> +	igt_debugfs_dump(fd, "clients");
>> +
>> +	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
>> +	igt_debugfs_dump(fd, "gem_names");
>> +
>> +	xe_validate_entries(igt_dir, expected_files,
>> +			    ARRAY_SIZE(expected_files));
>> +}
>> +
>> +/**
>> + * SUBTEST: xe-forcewake
>> + * Description: Check forcewake debugfs devnode
>> + */
>> +static void
>> +xe_test_forcewake(int fd)
>> +{
>> +	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
> 
> What I don't see here is how do we avoid the forcewake_all to be read
> in the other test? Or that doesn't matter there?

There is a recent kernel change that I forgot about. Now the kernel
requires opening the files for write to trigger a GPU reset.

The core_ tests only attempt to open files for reading using O_RDONLY.
This should no longer trigger resets in the GPU. So I guess that from
the Xe perspective, we are actually good to go trying to open all files
for reading.

> 
>> +
>> +	igt_assert_neq(handle, -1);
>> +	close(handle);
>> +}
>> +
>> +const char *help_str =
>> +	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
>> +
>> +struct option long_options[] = {
>> +	{ "--warn-not-hit", no_argument, NULL, 'w'},
>> +	{ 0, 0, 0, 0 }
>> +};
>> +
>> +static int opt_handler(int option, int option_index, void *input)
>> +{
>> +	switch (option) {
>> +	case 'w':
>> +		opt.warn_on_not_hit = true;
> 
> what about make this the default?
> 
>> +		break;
>> +	default:
>> +		return IGT_OPT_HANDLER_ERROR;
>> +	}
>> +
>> +	return IGT_OPT_HANDLER_SUCCESS;
>> +}
>> +
>> +igt_main_args("", long_options, help_str, opt_handler, NULL)
>> +{
>> +	int debugfs = -1;
>> +	int fd = -1;
>> +	igt_dir_t *igt_dir = NULL;
>> +
>> +	igt_fixture {
>> +		fd = drm_open_driver_master(DRIVER_XE);
>> +		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
>> +		debugfs = igt_debugfs_dir(fd);
>> +
>> +		igt_dir = igt_dir_create(debugfs);
>> +		igt_require(igt_dir);
>> +
>> +		kmstest_set_vt_graphics_mode();
>> +	}
>> +
>> +	igt_describe("Check if various debugfs devnodes exist and test reading them.");
>> +	igt_subtest("xe-base") {
>> +		xe_test_base(fd, xe_config(fd), igt_dir);
>> +	}
>> +
>> +	igt_describe("Check forcewake debugfs devnode");
>> +	igt_subtest("xe-forcewake") {
>> +		xe_test_forcewake(fd);
>> +	}
>> +
>> +	igt_fixture {
>> +		igt_dir_destroy(igt_dir);
>> +		close(debugfs);
>> +		drm_close_driver(fd);
>> +	}
>> +}
>> diff --git a/tests/meson.build b/tests/meson.build
>> index a06172d2e..847598255 100644
>> --- a/tests/meson.build
>> +++ b/tests/meson.build
>> @@ -283,6 +283,7 @@ intel_xe_progs = [
>>  	'xe_compute_preempt',
>>  	'xe_copy_basic',
>>  	'xe_configfs',
>> +	'xe_debugfs',
>>  	'xe_dma_buf_sync',
>>  	'xe_drm_fdinfo',
>>  	'xe_eu_stall',
>> -- 
>> 2.43.0
>>


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

* Re: [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power
  2025-07-04  8:06     ` Peter Senna Tschudin
@ 2025-07-04 10:01       ` Karthik B S
  2025-07-04 11:36         ` Kamil Konieczny
  0 siblings, 1 reply; 33+ messages in thread
From: Karthik B S @ 2025-07-04 10:01 UTC (permalink / raw)
  To: Peter Senna Tschudin, Rodrigo Vivi
  Cc: igt-dev, Juha-Pekka Heikkila, Juha-Pekka Heikkila, Swati Sharma,
	michal.wajdeczko, marcin.bernatowicz, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski, ewelina.musial

Hi,

On 7/4/2025 1:36 PM, Peter Senna Tschudin wrote:
>
> On 7/3/2025 10:39 PM, Rodrigo Vivi wrote:
>> On Mon, Jun 16, 2025 at 09:42:35AM +0200, Peter Senna Tschudin wrote:
>>> Introduce core_debugfs_heads_power that is expected to work with any
>>> GPU, not limited to i915 and Xe. The test powers off all available
>>> heads before reading debugfs files, and then powers on all heads
>>> before reading the files again.
>>>
>>> Cc: Karthik B S <karthik.b.s@intel.com>
>>> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
>>> Cc: Juha-Pekka Heikkila <juha-pekka.heikkila@intel.com>
>>> Cc: Swati Sharma <swati2.sharma@intel.com>
>>> Cc: michal.wajdeczko@intel.com
>>> Cc: marcin.bernatowicz@intel.com
>>> Cc: kamil.konieczny@linux.intel.com
>>> Cc: katarzyna.piecielska@intel.com
>>> Cc: zbigniew.kempczynski@intel.com
>>> Cc: ewelina.musial@intel.com
>>> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
>>> ---
>>> v3:
>>>   - renamed the test
>>>   - Removed reference to sysfs from comments  (thanks Kamil)
>>>   - Updated description to match the display part (thanks Kamil)
>>>   - Moved from "display" to "heads". Our CI uses "headless" to refer
>>>     to a DUT without display and it is shorter
>>>   - renamed subtests for shorter names (thanks Kamil)
>>>   - fixed comments style (thanks Kamil)
>>>   - updated CC list
>>>   - changed the order to test first with all heads off then with all heads on
>>>     to prevent the need from powering on the heads at the end of the test
>>>     (thanks Kamil)
>>>   - removed snprintf from test names (thanks Kamil)
>>>   - removed subtest group (thanks Kamil)
>>>   - deleted kms_tests() and moved the code to igt_main (thanks Kamil)
>>>
>>> v2:
>>>   - changed style of comparison to NULL
>>>   - moved to a separate patch
>>>
>>>   tests/core_debugfs_heads_power.c | 156 +++++++++++++++++++++++++++++++
>>>   tests/meson.build                |   1 +
>>>   2 files changed, 157 insertions(+)
>>>   create mode 100644 tests/core_debugfs_heads_power.c
>>>
>>> diff --git a/tests/core_debugfs_heads_power.c b/tests/core_debugfs_heads_power.c
>>> new file mode 100644
>>> index 000000000..1813986d8
>>> --- /dev/null
>>> +++ b/tests/core_debugfs_heads_power.c
>>> @@ -0,0 +1,156 @@
>>> +// SPDX-License-Identifier: MIT
>>> +/*
>>> + * Copyright © 2025 Intel Corporation
>>> + */
>>> +
>>> +#include "igt.h"
>>> +#include "igt_debugfs.h"
>>> +#include "igt_dir.h"
>>> +
>>> +/**
>>> + * TEST: debugfs heads power test
>> Could we please use display instead of heads here?
>>  From display folks perspective heads might be indeed more clear because we will
>> only use display if any 'head' is attached, but from folks outside of display
>> world, heads will be a confusing term to be in the name of the test.
>>
>> Or perhaps we name kms_debugfs
> My first name proposal was core_debugfs_display_on_off. This is
> informative because it makes it explicit that this runs the test with
> display on and with the display off. This name is also a good contrast
> with the other test core_debugfs. Removing the on_off suffix makes the
> name less informative.
>
> Problem is that core_debugfs_display_on_off is a large name. So using
> heads instead of display was an attempt to make the name shorter, but no
> one liked it. We are waiting the KMS team to decide on which name they want.
I would vote for kms_debugfs as this would be also consistent with the 
existing display tests. I'm also okay with 'core_debugfs_display' if we 
can't have kms_debugfs.
>
>
>
>
>>> + * Description: Read entries from debugfs with all heads on and with all heads
>>> + *		off.
>>> + * Category: Core
>>> + * Mega feature: General Core features
>>> + * Sub-category: uapi
>>> + * Functionality: debugfs
>>> + * Feature: core
>>> + * Test category: uapi
>>> + *
>>> + * SUBTEST: off-read-all
>>> + * Description: Read all debugfs entries with heads off.
>>> + *
>>> + * SUBTEST: on-read-all
>>> + * Description: Read all debugfs entries with heads on.
>>> + */
>>> +
>>> +/**
>>> + * bool igt_kms_all_displays_on: Try to turn on all heads
>>> + * @display: pointer to the igt_display structure
>>> + *
>>> + * Returns: void
>>> + */
>>> +static void igt_display_all_on(igt_display_t *display)
>>> +{
>>> +	struct igt_fb fb[IGT_MAX_PIPES];
>>> +	enum pipe pipe;
>>> +	int ret;
>>> +
>>> +	/* try to light all pipes */
>>> +retry:
>>> +	for_each_pipe(display, pipe) {
>>> +		igt_output_t *output;
>>> +
>>> +		for_each_valid_output_on_pipe(display, pipe, output) {
>>> +			igt_plane_t *primary;
>>> +			drmModeModeInfo *mode;
>>> +
>>> +			if (output->pending_pipe != PIPE_NONE)
>>> +				continue;
>>> +
>>> +			igt_output_set_pipe(output, pipe);
>>> +			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>>> +			mode = igt_output_get_mode(output);
>>> +			igt_create_pattern_fb(display->drm_fd,
>>> +						mode->hdisplay, mode->vdisplay,
>>> +						DRM_FORMAT_XRGB8888,
>>> +						DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
>>> +
>>> +			/* Set a valid fb as some debugfs like to
>>> +			 * inspect it on a active pipe
>>> +			 */
>>> +			igt_plane_set_fb(primary, &fb[pipe]);
>>> +			break;
>>> +		}
>>> +	}
>>> +
>>> +	if (display->is_atomic)
>>> +		ret = igt_display_try_commit_atomic(display,
>>> +				DRM_MODE_ATOMIC_TEST_ONLY |
>>> +				DRM_MODE_ATOMIC_ALLOW_MODESET,
>>> +				NULL);
>>> +	else
>>> +		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
>>> +
>>> +	if (ret) {
>>> +		igt_output_t *output;
>>> +		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
>>> +
>>> +		igt_require_f(found, "No valid mode combo found.\n");
>>> +
>>> +		for_each_connected_output(display, output)
>>> +			igt_output_set_pipe(output, PIPE_NONE);
>>> +
>>> +		goto retry;
>>> +	}
>>> +
>>> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>>> +}
>>> +
>>> +/**
>>> + * bool igt_kms_all_displays_off: Try to turn off all heads
>>> + * @display: pointer to the igt_display structure
>>> + *
>>> + * Returns: void
>>> + */
>>> +static void igt_display_all_off(igt_display_t *display)
>>> +{
>>> +	enum pipe pipe;
>>> +	igt_output_t *output;
>>> +	igt_plane_t *plane;
>>> +
>>> +	for_each_connected_output(display, output)
>>> +		igt_output_set_pipe(output, PIPE_NONE);
>>> +
>>> +	for_each_pipe(display, pipe)
>>> +		for_each_plane_on_pipe(display, pipe, plane)
>>> +			igt_plane_set_fb(plane, NULL);
>>> +
>>> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>>> +}
>>> +
>>> +IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
>>> +
>>> +igt_main
>>> +{
>>> +	int debugfs = -1;
>>> +	igt_display_t *display;
>>> +	int fd = -1;
>>> +	igt_dir_t *igt_dir = NULL;
>>> +
>>> +	igt_fixture {
>>> +		fd = drm_open_driver_master(DRIVER_ANY);
>>> +		debugfs = igt_debugfs_dir(fd);
>>> +		igt_require(debugfs >= 0);
>>> +
>>> +		igt_dir = igt_dir_create(debugfs);
>>> +		igt_require(igt_dir);
>>> +
>>> +		kmstest_set_vt_graphics_mode();
>>> +
>>> +		display = calloc(1, sizeof(*display));
>>> +		igt_display_require(display, fd);
>>> +	}
>>> +
>>> +	igt_subtest("off-read-all") {
>>> +		igt_display_all_off(display);
>>> +
>>> +		igt_dir_scan_dirfd(igt_dir, -1);
>>> +		igt_dir_process_files(igt_dir, NULL, NULL);
>>> +	}
>>> +
>>> +	igt_subtest("on-read-all") {
>>> +		/* try to light all pipes */
>>> +		igt_display_all_on(display);
>>> +
>>> +		igt_dir_scan_dirfd(igt_dir, -1);
>>> +		igt_dir_process_files(igt_dir, NULL, NULL);
>>> +	}
>>> +
>>> +	igt_fixture {
>>> +		igt_display_fini(display);
>>> +		close(debugfs);
>>> +		drm_close_driver(fd);
>>> +	}
>>> +}
>>> diff --git a/tests/meson.build b/tests/meson.build
>>> index fa62cbeb9..99dbd4feb 100644
>>> --- a/tests/meson.build
>>> +++ b/tests/meson.build
>>> @@ -1,6 +1,7 @@
>>>   test_progs = [
>>>   	'core_auth',
>>>   	'core_debugfs',
>>> +	'core_debugfs_heads_power',
>>>   	'core_getclient',
>>>   	'core_getstats',
>>>   	'core_getversion',
>>> -- 
>>> 2.43.0
>>>

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

* Re: [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power
  2025-06-16  7:42 ` [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power Peter Senna Tschudin
  2025-07-03 20:39   ` Rodrigo Vivi
@ 2025-07-04 10:02   ` Karthik B S
  1 sibling, 0 replies; 33+ messages in thread
From: Karthik B S @ 2025-07-04 10:02 UTC (permalink / raw)
  To: Peter Senna Tschudin, igt-dev
  Cc: Juha-Pekka Heikkila, Juha-Pekka Heikkila, Swati Sharma,
	michal.wajdeczko, marcin.bernatowicz, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski, ewelina.musial

Hi,

On 6/16/2025 1:12 PM, Peter Senna Tschudin wrote:
> Introduce core_debugfs_heads_power that is expected to work with any
> GPU, not limited to i915 and Xe. The test powers off all available
> heads before reading debugfs files, and then powers on all heads
> before reading the files again.
>
> Cc: Karthik B S <karthik.b.s@intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> Cc: Juha-Pekka Heikkila <juha-pekka.heikkila@intel.com>
> Cc: Swati Sharma <swati2.sharma@intel.com>
> Cc: michal.wajdeczko@intel.com
> Cc: marcin.bernatowicz@intel.com
> Cc: kamil.konieczny@linux.intel.com
> Cc: katarzyna.piecielska@intel.com
> Cc: zbigniew.kempczynski@intel.com
> Cc: ewelina.musial@intel.com
> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
> ---
> v3:
>   - renamed the test
>   - Removed reference to sysfs from comments  (thanks Kamil)
>   - Updated description to match the display part (thanks Kamil)
>   - Moved from "display" to "heads". Our CI uses "headless" to refer
>     to a DUT without display and it is shorter
>   - renamed subtests for shorter names (thanks Kamil)
>   - fixed comments style (thanks Kamil)
>   - updated CC list
>   - changed the order to test first with all heads off then with all heads on
>     to prevent the need from powering on the heads at the end of the test
>     (thanks Kamil)
>   - removed snprintf from test names (thanks Kamil)
>   - removed subtest group (thanks Kamil)
>   - deleted kms_tests() and moved the code to igt_main (thanks Kamil)
>
> v2:
>   - changed style of comparison to NULL
>   - moved to a separate patch
>
>   tests/core_debugfs_heads_power.c | 156 +++++++++++++++++++++++++++++++
>   tests/meson.build                |   1 +
>   2 files changed, 157 insertions(+)
>   create mode 100644 tests/core_debugfs_heads_power.c
>
> diff --git a/tests/core_debugfs_heads_power.c b/tests/core_debugfs_heads_power.c
> new file mode 100644
> index 000000000..1813986d8
> --- /dev/null
> +++ b/tests/core_debugfs_heads_power.c
> @@ -0,0 +1,156 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#include "igt.h"
> +#include "igt_debugfs.h"
> +#include "igt_dir.h"
> +
> +/**
> + * TEST: debugfs heads power test
> + * Description: Read entries from debugfs with all heads on and with all heads
> + *		off.
> + * Category: Core
> + * Mega feature: General Core features
> + * Sub-category: uapi
> + * Functionality: debugfs
> + * Feature: core
> + * Test category: uapi
> + *
> + * SUBTEST: off-read-all
> + * Description: Read all debugfs entries with heads off.
> + *
> + * SUBTEST: on-read-all
> + * Description: Read all debugfs entries with heads on.
> + */
> +
> +/**
> + * bool igt_kms_all_displays_on: Try to turn on all heads
> + * @display: pointer to the igt_display structure
> + *
> + * Returns: void
> + */
> +static void igt_display_all_on(igt_display_t *display)
> +{
> +	struct igt_fb fb[IGT_MAX_PIPES];
> +	enum pipe pipe;
> +	int ret;
> +
> +	/* try to light all pipes */
> +retry:
> +	for_each_pipe(display, pipe) {
> +		igt_output_t *output;
> +
> +		for_each_valid_output_on_pipe(display, pipe, output) {
> +			igt_plane_t *primary;
> +			drmModeModeInfo *mode;
> +
> +			if (output->pending_pipe != PIPE_NONE)
> +				continue;
> +
> +			igt_output_set_pipe(output, pipe);
> +			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +			mode = igt_output_get_mode(output);
> +			igt_create_pattern_fb(display->drm_fd,
> +						mode->hdisplay, mode->vdisplay,
> +						DRM_FORMAT_XRGB8888,
> +						DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
> +
> +			/* Set a valid fb as some debugfs like to
> +			 * inspect it on a active pipe
> +			 */
> +			igt_plane_set_fb(primary, &fb[pipe]);
> +			break;
> +		}
> +	}
> +
> +	if (display->is_atomic)
> +		ret = igt_display_try_commit_atomic(display,
> +				DRM_MODE_ATOMIC_TEST_ONLY |
> +				DRM_MODE_ATOMIC_ALLOW_MODESET,
> +				NULL);
> +	else
> +		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
> +
> +	if (ret) {
> +		igt_output_t *output;
> +		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
> +
> +		igt_require_f(found, "No valid mode combo found.\n");
> +
> +		for_each_connected_output(display, output)
> +			igt_output_set_pipe(output, PIPE_NONE);
> +
> +		goto retry;
> +	}
Instead of this could we use the wrapper function, 'igt_fit_modes_in_bw'?
> +
> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> +}
> +
> +/**
> + * bool igt_kms_all_displays_off: Try to turn off all heads
> + * @display: pointer to the igt_display structure
> + *
> + * Returns: void
> + */
> +static void igt_display_all_off(igt_display_t *display)
> +{
> +	enum pipe pipe;
> +	igt_output_t *output;
> +	igt_plane_t *plane;
> +
> +	for_each_connected_output(display, output)
> +		igt_output_set_pipe(output, PIPE_NONE);
> +
> +	for_each_pipe(display, pipe)
> +		for_each_plane_on_pipe(display, pipe, plane)
> +			igt_plane_set_fb(plane, NULL);
> +
> +	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> +}
> +
> +IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
> +
> +igt_main
> +{
> +	int debugfs = -1;
> +	igt_display_t *display;
> +	int fd = -1;
> +	igt_dir_t *igt_dir = NULL;
> +
> +	igt_fixture {
> +		fd = drm_open_driver_master(DRIVER_ANY);
> +		debugfs = igt_debugfs_dir(fd);
> +		igt_require(debugfs >= 0);
> +
> +		igt_dir = igt_dir_create(debugfs);
> +		igt_require(igt_dir);
> +
> +		kmstest_set_vt_graphics_mode();
> +
> +		display = calloc(1, sizeof(*display));
> +		igt_display_require(display, fd);

Could we also add 'igt_display_require_output' to assure we've at least 
one output connected?

Regards,
Karthik.B.S
> +	}
> +
> +	igt_subtest("off-read-all") {
> +		igt_display_all_off(display);
> +
> +		igt_dir_scan_dirfd(igt_dir, -1);
> +		igt_dir_process_files(igt_dir, NULL, NULL);
> +	}
> +
> +	igt_subtest("on-read-all") {
> +		/* try to light all pipes */
> +		igt_display_all_on(display);
> +
> +		igt_dir_scan_dirfd(igt_dir, -1);
> +		igt_dir_process_files(igt_dir, NULL, NULL);
> +	}
> +
> +	igt_fixture {
> +		igt_display_fini(display);
> +		close(debugfs);
> +		drm_close_driver(fd);
> +	}
> +}
> diff --git a/tests/meson.build b/tests/meson.build
> index fa62cbeb9..99dbd4feb 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -1,6 +1,7 @@
>   test_progs = [
>   	'core_auth',
>   	'core_debugfs',
> +	'core_debugfs_heads_power',
>   	'core_getclient',
>   	'core_getstats',
>   	'core_getversion',

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

* Re: [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power
  2025-07-04 10:01       ` Karthik B S
@ 2025-07-04 11:36         ` Kamil Konieczny
  0 siblings, 0 replies; 33+ messages in thread
From: Kamil Konieczny @ 2025-07-04 11:36 UTC (permalink / raw)
  To: Karthik B S
  Cc: Peter Senna Tschudin, Rodrigo Vivi, igt-dev, Juha-Pekka Heikkila,
	Juha-Pekka Heikkila, Swati Sharma, michal.wajdeczko,
	marcin.bernatowicz, katarzyna.piecielska, zbigniew.kempczynski,
	ewelina.musial

Hi Karthik,
On 2025-07-04 at 15:31:02 +0530, Karthik B S wrote:
> Hi,
> 
> On 7/4/2025 1:36 PM, Peter Senna Tschudin wrote:
> > 
> > On 7/3/2025 10:39 PM, Rodrigo Vivi wrote:
> > > On Mon, Jun 16, 2025 at 09:42:35AM +0200, Peter Senna Tschudin wrote:
> > > > Introduce core_debugfs_heads_power that is expected to work with any
> > > > GPU, not limited to i915 and Xe. The test powers off all available
> > > > heads before reading debugfs files, and then powers on all heads
> > > > before reading the files again.
> > > > 
> > > > Cc: Karthik B S <karthik.b.s@intel.com>
> > > > Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > > > Cc: Juha-Pekka Heikkila <juha-pekka.heikkila@intel.com>
> > > > Cc: Swati Sharma <swati2.sharma@intel.com>
> > > > Cc: michal.wajdeczko@intel.com
> > > > Cc: marcin.bernatowicz@intel.com
> > > > Cc: kamil.konieczny@linux.intel.com
> > > > Cc: katarzyna.piecielska@intel.com
> > > > Cc: zbigniew.kempczynski@intel.com
> > > > Cc: ewelina.musial@intel.com
> > > > Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
> > > > ---
> > > > v3:
> > > >   - renamed the test
> > > >   - Removed reference to sysfs from comments  (thanks Kamil)
> > > >   - Updated description to match the display part (thanks Kamil)
> > > >   - Moved from "display" to "heads". Our CI uses "headless" to refer
> > > >     to a DUT without display and it is shorter
> > > >   - renamed subtests for shorter names (thanks Kamil)
> > > >   - fixed comments style (thanks Kamil)
> > > >   - updated CC list
> > > >   - changed the order to test first with all heads off then with all heads on
> > > >     to prevent the need from powering on the heads at the end of the test
> > > >     (thanks Kamil)
> > > >   - removed snprintf from test names (thanks Kamil)
> > > >   - removed subtest group (thanks Kamil)
> > > >   - deleted kms_tests() and moved the code to igt_main (thanks Kamil)
> > > > 
> > > > v2:
> > > >   - changed style of comparison to NULL
> > > >   - moved to a separate patch
> > > > 
> > > >   tests/core_debugfs_heads_power.c | 156 +++++++++++++++++++++++++++++++
> > > >   tests/meson.build                |   1 +
> > > >   2 files changed, 157 insertions(+)
> > > >   create mode 100644 tests/core_debugfs_heads_power.c
> > > > 
> > > > diff --git a/tests/core_debugfs_heads_power.c b/tests/core_debugfs_heads_power.c
> > > > new file mode 100644
> > > > index 000000000..1813986d8
> > > > --- /dev/null
> > > > +++ b/tests/core_debugfs_heads_power.c
> > > > @@ -0,0 +1,156 @@
> > > > +// SPDX-License-Identifier: MIT
> > > > +/*
> > > > + * Copyright © 2025 Intel Corporation
> > > > + */
> > > > +
> > > > +#include "igt.h"
> > > > +#include "igt_debugfs.h"
> > > > +#include "igt_dir.h"
> > > > +
> > > > +/**
> > > > + * TEST: debugfs heads power test
> > > Could we please use display instead of heads here?
> > >  From display folks perspective heads might be indeed more clear because we will
> > > only use display if any 'head' is attached, but from folks outside of display
> > > world, heads will be a confusing term to be in the name of the test.
> > > 
> > > Or perhaps we name kms_debugfs
> > My first name proposal was core_debugfs_display_on_off. This is
> > informative because it makes it explicit that this runs the test with
> > display on and with the display off. This name is also a good contrast
> > with the other test core_debugfs. Removing the on_off suffix makes the
> > name less informative.
> > 
> > Problem is that core_debugfs_display_on_off is a large name. So using
> > heads instead of display was an attempt to make the name shorter, but no
> > one liked it. We are waiting the KMS team to decide on which name they want.
> I would vote for kms_debugfs as this would be also consistent with the
> existing display tests. I'm also okay with 'core_debugfs_display' if we
> can't have kms_debugfs.

Imho kms_debugfs is good, also shorter.

> > 
> > 
> > 
> > 
> > > > + * Description: Read entries from debugfs with all heads on and with all heads
> > > > + *		off.

Karthik, could you help us with this description here?
Why we need this test, as I guess core_debugfs is not enough,
but why?  Do we need any improvement in testing this?

It could be added as is now as this how it was in Intel tests,
with a note about TODO.

Regards,
Kamil

> > > > + * Category: Core
> > > > + * Mega feature: General Core features
> > > > + * Sub-category: uapi
> > > > + * Functionality: debugfs
> > > > + * Feature: core
> > > > + * Test category: uapi
> > > > + *
> > > > + * SUBTEST: off-read-all
> > > > + * Description: Read all debugfs entries with heads off.
> > > > + *
> > > > + * SUBTEST: on-read-all
> > > > + * Description: Read all debugfs entries with heads on.
> > > > + */

...cut...


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

* ✓ Xe.CI.Full: success for Replace intel_sysfs_debugfs (rev2)
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (11 preceding siblings ...)
  2025-07-04  4:29 ` ✗ i915.CI.Full: failure " Patchwork
@ 2025-07-05 14:40 ` Patchwork
  2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
  13 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2025-07-05 14:40 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

Series: Replace intel_sysfs_debugfs (rev2)
URL   : https://patchwork.freedesktop.org/series/150310/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8438_FULL -> XEIGTPW_13403_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  Missing    (1): shard-adlp 

New tests
---------

  New tests have been introduced between XEIGT_8438_FULL and XEIGTPW_13403_FULL:

### New IGT tests (6) ###

  * igt@core_debugfs@read-all-entries:
    - Statuses : 3 pass(s)
    - Exec time: [0.0, 0.14] s

  * igt@core_debugfs_heads_power@off-read-all:
    - Statuses : 3 pass(s)
    - Exec time: [0.06, 0.34] s

  * igt@core_debugfs_heads_power@on-read-all:
    - Statuses : 3 pass(s)
    - Exec time: [0.06, 0.17] s

  * igt@core_sysfs@read-all-entries:
    - Statuses : 3 pass(s)
    - Exec time: [0.0, 0.00] s

  * igt@xe_debugfs@xe-base:
    - Statuses : 3 pass(s)
    - Exec time: [0.00] s

  * igt@xe_debugfs@xe-forcewake:
    - Statuses : 3 pass(s)
    - Exec time: [0.0, 0.00] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][1] ([Intel XE#911]) +3 other tests fail
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html

  * igt@kms_async_flips@test-cursor-atomic:
    - shard-lnl:          NOTRUN -> [SKIP][2] ([Intel XE#664])
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_async_flips@test-cursor-atomic.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
    - shard-lnl:          NOTRUN -> [SKIP][3] ([Intel XE#3279])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][4] ([Intel XE#1407]) +2 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][5] ([Intel XE#316])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#2327])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-1/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [SKIP][7] ([Intel XE#1124]) +3 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-6/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][8] ([Intel XE#1124]) +3 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-464/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][9] ([Intel XE#1124]) +7 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
    - shard-bmg:          [PASS][10] -> [SKIP][11] ([Intel XE#2314] / [Intel XE#2894])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-4/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html

  * igt@kms_bw@linear-tiling-2-displays-2560x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#367])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-6/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][13] ([Intel XE#367])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-464/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
    - shard-lnl:          NOTRUN -> [SKIP][14] ([Intel XE#367]) +1 other test skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html

  * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][15] ([Intel XE#2887]) +8 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][16] ([Intel XE#2907])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html

  * igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#2887]) +6 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-4/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][18] ([Intel XE#787]) +223 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-463/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc@pipe-a-dp-4.html

  * igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-d-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][19] ([Intel XE#455] / [Intel XE#787]) +38 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-d-dp-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][20] ([Intel XE#3432])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     [PASS][21] -> [INCOMPLETE][22] ([Intel XE#3862]) +1 other test incomplete
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-463/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-433/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-dp-4:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][23] ([Intel XE#3124])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][24] ([Intel XE#1727] / [Intel XE#3113])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_cdclk@plane-scaling:
    - shard-lnl:          NOTRUN -> [SKIP][25] ([Intel XE#4416]) +3 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@kms_cdclk@plane-scaling.html

  * igt@kms_cdclk@plane-scaling@pipe-b-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][26] ([Intel XE#4416]) +3 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@kms_cdclk@plane-scaling@pipe-b-dp-2.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#2325])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-4/igt@kms_chamelium_color@ctm-0-50.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][28] ([Intel XE#306])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-435/igt@kms_chamelium_color@ctm-0-50.html
    - shard-lnl:          NOTRUN -> [SKIP][29] ([Intel XE#306])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#2252]) +3 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-3/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][31] ([Intel XE#373]) +2 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-463/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_edid@hdmi-edid-stress-resolution-4k:
    - shard-lnl:          NOTRUN -> [SKIP][32] ([Intel XE#373]) +5 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-4k.html

  * igt@kms_content_protection@atomic:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#2341])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_content_protection@atomic.html
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#3278])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@atomic-dpms@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][35] ([Intel XE#1178])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@kms_content_protection@atomic-dpms@pipe-a-dp-2.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-dg2-set2:     NOTRUN -> [SKIP][36] ([Intel XE#307])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-435/igt@kms_content_protection@dp-mst-lic-type-0.html
    - shard-lnl:          NOTRUN -> [SKIP][37] ([Intel XE#307])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-5/igt@kms_content_protection@dp-mst-lic-type-0.html
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#2390])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-8/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-dg2-set2:     NOTRUN -> [SKIP][39] ([Intel XE#308])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-466/igt@kms_cursor_crc@cursor-offscreen-512x170.html
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#2321])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-3/igt@kms_cursor_crc@cursor-offscreen-512x170.html
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#2321])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-6/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-offscreen-64x21:
    - shard-lnl:          NOTRUN -> [SKIP][42] ([Intel XE#1424])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-3/igt@kms_cursor_crc@cursor-offscreen-64x21.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-bmg:          [PASS][43] -> [SKIP][44] ([Intel XE#2291]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-bmg:          [PASS][45] -> [FAIL][46] ([Intel XE#4633])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-4/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_dp_aux_dev:
    - shard-bmg:          [PASS][47] -> [SKIP][48] ([Intel XE#3009])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-2/igt@kms_dp_aux_dev.html
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_dp_aux_dev.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-lnl:          NOTRUN -> [SKIP][49] ([Intel XE#4354]) +1 other test skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@kms_dp_link_training@uhbr-mst.html
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#4354])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-8/igt@kms_dp_link_training@uhbr-mst.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][51] ([Intel XE#4356])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_feature_discovery@display-3x:
    - shard-lnl:          NOTRUN -> [SKIP][52] ([Intel XE#703])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@kms_feature_discovery@display-3x.html

  * igt@kms_flip@2x-flip-vs-rmfb:
    - shard-lnl:          NOTRUN -> [SKIP][53] ([Intel XE#1421]) +5 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@kms_flip@2x-flip-vs-rmfb.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-dg2-set2:     [PASS][54] -> [INCOMPLETE][55] ([Intel XE#2049] / [Intel XE#2597])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-432/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-463/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][56] ([Intel XE#2049] / [Intel XE#2597])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-463/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-bmg:          NOTRUN -> [SKIP][57] ([Intel XE#2316])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible:
    - shard-bmg:          [PASS][58] -> [SKIP][59] ([Intel XE#2316]) +4 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-1/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-6/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html

  * igt@kms_flip@bo-too-big-interruptible@a-edp1:
    - shard-lnl:          NOTRUN -> [TIMEOUT][60] ([Intel XE#1504]) +1 other test timeout
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@kms_flip@bo-too-big-interruptible@a-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-dg2-set2:     NOTRUN -> [FAIL][61] ([Intel XE#301])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp2:
    - shard-dg2-set2:     NOTRUN -> [FAIL][62] ([Intel XE#301] / [Intel XE#3321])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp2.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
    - shard-lnl:          NOTRUN -> [SKIP][64] ([Intel XE#1401] / [Intel XE#1745]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][65] ([Intel XE#1401]) +1 other test skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][66] ([Intel XE#1397] / [Intel XE#1745])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][67] ([Intel XE#1397])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][68] ([Intel XE#2293]) +1 other test skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#2311]) +8 other tests skip
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][70] ([Intel XE#651]) +5 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen:
    - shard-dg2-set2:     NOTRUN -> [SKIP][71] ([Intel XE#651]) +8 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-466/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][72] ([Intel XE#4141]) +3 other tests skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][73] ([Intel XE#656]) +24 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-slowdraw:
    - shard-dg2-set2:     NOTRUN -> [SKIP][74] ([Intel XE#653]) +11 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#2352])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][76] ([Intel XE#658])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
    - shard-lnl:          NOTRUN -> [SKIP][77] ([Intel XE#1469])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-bmg:          NOTRUN -> [SKIP][78] ([Intel XE#2313]) +10 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_hdr@invalid-hdr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][79] ([Intel XE#455]) +4 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-435/igt@kms_hdr@invalid-hdr.html
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#1503])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-1/igt@kms_hdr@invalid-hdr.html

  * igt@kms_hdr@static-swap:
    - shard-lnl:          NOTRUN -> [SKIP][81] ([Intel XE#1503])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_hdr@static-swap.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-bmg:          [PASS][82] -> [SKIP][83] ([Intel XE#3012])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-8/igt@kms_joiner@basic-force-big-joiner.html
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-lnl:          NOTRUN -> [SKIP][84] ([Intel XE#309]) +1 other test skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#2763]) +4 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-8/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-b:
    - shard-lnl:          NOTRUN -> [SKIP][86] ([Intel XE#2763]) +7 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-b.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-dg2-set2:     NOTRUN -> [SKIP][87] ([Intel XE#3309])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-434/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-lnl:          NOTRUN -> [SKIP][88] ([Intel XE#3309])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#3309])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-7/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-lnl:          [PASS][90] -> [FAIL][91] ([Intel XE#718]) +1 other test fail
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-5/igt@kms_pm_dc@dc6-dpms.html
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@deep-pkgc:
    - shard-lnl:          NOTRUN -> [FAIL][92] ([Intel XE#2029])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@kms_pm_dc@deep-pkgc.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][93] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][94] ([Intel XE#1489]) +3 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-434/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf.html
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#2893]) +1 other test skip
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][96] ([Intel XE#4608]) +3 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf@pipe-a-edp-1.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
    - shard-lnl:          NOTRUN -> [SKIP][97] ([Intel XE#2893] / [Intel XE#4608]) +1 other test skip
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-bmg:          NOTRUN -> [SKIP][98] ([Intel XE#1489]) +3 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-4/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr@fbc-psr2-basic@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][99] ([Intel XE#4609]) +1 other test skip
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@kms_psr@fbc-psr2-basic@edp-1.html

  * igt@kms_psr@fbc-psr2-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][100] ([Intel XE#2850] / [Intel XE#929]) +6 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-434/igt@kms_psr@fbc-psr2-dpms.html

  * igt@kms_psr@pr-primary-blt:
    - shard-lnl:          NOTRUN -> [SKIP][101] ([Intel XE#1406]) +5 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@kms_psr@pr-primary-blt.html

  * igt@kms_psr@psr-basic:
    - shard-bmg:          NOTRUN -> [SKIP][102] ([Intel XE#2234] / [Intel XE#2850]) +6 other tests skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-8/igt@kms_psr@psr-basic.html

  * igt@kms_psr@psr2-primary-render:
    - shard-bmg:          NOTRUN -> [SKIP][103] ([Intel XE#2234])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_psr@psr2-primary-render.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-bmg:          NOTRUN -> [SKIP][104] ([Intel XE#2330]) +1 other test skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][105] ([Intel XE#1127]) +1 other test skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-436/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-lnl:          NOTRUN -> [SKIP][106] ([Intel XE#1127]) +1 other test skip
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_setmode@basic@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [PASS][107] -> [FAIL][108] ([Intel XE#2883]) +4 other tests fail
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-433/igt@kms_setmode@basic@pipe-a-hdmi-a-6.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-463/igt@kms_setmode@basic@pipe-a-hdmi-a-6.html

  * igt@kms_setmode@basic@pipe-b-edp-1:
    - shard-lnl:          [PASS][109] -> [FAIL][110] ([Intel XE#2883]) +2 other tests fail
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-5/igt@kms_setmode@basic@pipe-b-edp-1.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-3/igt@kms_setmode@basic@pipe-b-edp-1.html

  * igt@kms_setmode@invalid-clone-exclusive-crtc:
    - shard-bmg:          NOTRUN -> [SKIP][111] ([Intel XE#1435])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-1/igt@kms_setmode@invalid-clone-exclusive-crtc.html
    - shard-lnl:          NOTRUN -> [SKIP][112] ([Intel XE#1435])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@kms_setmode@invalid-clone-exclusive-crtc.html

  * igt@kms_setmode@invalid-clone-single-crtc-stealing:
    - shard-bmg:          [PASS][113] -> [SKIP][114] ([Intel XE#1435])
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-2/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_setmode@invalid-clone-single-crtc-stealing.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-lnl:          NOTRUN -> [SKIP][115] ([Intel XE#1499])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@xe_copy_basic@mem-set-linear-0x369:
    - shard-dg2-set2:     NOTRUN -> [SKIP][116] ([Intel XE#1126])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@xe_copy_basic@mem-set-linear-0x369.html

  * igt@xe_eudebug@basic-client:
    - shard-lnl:          NOTRUN -> [SKIP][117] ([Intel XE#4837]) +5 other tests skip
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@xe_eudebug@basic-client.html

  * igt@xe_eudebug@basic-vm-access-userptr-faultable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][118] ([Intel XE#4837]) +3 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-434/igt@xe_eudebug@basic-vm-access-userptr-faultable.html

  * igt@xe_eudebug_online@single-step-one:
    - shard-bmg:          NOTRUN -> [SKIP][119] ([Intel XE#4837]) +1 other test skip
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-3/igt@xe_eudebug_online@single-step-one.html

  * igt@xe_evict_ccs@evict-overcommit-standalone-instantfree-reopen:
    - shard-lnl:          NOTRUN -> [SKIP][120] ([Intel XE#688])
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@xe_evict_ccs@evict-overcommit-standalone-instantfree-reopen.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate-race:
    - shard-bmg:          NOTRUN -> [SKIP][121] ([Intel XE#2322]) +3 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate-race.html

  * igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race:
    - shard-dg2-set2:     NOTRUN -> [SKIP][122] ([Intel XE#1392]) +1 other test skip
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race.html
    - shard-lnl:          NOTRUN -> [SKIP][123] ([Intel XE#1392]) +5 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race.html

  * igt@xe_exec_basic@multigpu-once-basic-defer-mmap:
    - shard-dg2-set2:     [PASS][124] -> [SKIP][125] ([Intel XE#1392]) +6 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-433/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-463/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html

  * igt@xe_exec_fault_mode@twice-userptr-rebind-imm:
    - shard-dg2-set2:     NOTRUN -> [SKIP][126] ([Intel XE#288]) +8 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-433/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html

  * igt@xe_exec_system_allocator@threads-many-large-execqueues-mmap-remap-ro-eocheck:
    - shard-dg2-set2:     NOTRUN -> [SKIP][127] ([Intel XE#4915]) +83 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-463/igt@xe_exec_system_allocator@threads-many-large-execqueues-mmap-remap-ro-eocheck.html

  * igt@xe_exec_system_allocator@twice-mmap-new-huge-nomemset:
    - shard-lnl:          NOTRUN -> [SKIP][128] ([Intel XE#4943]) +6 other tests skip
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@xe_exec_system_allocator@twice-mmap-new-huge-nomemset.html
    - shard-bmg:          NOTRUN -> [SKIP][129] ([Intel XE#4943]) +2 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-3/igt@xe_exec_system_allocator@twice-mmap-new-huge-nomemset.html

  * igt@xe_gt_freq@freq_suspend:
    - shard-lnl:          NOTRUN -> [SKIP][130] ([Intel XE#584])
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@xe_gt_freq@freq_suspend.html

  * igt@xe_mmap@small-bar:
    - shard-bmg:          NOTRUN -> [SKIP][131] ([Intel XE#586])
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@xe_mmap@small-bar.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][132] ([Intel XE#512])
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-434/igt@xe_mmap@small-bar.html
    - shard-lnl:          NOTRUN -> [SKIP][133] ([Intel XE#512])
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@xe_mmap@small-bar.html

  * igt@xe_oa@invalid-oa-format-id:
    - shard-dg2-set2:     NOTRUN -> [SKIP][134] ([Intel XE#2541] / [Intel XE#3573])
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@xe_oa@invalid-oa-format-id.html

  * igt@xe_oa@mmio-triggered-reports-read:
    - shard-dg2-set2:     NOTRUN -> [SKIP][135] ([Intel XE#5103])
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@xe_oa@mmio-triggered-reports-read.html

  * igt@xe_oa@syncs-ufence-wait:
    - shard-dg2-set2:     NOTRUN -> [SKIP][136] ([Intel XE#2541] / [Intel XE#3573] / [Intel XE#4501])
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@xe_oa@syncs-ufence-wait.html

  * igt@xe_pat@display-vs-wb-transient:
    - shard-dg2-set2:     NOTRUN -> [SKIP][137] ([Intel XE#1337])
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-436/igt@xe_pat@display-vs-wb-transient.html

  * igt@xe_peer2peer@read:
    - shard-lnl:          NOTRUN -> [SKIP][138] ([Intel XE#1061])
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@xe_peer2peer@read.html

  * igt@xe_pmu@fn-engine-activity-load:
    - shard-lnl:          NOTRUN -> [SKIP][139] ([Intel XE#4650])
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@xe_pmu@fn-engine-activity-load.html

  * igt@xe_query@multigpu-query-oa-units:
    - shard-dg2-set2:     NOTRUN -> [SKIP][140] ([Intel XE#944]) +1 other test skip
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-464/igt@xe_query@multigpu-query-oa-units.html

  * igt@xe_query@multigpu-query-topology-l3-bank-mask:
    - shard-lnl:          NOTRUN -> [SKIP][141] ([Intel XE#944]) +2 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@xe_query@multigpu-query-topology-l3-bank-mask.html
    - shard-bmg:          NOTRUN -> [SKIP][142] ([Intel XE#944]) +1 other test skip
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-3/igt@xe_query@multigpu-query-topology-l3-bank-mask.html

  * igt@xe_render_copy@render-stress-1-copies:
    - shard-dg2-set2:     NOTRUN -> [SKIP][143] ([Intel XE#4814])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-466/igt@xe_render_copy@render-stress-1-copies.html

  
#### Possible fixes ####

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [INCOMPLETE][144] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124]) -> [PASS][145]
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-bmg:          [SKIP][146] ([Intel XE#2291]) -> [PASS][147] +4 other tests pass
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-bmg:          [SKIP][148] ([Intel XE#2316]) -> [PASS][149] +6 other tests pass
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-5/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-8/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [FAIL][150] ([Intel XE#301]) -> [PASS][151] +1 other test pass
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_hdr@static-toggle:
    - shard-bmg:          [SKIP][152] ([Intel XE#1503]) -> [PASS][153]
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-6/igt@kms_hdr@static-toggle.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_hdr@static-toggle.html

  * igt@kms_plane_multiple@2x-tiling-x:
    - shard-bmg:          [SKIP][154] ([Intel XE#4596]) -> [PASS][155] +1 other test pass
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-x.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-x.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-lnl:          [SKIP][156] ([Intel XE#4692]) -> [PASS][157]
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-1/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-bmg:          [SKIP][158] ([Intel XE#1435]) -> [PASS][159]
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc.html
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-4/igt@kms_setmode@invalid-clone-single-crtc.html

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

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue:
    - shard-dg2-set2:     [INCOMPLETE][162] -> [PASS][163]
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-463/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue.html
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-436/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue.html

  * igt@xe_exec_basic@multigpu-no-exec-bindexecqueue:
    - shard-dg2-set2:     [SKIP][164] ([Intel XE#1392]) -> [PASS][165] +6 other tests pass
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue.html
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-433/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue.html

  
#### Warnings ####

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][166] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124] / [Intel XE#4345]) -> [INCOMPLETE][167] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-bmg:          [SKIP][168] ([Intel XE#2341]) -> [FAIL][169] ([Intel XE#1178])
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-6/igt@kms_content_protection@atomic-dpms.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_flip@2x-wf_vblank-ts-check:
    - shard-bmg:          [FAIL][170] ([Intel XE#5338]) -> [SKIP][171] ([Intel XE#2316])
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-8/igt@kms_flip@2x-wf_vblank-ts-check.html
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_flip@2x-wf_vblank-ts-check.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          [SKIP][172] ([Intel XE#2311]) -> [SKIP][173] ([Intel XE#2312]) +14 other tests skip
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][174] ([Intel XE#2312]) -> [SKIP][175] ([Intel XE#2311]) +15 other tests skip
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][176] ([Intel XE#2312]) -> [SKIP][177] ([Intel XE#4141]) +5 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][178] ([Intel XE#4141]) -> [SKIP][179] ([Intel XE#2312]) +10 other tests skip
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-bmg:          [SKIP][180] ([Intel XE#2313]) -> [SKIP][181] ([Intel XE#2312]) +11 other tests skip
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt:
    - shard-bmg:          [SKIP][182] ([Intel XE#2312]) -> [SKIP][183] ([Intel XE#2313]) +12 other tests skip
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][184] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][185] ([Intel XE#3544])
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-bmg-3/igt@kms_hdr@brightness-with-hdr.html
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-bmg-5/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-lnl:          [SKIP][186] ([Intel XE#1489]) -> [SKIP][187] ([Intel XE#2893])
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-4/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-fully-sf.html
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@xe_module_load@load:
    - shard-lnl:          ([PASS][188], [PASS][189], [SKIP][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [DMESG-WARN][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205], [PASS][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [PASS][211], [PASS][212], [PASS][213]) ([Intel XE#378]) -> ([PASS][214], [PASS][215], [PASS][216], [PASS][217], [PASS][218], [PASS][219], [PASS][220], [PASS][221], [PASS][222], [PASS][223], [PASS][224], [PASS][225], [SKIP][226], [PASS][227], [PASS][228], [PASS][229], [PASS][230], [PASS][231], [PASS][232], [PASS][233], [PASS][234], [PASS][235], [PASS][236], [PASS][237], [PASS][238], [PASS][239]) ([Intel XE#378])
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-1/igt@xe_module_load@load.html
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-5/igt@xe_module_load@load.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-1/igt@xe_module_load@load.html
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-5/igt@xe_module_load@load.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-2/igt@xe_module_load@load.html
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-7/igt@xe_module_load@load.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-4/igt@xe_module_load@load.html
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-6/igt@xe_module_load@load.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-5/igt@xe_module_load@load.html
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-2/igt@xe_module_load@load.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-1/igt@xe_module_load@load.html
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-6/igt@xe_module_load@load.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-7/igt@xe_module_load@load.html
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-7/igt@xe_module_load@load.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-1/igt@xe_module_load@load.html
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-3/igt@xe_module_load@load.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-6/igt@xe_module_load@load.html
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-7/igt@xe_module_load@load.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-6/igt@xe_module_load@load.html
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-4/igt@xe_module_load@load.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-6/igt@xe_module_load@load.html
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-4/igt@xe_module_load@load.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-4/igt@xe_module_load@load.html
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-3/igt@xe_module_load@load.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-3/igt@xe_module_load@load.html
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-lnl-2/igt@xe_module_load@load.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-3/igt@xe_module_load@load.html
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-5/igt@xe_module_load@load.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@xe_module_load@load.html
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-5/igt@xe_module_load@load.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@xe_module_load@load.html
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@xe_module_load@load.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@xe_module_load@load.html
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@xe_module_load@load.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@xe_module_load@load.html
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@xe_module_load@load.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-4/igt@xe_module_load@load.html
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-5/igt@xe_module_load@load.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@xe_module_load@load.html
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-3/igt@xe_module_load@load.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-3/igt@xe_module_load@load.html
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@xe_module_load@load.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@xe_module_load@load.html
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@xe_module_load@load.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@xe_module_load@load.html
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@xe_module_load@load.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@xe_module_load@load.html
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@xe_module_load@load.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-7/igt@xe_module_load@load.html
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-6/igt@xe_module_load@load.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-2/igt@xe_module_load@load.html
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-lnl-1/igt@xe_module_load@load.html

  * igt@xe_peer2peer@read:
    - shard-dg2-set2:     [FAIL][240] ([Intel XE#1173]) -> [SKIP][241] ([Intel XE#1061])
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8438/shard-dg2-463/igt@xe_peer2peer@read.html
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13403/shard-dg2-432/igt@xe_peer2peer@read.html

  
  [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1337]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1337
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1469
  [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#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1504
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#2029]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2029
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [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#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [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#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2883]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2883
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
  [Intel XE#3279]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3279
  [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
  [Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
  [Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4356
  [Intel XE#4416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4416
  [Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
  [Intel XE#4501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4501
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4692]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4692
  [Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5103]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5103
  [Intel XE#512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/512
  [Intel XE#5338]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5338
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/586
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
  [Intel XE#664]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/664
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/911
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * IGT: IGT_8438 -> IGTPW_13403
  * Linux: xe-3343-310881baa8e5c97ebd7cc0c6eb01ab6672d8cf43 -> xe-3344-05fd9cf9ba87dcf4428adbca5237845f2c04d8ac

  IGTPW_13403: fc63fbdb1f0c5cdd7089eda56bd376af054a3376 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8438: 8438
  xe-3343-310881baa8e5c97ebd7cc0c6eb01ab6672d8cf43: 310881baa8e5c97ebd7cc0c6eb01ab6672d8cf43
  xe-3344-05fd9cf9ba87dcf4428adbca5237845f2c04d8ac: 05fd9cf9ba87dcf4428adbca5237845f2c04d8ac

== Logs ==

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

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

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

* Re: [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs
  2025-07-04  9:06     ` Peter Senna Tschudin
@ 2025-07-07 14:43       ` Rodrigo Vivi
  0 siblings, 0 replies; 33+ messages in thread
From: Rodrigo Vivi @ 2025-07-07 14:43 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: igt-dev, michal.wajdeczko, marcin.bernatowicz, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski, ewelina.musial

On Fri, Jul 04, 2025 at 11:06:15AM +0200, Peter Senna Tschudin wrote:
> 
> 
> On 7/3/2025 10:36 PM, Rodrigo Vivi wrote:
> > On Mon, Jun 16, 2025 at 09:42:37AM +0200, Peter Senna Tschudin wrote:
> >> xe_debugfs is a test specific to Xe GPUs. It is intended to complement
> >> the existing generic debugfs tests core_debugfs and
> >> core_debugfs_display_on_off.
> >>
> >> Additionally, this test has been updated to use the igt_dir
> >> infrastructure, resulting in simpler code.
> >>
> >> Cc: michal.wajdeczko@intel.com
> >> Cc: marcin.bernatowicz@intel.com
> >> Cc: kamil.konieczny@linux.intel.com
> >> Cc: katarzyna.piecielska@intel.com
> >> Cc: zbigniew.kempczynski@intel.com
> >> Cc: ewelina.musial@intel.com
> >> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
> >> ---
> >> v3:
> >>  - unchanged from v2
> >> v2:
> >>  - changed style of comparison to NULL
> >>
> >>  tests/intel-ci/xe-fast-feedback.testlist |   2 +
> >>  tests/intel/xe_debugfs.c                 | 208 +++++++++++++++++++++++
> >>  tests/meson.build                        |   1 +
> >>  3 files changed, 211 insertions(+)
> >>  create mode 100644 tests/intel/xe_debugfs.c
> >>
> >> diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
> >> index a5f799f6b..c52f08953 100644
> >> --- a/tests/intel-ci/xe-fast-feedback.testlist
> >> +++ b/tests/intel-ci/xe-fast-feedback.testlist
> >> @@ -78,6 +78,8 @@ igt@xe_create@create-execqueues-noleak
> >>  igt@xe_create@create-execqueues-leak
> >>  igt@xe_create@create-invalid-mbz
> >>  igt@xe_create@create-massive-size
> >> +igt@xe_debugfs@xe-base
> >> +igt@xe_debugfs@xe-forcewake
> >>  igt@xe_dma_buf_sync@export-dma-buf-once-write-sync
> >>  igt@xe_dma_buf_sync@export-dma-buf-once-read-sync
> >>  igt@xe_dma_buf_sync@export-dma-buf-once-read-write-sync
> >> diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
> >> new file mode 100644
> >> index 000000000..66a5fa0f6
> >> --- /dev/null
> >> +++ b/tests/intel/xe_debugfs.c
> >> @@ -0,0 +1,208 @@
> >> +// SPDX-License-Identifier: MIT
> >> +/*
> >> + * Copyright © 2025 Intel Corporation
> >> + */
> >> +
> >> +#include <dirent.h>
> >> +#include <fcntl.h>
> >> +
> >> +#include "igt.h"
> >> +#include "igt_debugfs.h"
> >> +#include "igt_dir.h"
> >> +#include "igt_sysfs.h"
> >> +#include "xe/xe_query.h"
> >> +
> >> +
> >> +struct {
> >> +	bool warn_on_not_hit;
> >> +} opt = { 0 };
> >> +
> >> +/**
> >> + * TEST: Xe debugfs test
> >> + * Description: Xe-specific debugfs tests. These are complementary to the
> >> + * core_debugfs and core_debugfs_display_on_off tests.
> >> + *
> >> + * Category: Core
> >> + * Mega feature: General Core features
> >> + * Sub-category: uapi
> >> + * Functionality: debugfs
> >> + * Feature: core
> >> + * Test category: uapi
> >> + *
> >> + */
> >> +
> >> +IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
> >> +
> >> +static int xe_validate_entries(igt_dir_t *igt_dir,
> >> +			       const char * const str_val[], int str_cnt)
> >> +{
> >> +	igt_dir_file_list_t *file_list_entry;
> >> +
> >> +	if (!igt_dir)
> >> +		return -1;
> >> +
> >> +	igt_dir_scan_dirfd(igt_dir, -1);
> >> +
> >> +	for (int i = 0; i < str_cnt; i++) {
> >> +		int hit = 0;
> >> +
> >> +		igt_list_for_each_entry(file_list_entry,
> >> +					&igt_dir->file_list_head, link) {
> >> +			if (strcmp(file_list_entry->relative_path,
> >> +				   str_val[i]) == 0) {
> >> +				hit = 1;
> >> +				break;
> >> +			}
> >> +		}
> >> +
> >> +		if (!hit && opt.warn_on_not_hit)
> >> +			igt_warn("no test for: %s\n", str_val[i]);
> >> +	}
> >> +
> >> +	return 0;
> >> +}
> >> +
> >> +/**
> >> + * SUBTEST: xe-base
> >> + * Description: Check if various debugfs devnodes exist and test reading them
> >> + */
> >> +static void
> >> +xe_test_base(int fd, struct drm_xe_query_config *config, igt_dir_t *igt_dir)
> >> +{
> >> +	uint16_t devid = intel_get_drm_devid(fd);
> >> +	static const char * const expected_files[] = {
> >> +		"gt0",
> >> +		"gt1",
> >> +		"stolen_mm",
> >> +		"gtt_mm",
> >> +		"vram0_mm",
> >> +		"forcewake_all",
> >> +		"info",
> >> +		"gem_names",
> >> +		"clients",
> >> +		"name"
> >> +	};
> >> +	char reference[4096];
> >> +	int val = 0;
> >> +
> >> +	igt_assert(config);
> >> +	sprintf(reference, "devid 0x%llx",
> >> +			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
> >> +	igt_assert(igt_debugfs_search(fd, "info", reference));
> >> +
> >> +	sprintf(reference, "revid %lld",
> >> +			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
> >> +	igt_assert(igt_debugfs_search(fd, "info", reference));
> >> +
> >> +	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
> >> +		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
> >> +
> >> +	igt_assert(igt_debugfs_search(fd, "info", reference));
> >> +
> >> +	if (intel_gen(devid) < 20) {
> >> +		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
> >> +		case 48:
> >> +			val = 3;
> >> +			break;
> >> +		case 57:
> >> +			val = 4;
> >> +			break;
> >> +		}
> >> +
> >> +		sprintf(reference, "vm_max_level %d", val);
> >> +		igt_assert(igt_debugfs_search(fd, "info", reference));
> >> +	}
> >> +
> >> +	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
> >> +	igt_assert(igt_debugfs_search(fd, "info", reference));
> >> +
> >> +	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
> >> +
> >> +	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
> >> +	igt_debugfs_dump(fd, "gtt_mm");
> >> +
> >> +	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
> >> +		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
> >> +		igt_debugfs_dump(fd, "vram0_mm");
> >> +	}
> >> +
> >> +	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
> >> +		igt_debugfs_dump(fd, "stolen_mm");
> >> +
> >> +	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
> >> +	igt_debugfs_dump(fd, "clients");
> >> +
> >> +	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
> >> +	igt_debugfs_dump(fd, "gem_names");
> >> +
> >> +	xe_validate_entries(igt_dir, expected_files,
> >> +			    ARRAY_SIZE(expected_files));
> >> +}
> >> +
> >> +/**
> >> + * SUBTEST: xe-forcewake
> >> + * Description: Check forcewake debugfs devnode
> >> + */
> >> +static void
> >> +xe_test_forcewake(int fd)
> >> +{
> >> +	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
> > 
> > What I don't see here is how do we avoid the forcewake_all to be read
> > in the other test? Or that doesn't matter there?
> 
> There is a recent kernel change that I forgot about. Now the kernel
> requires opening the files for write to trigger a GPU reset.
> 
> The core_ tests only attempt to open files for reading using O_RDONLY.
> This should no longer trigger resets in the GPU. So I guess that from
> the Xe perspective, we are actually good to go trying to open all files
> for reading.

Okay then, let's go like this

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> 
> > 
> >> +
> >> +	igt_assert_neq(handle, -1);
> >> +	close(handle);
> >> +}
> >> +
> >> +const char *help_str =
> >> +	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
> >> +
> >> +struct option long_options[] = {
> >> +	{ "--warn-not-hit", no_argument, NULL, 'w'},
> >> +	{ 0, 0, 0, 0 }
> >> +};
> >> +
> >> +static int opt_handler(int option, int option_index, void *input)
> >> +{
> >> +	switch (option) {
> >> +	case 'w':
> >> +		opt.warn_on_not_hit = true;
> > 
> > what about make this the default?
> > 
> >> +		break;
> >> +	default:
> >> +		return IGT_OPT_HANDLER_ERROR;
> >> +	}
> >> +
> >> +	return IGT_OPT_HANDLER_SUCCESS;
> >> +}
> >> +
> >> +igt_main_args("", long_options, help_str, opt_handler, NULL)
> >> +{
> >> +	int debugfs = -1;
> >> +	int fd = -1;
> >> +	igt_dir_t *igt_dir = NULL;
> >> +
> >> +	igt_fixture {
> >> +		fd = drm_open_driver_master(DRIVER_XE);
> >> +		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
> >> +		debugfs = igt_debugfs_dir(fd);
> >> +
> >> +		igt_dir = igt_dir_create(debugfs);
> >> +		igt_require(igt_dir);
> >> +
> >> +		kmstest_set_vt_graphics_mode();
> >> +	}
> >> +
> >> +	igt_describe("Check if various debugfs devnodes exist and test reading them.");
> >> +	igt_subtest("xe-base") {
> >> +		xe_test_base(fd, xe_config(fd), igt_dir);
> >> +	}
> >> +
> >> +	igt_describe("Check forcewake debugfs devnode");
> >> +	igt_subtest("xe-forcewake") {
> >> +		xe_test_forcewake(fd);
> >> +	}
> >> +
> >> +	igt_fixture {
> >> +		igt_dir_destroy(igt_dir);
> >> +		close(debugfs);
> >> +		drm_close_driver(fd);
> >> +	}
> >> +}
> >> diff --git a/tests/meson.build b/tests/meson.build
> >> index a06172d2e..847598255 100644
> >> --- a/tests/meson.build
> >> +++ b/tests/meson.build
> >> @@ -283,6 +283,7 @@ intel_xe_progs = [
> >>  	'xe_compute_preempt',
> >>  	'xe_copy_basic',
> >>  	'xe_configfs',
> >> +	'xe_debugfs',
> >>  	'xe_dma_buf_sync',
> >>  	'xe_drm_fdinfo',
> >>  	'xe_eu_stall',
> >> -- 
> >> 2.43.0
> >>
> 

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

* [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs
  2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (12 preceding siblings ...)
  2025-07-05 14:40 ` ✓ Xe.CI.Full: success " Patchwork
@ 2025-07-07 21:03 ` Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
                     ` (5 more replies)
  13 siblings, 6 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-07 21:03 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	michal.wajdeczko, karthik.b.s, ewelina.musial

This series:
 - moves shared function to lib/igt_dir
 - creates gpu agnostic tests
   - core_debugfs
   - core_sysfs
   - kms_debugfs
 - creates xe_debugfs (complementary to core_debugfs and kms_debugfs)
 - Updates testlists and scripts
 - deletes tests/intel_sysfs_debugfs

Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: michal.wajdeczko@intel.com
Cc: karthik.b.s@intel.com
Cc: ewelina.musial@intel.com

Peter Senna Tschudin (6):
  lib/igt_dir: Directory processing and flexible file handling
  tests: Add core_debugfs
  tests: Add kms_debugfs
  tests: Add core_sysfs
  tests: Add xe_debugfs
  tests/intel: Remove intel_sysfs_debugfs

 docs/code_coverage.md                    |  18 +-
 lib/igt_dir.c                            | 260 ++++++++++++++
 lib/igt_dir.h                            |  61 ++++
 lib/meson.build                          |   1 +
 scripts/code_cov_selftest.sh             |   2 +-
 tests/core_debugfs.c                     |  54 +++
 tests/core_sysfs.c                       |  58 +++
 tests/intel-ci/fast-feedback.testlist    |   4 +-
 tests/intel-ci/xe-fast-feedback.testlist |   8 +-
 tests/intel/intel_sysfs_debugfs.c        | 430 -----------------------
 tests/intel/xe_debugfs.c                 | 208 +++++++++++
 tests/intel/xe_test_config.json          |   2 +-
 tests/kms_debugfs.c                      | 157 +++++++++
 tests/meson.build                        |   5 +-
 14 files changed, 820 insertions(+), 448 deletions(-)
 create mode 100644 lib/igt_dir.c
 create mode 100644 lib/igt_dir.h
 create mode 100644 tests/core_debugfs.c
 create mode 100644 tests/core_sysfs.c
 delete mode 100644 tests/intel/intel_sysfs_debugfs.c
 create mode 100644 tests/intel/xe_debugfs.c
 create mode 100644 tests/kms_debugfs.c

-- 
2.43.0


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

* [PATCH v4 i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling
  2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
@ 2025-07-07 21:03   ` Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 2/6] tests: Add core_debugfs Peter Senna Tschudin
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-07 21:03 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	michal.wajdeczko, karthik.b.s, Jan Sokolowski

This update introduces new utilities to facilitate reading and
processing files within a directory, giving test writers greater control
over file selection and processing.

For example, to read and discard all files from debugfs:

  fd = drm_open_driver_master(DRIVER_ANY);
  debugfs = igt_debugfs_dir(fd);

  igt_dir = igt_dir_create(debugfs);
  igt_dir_scan_dirfd(igt_dir, -1); // -1 means unlimited scan depth
  igt_dir_process_files(igt_dir, NULL, NULL);

The igt_dir_scan_dirfd() function builds a linked list of files (using
igt_list), making it easy to add or remove specific files before
processing. If you only want to process a predetermined set of files,
you can skip the scan step and add the files directly to the list.

The last two parameters of igt_dir_process_files() specify a callback
function and user data. If the callback is NULL, a default “read and
discard” function is used.

Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: michal.wajdeczko@intel.com
Cc: karthik.b.s@intel.com
Reviewed-by: Jan Sokolowski <jan.sokolowski@intel.com>
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v4
 - unchanged from v3
v3:
 - unchanged from v2
v2:
 - changed style of comparison to NULL

 lib/igt_dir.c   | 260 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_dir.h   |  61 ++++++++++++
 lib/meson.build |   1 +
 3 files changed, 322 insertions(+)
 create mode 100644 lib/igt_dir.c
 create mode 100644 lib/igt_dir.h

diff --git a/lib/igt_dir.c b/lib/igt_dir.c
new file mode 100644
index 000000000..8f5a25e35
--- /dev/null
+++ b/lib/igt_dir.c
@@ -0,0 +1,260 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "igt.h"
+#include "lib/igt_dir.h"
+
+/**
+ * igt_dir_get_fd_path: Get the path of a file descriptor
+ * @fd: file descriptor to get the path for
+ * @path: buffer to store the path
+ * @path_len: length of the buffer
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+int igt_dir_get_fd_path(int fd, char *path, size_t path_len)
+{
+	ssize_t len;
+	char proc_path[64];
+
+	snprintf(proc_path, sizeof(proc_path), "/proc/self/fd/%d", fd);
+	len = readlink(proc_path, path, path_len - 1);
+	if (len == -1)
+		return -1;
+
+	path[path_len] = '\0';
+	return 0;
+}
+
+/**
+ * igt_dir_callback_read_discard: Default callback function for reading and
+ *				  discarding file contents
+ * @filename: Path to the file
+ * @callback_data: Optional pointer to user-defined data passed to the callback
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+int igt_dir_callback_read_discard(const char *filename,
+				  void *callback_data)
+{
+	int fd;
+	char buf[4096];
+	ssize_t bytes_read;
+
+	fd = open(filename, O_RDONLY);
+	if (fd < 0) {
+		igt_debug("Failed to open file %s\n", filename);
+		return -1;
+	}
+	bytes_read = read(fd, buf, sizeof(buf) - 1);
+	if (bytes_read < 0) {
+		igt_debug("Failed to read file %s\n", filename);
+		close(fd);
+		return -1;
+	}
+	buf[bytes_read] = '\0';
+	igt_debug("Read %zd bytes from file %s: %s\n", bytes_read,
+		  filename, buf);
+	close(fd);
+	return 0;
+}
+
+/**
+ * igt_dir_create: Create a new igt_dir_t struct
+ * @dirfd: file descriptor of the root directory
+ *
+ * Returns: Pointer to the new igt_dir_t struct, or NULL on failure
+ */
+igt_dir_t *igt_dir_create(int dirfd)
+{
+	igt_dir_t *config;
+	size_t path_len = 512;
+	char path[path_len];
+
+	config = malloc(sizeof(igt_dir_t));
+	if (!config)
+		return NULL;
+
+	config->dirfd = dirfd;
+
+	igt_dir_get_fd_path(dirfd, path, path_len);
+	igt_require(path[0] != '\0');
+
+	config->root_path = malloc(path_len);
+	if (!config->root_path) {
+		free(config);
+		return NULL;
+	}
+
+	strncpy(config->root_path, path, path_len);
+
+	IGT_INIT_LIST_HEAD(&config->file_list_head);
+
+	config->callback = NULL;
+
+	return config;
+}
+
+static int _igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth,
+			       int depth, const char *current_path)
+{
+	struct dirent *entry;
+	igt_dir_file_list_t *file_list_entry;
+	DIR *dirp;
+	int dirfd;
+	int ret = 0;
+
+	if (depth > scan_maxdepth && scan_maxdepth != -1)
+		return 0;
+
+	if (!current_path) {
+		igt_debug("Invalid current path\n");
+		return -1;
+	}
+
+	dirfd = open(current_path, O_RDONLY | O_DIRECTORY);
+	if (dirfd < 0) {
+		igt_debug("Failed to open directory %s\n", current_path);
+		return -1;
+	}
+
+	dirp = fdopendir(dirfd);
+	if (!dirp) {
+		igt_debug("Failed to fdopendir %s\n", current_path);
+		close(dirfd);
+		return -1;
+	}
+
+	while ((entry = readdir(dirp))) {
+		char entry_path[PATH_MAX];
+
+		if (strcmp(entry->d_name, ".") == 0 ||
+		    strcmp(entry->d_name, "..") == 0)
+			continue;
+
+		snprintf(entry_path, sizeof(entry_path),
+			 "%s/%s", current_path, entry->d_name);
+
+		if (entry->d_type == DT_DIR) {
+			ret = _igt_dir_scan_dirfd(config, scan_maxdepth,
+						  depth + 1, entry_path);
+			if (ret)
+				break;
+		} else {
+			/* Compute path relative to the scan root */
+			const char *relative_path = entry_path +
+						    strlen(config->root_path);
+			if (*relative_path == '/')
+				relative_path++; /* skip leading slash */
+
+			file_list_entry = malloc(sizeof(igt_dir_file_list_t));
+			if (!file_list_entry) {
+				igt_debug("Failed to allocate memory for file list entry\n");
+				continue;
+			}
+			file_list_entry->relative_path = strdup(relative_path);
+			file_list_entry->match = true;
+			igt_list_add(&file_list_entry->link,
+				     &config->file_list_head);
+		}
+	}
+
+	closedir(dirp);
+	close(dirfd);
+	return ret;
+}
+
+/**
+ * igt_dir_scan_dirfd: Perform a directory scan based on config.
+ * @config: Pointer to the igt_dir struct
+ * @scan_maxdepth: Maximum depth to scan the directory. -1 means no limit
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+int igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth)
+{
+	igt_require(config);
+	igt_require(config->root_path);
+	igt_require(config->dirfd >= 0);
+	igt_require(scan_maxdepth >= -1);
+	igt_require(scan_maxdepth != 0);
+
+	/* If the linked list is not empty, clean it first */
+	if (!igt_list_empty(&config->file_list_head)) {
+		igt_dir_file_list_t *file_list_entry, *tmp;
+
+		igt_list_for_each_entry_safe(file_list_entry, tmp,
+					     &config->file_list_head, link) {
+			free(file_list_entry->relative_path);
+			free(file_list_entry);
+		}
+	}
+
+	return _igt_dir_scan_dirfd(config, scan_maxdepth, 0, config->root_path);
+}
+
+/**
+ * igt_dir_process_files: Process files in the directory
+ * @config: Pointer to the igt_dir struct
+ * @callback: Callback function to process each file
+ * @callback_data: Optional pointer to user-defined data passed to the callback
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+int igt_dir_process_files(igt_dir_t *config,
+			 igt_dir_file_callback callback,
+			 void *callback_data)
+{
+	igt_dir_file_list_t *file_list_entry;
+	int ret = 0;
+
+	igt_require(config);
+	igt_require(config->root_path);
+	igt_require(config->dirfd >= 0);
+
+	if (!callback)
+		callback = igt_dir_callback_read_discard;
+
+	igt_list_for_each_entry(file_list_entry, &config->file_list_head, link) {
+		/* Only if match is true */
+		if (file_list_entry->match) {
+			char full_path[PATH_MAX];
+
+			snprintf(full_path, sizeof(full_path),
+				 "%s/%s", config->root_path,
+				 file_list_entry->relative_path);
+			ret = callback(full_path, callback_data);
+			if (ret)
+				break;
+		}
+	}
+
+	return ret;
+}
+
+/**
+ * igt_dir_destroy: Destroy the igt_dir struct
+ * @config: Pointer to the igt_dir struct
+ *
+ * Returns: 0 on success, a negative error code on failure
+ */
+void igt_dir_destroy(igt_dir_t *config)
+{
+	igt_dir_file_list_t *file_list_entry, *tmp;
+
+	igt_require(config);
+
+	igt_list_for_each_entry_safe(file_list_entry, tmp,
+				 &config->file_list_head, link) {
+		free(file_list_entry->relative_path);
+		free(file_list_entry);
+	}
+
+	free(config->root_path);
+	free(config);
+}
diff --git a/lib/igt_dir.h b/lib/igt_dir.h
new file mode 100644
index 000000000..fb9230862
--- /dev/null
+++ b/lib/igt_dir.h
@@ -0,0 +1,61 @@
+/* SPDX-License-Identifier: MIT
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef IGT_DIR_H
+#define IGT_DIR_H
+
+#include "igt_list.h"
+
+/**
+ * Callback function type for processing files
+ * The callback is blocking, meaning traversal waits for it to return
+ * before proceeding to the next file
+ * @filename: Path to the file
+ * @callback_data: Optional pointer to user-defined data passed to the callback
+ *
+ * Returns:
+ * 0 on success, a negative error code on failure.
+ */
+typedef int (*igt_dir_file_callback)(const char *filename,
+				     void *callback_data);
+
+/**
+ * igt_dir_file_list_t: List of files with a relative path
+ * @relative_path: path to a file, relative to the root directory
+ * @match: a boolean used to filter the list of files. When match=true the
+ *	   file is processed, otherwise it is skipped
+ * @link: list head for linking files in the list
+ */
+typedef struct {
+	char *relative_path;
+	bool match;
+	struct igt_list_head link;
+} igt_dir_file_list_t;
+
+/**
+ * igt_dir_t: Main struct for igt_dir
+ * @dirfd: file descriptor of the root directory
+ * @root_path: string of the root path, for example:
+ *	       /sys/kernel/debug/dri/0000:00:02.0/
+ * @file_list_head: head of the list of files
+ * @callback: Callback function for file operations. If NULL, defaults
+ *	      to reading and discarding file contents
+ */
+typedef struct {
+	int dirfd;
+	char *root_path;
+	struct igt_list_head file_list_head;
+	igt_dir_file_callback callback;
+} igt_dir_t;
+
+int igt_dir_get_fd_path(int fd, char *path, size_t path_len);
+int igt_dir_callback_read_discard(const char *filename,
+				  void *callback_data);
+igt_dir_t *igt_dir_create(int dirfd);
+int igt_dir_scan_dirfd(igt_dir_t *config, int scan_maxdepth);
+int igt_dir_process_files(igt_dir_t *config,
+			  igt_dir_file_callback callback,
+			  void *callback_data);
+void igt_dir_destroy(igt_dir_t *config);
+#endif /* IGT_DIR_H */
diff --git a/lib/meson.build b/lib/meson.build
index 1fed74565..7b3674c98 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -92,6 +92,7 @@ lib_sources = [
 	'igt_kms.c',
 	'igt_fb.c',
 	'igt_core.c',
+	'igt_dir.c',
 	'igt_draw.c',
 	'igt_list.c',
 	'igt_map.c',
-- 
2.43.0


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

* [PATCH v4 i-g-t 2/6] tests: Add core_debugfs
  2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
@ 2025-07-07 21:03   ` Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 3/6] tests: Add kms_debugfs Peter Senna Tschudin
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-07 21:03 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	michal.wajdeczko, karthik.b.s

Introduce core_debugfs that is expected to work with any GPU, not
limited to i915 and Xe. The test attempts to open every file in debugfs
associated with the GPU.

Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: michal.wajdeczko@intel.com
Cc: karthik.b.s@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v4
 - unchanged from v3
v3:
 - removed "debugfs" from subtest name (Thanks Michal Wajdeczko)
v2:
 - changed style of comparison to NULL

 docs/code_coverage.md                    | 18 ++++----
 scripts/code_cov_selftest.sh             |  2 +-
 tests/core_debugfs.c                     | 54 ++++++++++++++++++++++++
 tests/intel-ci/fast-feedback.testlist    |  1 +
 tests/intel-ci/xe-fast-feedback.testlist |  1 +
 tests/meson.build                        |  1 +
 6 files changed, 67 insertions(+), 10 deletions(-)
 create mode 100644 tests/core_debugfs.c

diff --git a/docs/code_coverage.md b/docs/code_coverage.md
index 031611e69..8c4857412 100644
--- a/docs/code_coverage.md
+++ b/docs/code_coverage.md
@@ -162,23 +162,23 @@ For each script, the igt_runner passes just one parameter: the results
 directory + the test name.
 
 For instance, if it is needed to run a test called
-`intel_sysfs_debugfs (i915-debugfs-read-all-entries)` using `code_cov_capture`
+`core_debugfs (read-all-entries)` using `code_cov_capture`
 parameter, e. g.:
 
 ```
-$ echo "igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries" > my.testlist
+$ echo "igt@core_debugfs@read-all-entries" > my.testlist
 $ ./scripts/run-tests.sh -T my.testlist -k ~/linux -c code_cov_capture -P
 Found test list: "/basedir/igt/build/tests/test-list.txt"
-[31410.499969] [1/1] intel_sysfs_debugfs (i915-debugfs-read-all-entries)
+[31410.499969] [1/1] core_debugfs (read-all-entries)
 [31411.060446] Storing code coverage results...
-[31418.01]     Code coverage wrote to /basedir/igt/results/code_cov/intel_sysfs_debugfs_i915_debugfs_read_all_entries.info
+[31418.01]     Code coverage wrote to /basedir/igt/results/code_cov/core_debugfs_debugfs_read_all_entries.info
 Done.
 ```
 
 The script will be called as:
 
 ```
-code_cov_capture results/code_cov/intel_sysfs_debugfs_i915_debugfs_read_all_entries
+code_cov_capture results/code_cov/core_debugfs_debugfs_read_all_entries
 ```
 
 Please notice that any character that it is not a number nor a letter at the
@@ -376,7 +376,7 @@ OUT_DIR="${HOME}/results"
 
 mkdir -p $OUT_DIR/html
 
-echo "igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries" > $TESTLIST
+echo "igt@core_debugfs@read-all-entries" > $TESTLIST
 echo "igt@core_auth@basic-auth" >> $TESTLIST
 echo "igt@gem_exec_basic@basic" >> $TESTLIST
 
@@ -401,8 +401,8 @@ genhtml -q -s --legend --branch-coverage $OUT_DIR/results.info
 Running such script produces the following output:
 
 ```
-[3622.993304] [1/3] intel_sysfs_debugfs (i915-debugfs-read-all-entries)
-[3631.95]     Code coverage wrote to results/code_cov/intel_sysfs_debugfs_i915_debugfs_read_all_entries.info
+[3622.993304] [1/3] core_debugfs (read-all-entries)
+[3631.95]     Code coverage wrote to results/code_cov/core_debugfs_debugfs_read_all_entries.info
 [3626.217016] Storing code coverage results...
 [3631.957998] [2/3] core_auth (basic-auth)
 [3638.03]     Code coverage wrote to results/code_cov/core_auth_basic_auth.info
@@ -419,7 +419,7 @@ core_auth_basic_auth.info:
 Ignored......: non-drm headers and source files where none of its code ran.
 Source files.: 23.27% (165 of 709 total), 29.57% (165 of 558 filtered)
 
-intel_sysfs_debugfs_i915_debugfs_read_all_entries.info:
+core_debugfs_debugfs_read_all_entries.info:
   lines......: 19.3% (20266 of 104802 lines)
   functions..: 17.5% (1922 of 10971 functions)
   branches...: 12.7% (9462 of 74555 branches)
diff --git a/scripts/code_cov_selftest.sh b/scripts/code_cov_selftest.sh
index bc5ef7458..6f3a6db55 100755
--- a/scripts/code_cov_selftest.sh
+++ b/scripts/code_cov_selftest.sh
@@ -13,7 +13,7 @@ if [ -z "$IGT_KERNEL_TREE" ] ; then
         exit 1
 fi
 
-TEST="igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries"
+TEST="igt@core_debugfs@read-all-entries"
 
 TESTLIST="my_tests.testlist"
 GATHER="scripts/code_cov_gather_on_test.py"
diff --git a/tests/core_debugfs.c b/tests/core_debugfs.c
new file mode 100644
index 000000000..97fd446c5
--- /dev/null
+++ b/tests/core_debugfs.c
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir.h"
+
+/**
+ * TEST: debugfs test
+ * Description: Read entries from debugfs
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: debugfs
+ * Feature: core
+ * Test category: uapi
+ *
+ * SUBTEST: read-all-entries
+ * Description: Read all entries from debugfs path validating debugfs entries
+ */
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs");
+
+igt_main
+{
+	int debugfs = -1;
+	int fd = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		debugfs = igt_debugfs_dir(fd);
+		igt_require(debugfs >= 0);
+
+		igt_dir = igt_dir_create(debugfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from debugfs path.");
+	igt_subtest("read-all-entries") {
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture {
+		igt_dir_destroy(igt_dir);
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 82395e7ea..3ec1b95cf 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -3,6 +3,7 @@ igt@i915_module_load@load
 
 # Keep alphabetically sorted by default
 igt@core_auth@basic-auth
+igt@core_debugfs@read-all-entries
 igt@fbdev@eof
 igt@fbdev@info
 igt@fbdev@nullptr
diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index d9d180d87..ac3177ae9 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -7,6 +7,7 @@ igt@fbdev@nullptr
 igt@fbdev@read
 igt@fbdev@write
 
+igt@core_debugfs@read-all-entries
 igt@intel_sysfs_debugfs@xe-base
 igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries
 igt@intel_sysfs_debugfs@xe-forcewake
diff --git a/tests/meson.build b/tests/meson.build
index 9b87a0d24..99d7d95be 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,5 +1,6 @@
 test_progs = [
 	'core_auth',
+	'core_debugfs',
 	'core_getclient',
 	'core_getstats',
 	'core_getversion',
-- 
2.43.0


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

* [PATCH v4 i-g-t 3/6] tests: Add kms_debugfs
  2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 2/6] tests: Add core_debugfs Peter Senna Tschudin
@ 2025-07-07 21:03   ` Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 4/6] tests: Add core_sysfs Peter Senna Tschudin
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-07 21:03 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	michal.wajdeczko, karthik.b.s

Introduce kms_debugfs that is expected to work with any GPU, not limited
to i915 and Xe. The test powers off all available displays before
reading debugfs files, and then powers on all displays before reading
the files again.

Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: michal.wajdeczko@intel.com
Cc: karthik.b.s@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v4:
 - change test name to kms_debugfs
 - use the wrapper function igt_fit_modes_in_bw()
 - use igt_display_require_output() to ensure there is at least one display

v3:
 - renamed the test
 - Removed reference to sysfs from comments  (thanks Kamil)
 - Updated description to match the display part (thanks Kamil)
 - Moved from "display" to "heads". Our CI uses "headless" to refer
   to a DUT without display and it is shorter
 - renamed subtests for shorter names (thanks Kamil)
 - fixed comments style (thanks Kamil)
 - updated CC list
 - changed the order to test first with all heads off then with all heads on
   to prevent the need from powering on the heads at the end of the test
   (thanks Kamil)
 - removed snprintf from test names (thanks Kamil)
 - removed subtest group (thanks Kamil)
 - deleted kms_tests() and moved the code to igt_main (thanks Kamil)

v2:
 - changed style of comparison to NULL
 - moved to a separate patch

 tests/kms_debugfs.c | 157 ++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build   |   1 +
 2 files changed, 158 insertions(+)
 create mode 100644 tests/kms_debugfs.c

diff --git a/tests/kms_debugfs.c b/tests/kms_debugfs.c
new file mode 100644
index 000000000..7f94d47c6
--- /dev/null
+++ b/tests/kms_debugfs.c
@@ -0,0 +1,157 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir.h"
+
+/**
+ * TEST: kms debugfs test
+ * Description: Read entries from debugfs with all displays on and with
+ *		all displays off.
+ *
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: debugfs
+ * Feature: core
+ * Test category: uapi
+ *
+ * SUBTEST: display-off-read-all
+ * Description: Read all debugfs entries with display off.
+ *
+ * SUBTEST: display-on-read-all
+ * Description: Read all debugfs entries with display on.
+ */
+
+/**
+ * igt_display_all_on: Try to turn on all displays
+ * @display: pointer to the igt_display structure
+ *
+ * Returns: void
+ */
+static void igt_display_all_on(igt_display_t *display)
+{
+	struct igt_fb fb[IGT_MAX_PIPES];
+	enum pipe pipe;
+	int ret;
+
+	/* try to light all pipes */
+retry:
+	for_each_pipe(display, pipe) {
+		igt_output_t *output;
+
+		for_each_valid_output_on_pipe(display, pipe, output) {
+			igt_plane_t *primary;
+			drmModeModeInfo *mode;
+
+			if (output->pending_pipe != PIPE_NONE)
+				continue;
+
+			igt_output_set_pipe(output, pipe);
+			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+			mode = igt_output_get_mode(output);
+			igt_create_pattern_fb(display->drm_fd,
+						mode->hdisplay, mode->vdisplay,
+						DRM_FORMAT_XRGB8888,
+						DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
+
+			/* Set a valid fb as some debugfs like to
+			 * inspect it on a active pipe
+			 */
+			igt_plane_set_fb(primary, &fb[pipe]);
+			break;
+		}
+	}
+
+	if (display->is_atomic) {
+		bool found = igt_fit_modes_in_bw(display);
+
+		ret = found ? 0 : -1;
+		igt_require_f(found, "No valid mode combo found.\n");
+	} else
+		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
+
+	if (ret) {
+		igt_output_t *output;
+
+		for_each_connected_output(display, output)
+			igt_output_set_pipe(output, PIPE_NONE);
+
+		goto retry;
+	}
+
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+/**
+ * igt_display_all_off: Try to turn off all displays
+ * @display: pointer to the igt_display structure
+ *
+ * Returns: void
+ */
+static void igt_display_all_off(igt_display_t *display)
+{
+	enum pipe pipe;
+	igt_output_t *output;
+	igt_plane_t *plane;
+
+	for_each_connected_output(display, output)
+		igt_output_set_pipe(output, PIPE_NONE);
+
+	for_each_pipe(display, pipe)
+		for_each_plane_on_pipe(display, pipe, plane)
+			igt_plane_set_fb(plane, NULL);
+
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
+
+igt_main
+{
+	int debugfs = -1;
+	igt_display_t *display;
+	int fd = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		debugfs = igt_debugfs_dir(fd);
+		igt_require(debugfs >= 0);
+
+		igt_dir = igt_dir_create(debugfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+
+		display = calloc(1, sizeof(*display));
+		igt_display_require(display, fd);
+
+		/* Make sure we have at least one output connected */
+		igt_display_require_output(display);
+	}
+
+	igt_subtest("display-off-read-all") {
+		igt_display_all_off(display);
+
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_subtest("display-on-read-all") {
+		/* try to light all pipes */
+		igt_display_all_on(display);
+
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture {
+		igt_display_fini(display);
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 99d7d95be..1009bef2e 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -29,6 +29,7 @@ test_progs = [
 	'kms_cursor_crc',
 	'kms_cursor_edge_walk',
 	'kms_cursor_legacy',
+	'kms_debugfs',
 	'kms_dither',
 	'kms_display_modes',
 	'kms_dp_aux_dev',
-- 
2.43.0


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

* [PATCH v4 i-g-t 4/6] tests: Add core_sysfs
  2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                     ` (2 preceding siblings ...)
  2025-07-07 21:03   ` [PATCH v4 i-g-t 3/6] tests: Add kms_debugfs Peter Senna Tschudin
@ 2025-07-07 21:03   ` Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 5/6] tests: Add xe_debugfs Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs Peter Senna Tschudin
  5 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-07 21:03 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	michal.wajdeczko, karthik.b.s

core_sysfs is GPU-agnostic test designed to work with any GPU, not
limited to i915 and Xe. The test scans the sysfs directory associated
with the GPU, reads all files, and discards the content.

Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: michal.wajdeczko@intel.com
Cc: karthik.b.s@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v4:
 - unchanged from v3
v3:
 - removed "sysfs" from the name of subtest (Thanks Michal Wajdeczko)
v2:
 - changed style of comparison to NULL

 tests/core_sysfs.c                       | 58 ++++++++++++++++++++++++
 tests/intel-ci/fast-feedback.testlist    |  1 +
 tests/intel-ci/xe-fast-feedback.testlist |  1 +
 tests/meson.build                        |  1 +
 4 files changed, 61 insertions(+)
 create mode 100644 tests/core_sysfs.c

diff --git a/tests/core_sysfs.c b/tests/core_sysfs.c
new file mode 100644
index 000000000..db70e940b
--- /dev/null
+++ b/tests/core_sysfs.c
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_dir.h"
+#include "igt_sysfs.h"
+
+struct {
+	bool warn_on_not_hit;
+} opt = { 0 };
+
+/**
+ * TEST: sysfs test
+ * Description: Read entries from sysfs path.
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: sysfs
+ * Feature: core
+ * Test category: uapi
+ *
+ * SUBTEST: read-all-entries
+ * Description: Read all entries from sysfs path
+ *
+ */
+
+IGT_TEST_DESCRIPTION("Read entries from sysfs paths.");
+
+igt_main
+{
+	int fd = -1;
+	int sysfs = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		sysfs = igt_sysfs_open(fd);
+		igt_require(sysfs >= 0);
+
+		igt_dir = igt_dir_create(sysfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from sysfs path.");
+	igt_subtest("read-all-entries") {
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture {
+		close(sysfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 3ec1b95cf..5d4d101ef 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -4,6 +4,7 @@ igt@i915_module_load@load
 # Keep alphabetically sorted by default
 igt@core_auth@basic-auth
 igt@core_debugfs@read-all-entries
+igt@core_sysfs@read-all-entries
 igt@fbdev@eof
 igt@fbdev@info
 igt@fbdev@nullptr
diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index ac3177ae9..a5f799f6b 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -8,6 +8,7 @@ igt@fbdev@read
 igt@fbdev@write
 
 igt@core_debugfs@read-all-entries
+igt@core_sysfs@read-all-entries
 igt@intel_sysfs_debugfs@xe-base
 igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries
 igt@intel_sysfs_debugfs@xe-forcewake
diff --git a/tests/meson.build b/tests/meson.build
index 1009bef2e..4976f2d91 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -7,6 +7,7 @@ test_progs = [
 	'core_hotunplug',
 	'core_setmaster',
 	'core_setmaster_vs_auth',
+	'core_sysfs',
 	'dmabuf',
 	'dmabuf_sync_file',
 	'device_reset',
-- 
2.43.0


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

* [PATCH v4 i-g-t 5/6] tests: Add xe_debugfs
  2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                     ` (3 preceding siblings ...)
  2025-07-07 21:03   ` [PATCH v4 i-g-t 4/6] tests: Add core_sysfs Peter Senna Tschudin
@ 2025-07-07 21:03   ` Peter Senna Tschudin
  2025-07-07 21:03   ` [PATCH v4 i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs Peter Senna Tschudin
  5 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-07 21:03 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	michal.wajdeczko, karthik.b.s

xe_debugfs is a test specific to Xe GPUs. It is intended to complement
the existing generic debugfs tests core_debugfs and
core_debugfs_display_on_off.

Additionally, this test has been updated to use the igt_dir
infrastructure, resulting in simpler code.

Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: michal.wajdeczko@intel.com
Cc: karthik.b.s@intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v4:
 - unchanged from v3
v3:
 - unchanged from v2
v2:
 - changed style of comparison to NULL

 tests/intel-ci/xe-fast-feedback.testlist |   2 +
 tests/intel/xe_debugfs.c                 | 208 +++++++++++++++++++++++
 tests/meson.build                        |   1 +
 3 files changed, 211 insertions(+)
 create mode 100644 tests/intel/xe_debugfs.c

diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index a5f799f6b..c52f08953 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -78,6 +78,8 @@ igt@xe_create@create-execqueues-noleak
 igt@xe_create@create-execqueues-leak
 igt@xe_create@create-invalid-mbz
 igt@xe_create@create-massive-size
+igt@xe_debugfs@xe-base
+igt@xe_debugfs@xe-forcewake
 igt@xe_dma_buf_sync@export-dma-buf-once-write-sync
 igt@xe_dma_buf_sync@export-dma-buf-once-read-sync
 igt@xe_dma_buf_sync@export-dma-buf-once-read-write-sync
diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
new file mode 100644
index 000000000..66a5fa0f6
--- /dev/null
+++ b/tests/intel/xe_debugfs.c
@@ -0,0 +1,208 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir.h"
+#include "igt_sysfs.h"
+#include "xe/xe_query.h"
+
+
+struct {
+	bool warn_on_not_hit;
+} opt = { 0 };
+
+/**
+ * TEST: Xe debugfs test
+ * Description: Xe-specific debugfs tests. These are complementary to the
+ * core_debugfs and core_debugfs_display_on_off tests.
+ *
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: debugfs
+ * Feature: core
+ * Test category: uapi
+ *
+ */
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
+
+static int xe_validate_entries(igt_dir_t *igt_dir,
+			       const char * const str_val[], int str_cnt)
+{
+	igt_dir_file_list_t *file_list_entry;
+
+	if (!igt_dir)
+		return -1;
+
+	igt_dir_scan_dirfd(igt_dir, -1);
+
+	for (int i = 0; i < str_cnt; i++) {
+		int hit = 0;
+
+		igt_list_for_each_entry(file_list_entry,
+					&igt_dir->file_list_head, link) {
+			if (strcmp(file_list_entry->relative_path,
+				   str_val[i]) == 0) {
+				hit = 1;
+				break;
+			}
+		}
+
+		if (!hit && opt.warn_on_not_hit)
+			igt_warn("no test for: %s\n", str_val[i]);
+	}
+
+	return 0;
+}
+
+/**
+ * SUBTEST: xe-base
+ * Description: Check if various debugfs devnodes exist and test reading them
+ */
+static void
+xe_test_base(int fd, struct drm_xe_query_config *config, igt_dir_t *igt_dir)
+{
+	uint16_t devid = intel_get_drm_devid(fd);
+	static const char * const expected_files[] = {
+		"gt0",
+		"gt1",
+		"stolen_mm",
+		"gtt_mm",
+		"vram0_mm",
+		"forcewake_all",
+		"info",
+		"gem_names",
+		"clients",
+		"name"
+	};
+	char reference[4096];
+	int val = 0;
+
+	igt_assert(config);
+	sprintf(reference, "devid 0x%llx",
+			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
+	igt_assert(igt_debugfs_search(fd, "info", reference));
+
+	sprintf(reference, "revid %lld",
+			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
+	igt_assert(igt_debugfs_search(fd, "info", reference));
+
+	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
+		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
+
+	igt_assert(igt_debugfs_search(fd, "info", reference));
+
+	if (intel_gen(devid) < 20) {
+		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
+		case 48:
+			val = 3;
+			break;
+		case 57:
+			val = 4;
+			break;
+		}
+
+		sprintf(reference, "vm_max_level %d", val);
+		igt_assert(igt_debugfs_search(fd, "info", reference));
+	}
+
+	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
+	igt_assert(igt_debugfs_search(fd, "info", reference));
+
+	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
+
+	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
+	igt_debugfs_dump(fd, "gtt_mm");
+
+	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
+		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
+		igt_debugfs_dump(fd, "vram0_mm");
+	}
+
+	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
+		igt_debugfs_dump(fd, "stolen_mm");
+
+	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
+	igt_debugfs_dump(fd, "clients");
+
+	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
+	igt_debugfs_dump(fd, "gem_names");
+
+	xe_validate_entries(igt_dir, expected_files,
+			    ARRAY_SIZE(expected_files));
+}
+
+/**
+ * SUBTEST: xe-forcewake
+ * Description: Check forcewake debugfs devnode
+ */
+static void
+xe_test_forcewake(int fd)
+{
+	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
+
+	igt_assert_neq(handle, -1);
+	close(handle);
+}
+
+const char *help_str =
+	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
+
+struct option long_options[] = {
+	{ "--warn-not-hit", no_argument, NULL, 'w'},
+	{ 0, 0, 0, 0 }
+};
+
+static int opt_handler(int option, int option_index, void *input)
+{
+	switch (option) {
+	case 'w':
+		opt.warn_on_not_hit = true;
+		break;
+	default:
+		return IGT_OPT_HANDLER_ERROR;
+	}
+
+	return IGT_OPT_HANDLER_SUCCESS;
+}
+
+igt_main_args("", long_options, help_str, opt_handler, NULL)
+{
+	int debugfs = -1;
+	int fd = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_XE);
+		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
+		debugfs = igt_debugfs_dir(fd);
+
+		igt_dir = igt_dir_create(debugfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Check if various debugfs devnodes exist and test reading them.");
+	igt_subtest("xe-base") {
+		xe_test_base(fd, xe_config(fd), igt_dir);
+	}
+
+	igt_describe("Check forcewake debugfs devnode");
+	igt_subtest("xe-forcewake") {
+		xe_test_forcewake(fd);
+	}
+
+	igt_fixture {
+		igt_dir_destroy(igt_dir);
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 4976f2d91..df0d9cb1a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -284,6 +284,7 @@ intel_xe_progs = [
 	'xe_compute_preempt',
 	'xe_copy_basic',
 	'xe_configfs',
+	'xe_debugfs',
 	'xe_dma_buf_sync',
 	'xe_drm_fdinfo',
 	'xe_eu_stall',
-- 
2.43.0


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

* [PATCH v4 i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs
  2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
                     ` (4 preceding siblings ...)
  2025-07-07 21:03   ` [PATCH v4 i-g-t 5/6] tests: Add xe_debugfs Peter Senna Tschudin
@ 2025-07-07 21:03   ` Peter Senna Tschudin
  5 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-07 21:03 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	michal.wajdeczko, karthik.b.s

The intel_sysfs_debugfs test was originally introduced to unify testing
for both i915 and Xe drivers, aiming to prevent gaps in test coverage.
However, the implementation fell short in addressing scenarios where
both i915 and Xe were present in the system.

To address these limitations, it was replaced by:
 - tests/core_debugfs (gpu agnostic)
 - tests/core_sysfs (gpu agnostic)
 - tests/intel/xe_debugfs (complementary to core_debugfs)

Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: michal.wajdeczko@intel.com
Cc: karthik.b.s@intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v4:
 - unchanged from v3
v3:
 - unchanged from v2

 tests/intel-ci/fast-feedback.testlist    |   2 -
 tests/intel-ci/xe-fast-feedback.testlist |   4 -
 tests/intel/intel_sysfs_debugfs.c        | 430 -----------------------
 tests/intel/xe_test_config.json          |   2 +-
 tests/meson.build                        |   1 -
 5 files changed, 1 insertion(+), 438 deletions(-)
 delete mode 100644 tests/intel/intel_sysfs_debugfs.c

diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 5d4d101ef..2799bbaa5 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -55,8 +55,6 @@ igt@i915_getparams_basic@basic-subslice-total
 igt@i915_hangman@error-state-basic
 igt@i915_pciid
 igt@intel_hwmon
-igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries
-igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries
 igt@kms_addfb_basic@addfb25-4-tiled
 igt@kms_addfb_basic@addfb25-bad-modifier
 igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index c52f08953..017e3ba2a 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -9,10 +9,6 @@ igt@fbdev@write
 
 igt@core_debugfs@read-all-entries
 igt@core_sysfs@read-all-entries
-igt@intel_sysfs_debugfs@xe-base
-igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries
-igt@intel_sysfs_debugfs@xe-forcewake
-igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries
 igt@kms_addfb_basic@addfb25-4-tiled
 igt@kms_addfb_basic@addfb25-bad-modifier
 igt@kms_addfb_basic@addfb25-modifier-no-flag
diff --git a/tests/intel/intel_sysfs_debugfs.c b/tests/intel/intel_sysfs_debugfs.c
deleted file mode 100644
index dfd8d52d8..000000000
--- a/tests/intel/intel_sysfs_debugfs.c
+++ /dev/null
@@ -1,430 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2025 Intel Corporation
- */
-
-#include <dirent.h>
-#include <fcntl.h>
-
-#include "i915/gem.h"
-#include "igt.h"
-#include "igt_sysfs.h"
-#include "xe/xe_query.h"
-
-struct {
-	bool warn_on_not_hit;
-} opt = { 0 };
-
-/**
- * TEST: debugfs test
- * Description: Read entries from debugfs, and sysfs paths.
- * Category: Core
- * Mega feature: General Core features
- * Sub-category: uapi
- * Functionality: debugfs
- * Feature: core
- * Test category: uapi
- *
- * SUBTEST: i915-debugfs-read-all-entries
- * Description: Read all entries from debugfs path validating debugfs entries
- *
- * SUBTEST: i915-debugfs-read-all-entries-display-off
- * Description: Read all debugfs entries with display off.
- *
- * SUBTEST: i915-debugfs-read-all-entries-display-on
- * Description: Read all debugfs entries with display on.
- *
- * SUBTEST: i915-sysfs-read-all-entries
- * Description: Read all entries from sysfs path validating debugfs entries
- *
- * SUBTEST: xe-debugfs-read-all-entries
- * Description: Read all entries from debugfs path validating debugfs entries
- *
- * SUBTEST: xe-debugfs-read-all-entries-display-off
- * Description: Read all debugfs entries with display off.
- *
- * SUBTEST: xe-debugfs-read-all-entries-display-on
- * Description: Read all debugfs entries with display on.
- *
- * SUBTEST: xe-sysfs-read-all-entries
- * Description: Read all entries from sysfs path validating debugfs entries
- *
- */
-
-IGT_TEST_DESCRIPTION("Read entries from debugfs, and sysfs paths.");
-
-static void read_and_discard_sysfs_entries(int path_fd, int indent)
-{
-	struct dirent *dirent;
-	DIR *dir;
-	char tabs[8];
-	int i;
-
-	igt_assert(indent < sizeof(tabs) - 1);
-
-	for (i = 0; i < indent; i++)
-		tabs[i] = '\t';
-	tabs[i] = '\0';
-
-	dir = fdopendir(path_fd);
-	if (!dir)
-		return;
-
-	while ((dirent = readdir(dir))) {
-		if (!strcmp(dirent->d_name, ".") ||
-		    !strcmp(dirent->d_name, ".."))
-			continue;
-
-		if (dirent->d_type == DT_DIR) {
-			int sub_fd;
-
-			sub_fd = openat(path_fd, dirent->d_name,
-					O_RDONLY | O_DIRECTORY);
-			if (sub_fd < 0)
-				continue;
-
-			igt_debug("%sEntering subdir %s\n", tabs, dirent->d_name);
-			read_and_discard_sysfs_entries(sub_fd, indent + 1);
-			close(sub_fd);
-		} else if (dirent->d_type == DT_REG) {
-			char buf[512];
-			int sub_fd;
-			ssize_t ret;
-
-			igt_kmsg(KMSG_DEBUG "Reading file \"%s\"\n", dirent->d_name);
-			igt_debug("%sReading file \"%s\"\n", tabs, dirent->d_name);
-
-			sub_fd = openat(path_fd, dirent->d_name, O_RDONLY | O_NONBLOCK);
-			if (sub_fd == -1) {
-				igt_debug("%sCould not open file \"%s\" with error: %m\n",
-					  tabs, dirent->d_name);
-				continue;
-			}
-
-			do {
-				ret = read(sub_fd, buf, sizeof(buf));
-			} while (ret == sizeof(buf));
-
-			if (ret == -1)
-				igt_debug("%sCould not read file \"%s\" with error: %m\n",
-					  tabs, dirent->d_name);
-
-			close(sub_fd);
-		}
-	}
-	closedir(dir);
-}
-
-static void kms_tests(int fd, int debugfs, const char *card_name)
-{
-	igt_display_t display;
-	struct igt_fb fb[IGT_MAX_PIPES];
-	enum pipe pipe;
-	int ret;
-	char test_name[64];
-
-	igt_fixture
-		igt_display_require(&display, fd);
-
-	snprintf(test_name, sizeof(test_name),
-		 "%s-debugfs-read-all-entries-display-on", card_name);
-
-	igt_subtest(test_name) {
-		/* try to light all pipes */
-retry:
-		for_each_pipe(&display, pipe) {
-			igt_output_t *output;
-
-			for_each_valid_output_on_pipe(&display, pipe, output) {
-				igt_plane_t *primary;
-				drmModeModeInfo *mode;
-
-				if (output->pending_pipe != PIPE_NONE)
-					continue;
-
-				igt_output_set_pipe(output, pipe);
-				primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
-				mode = igt_output_get_mode(output);
-				igt_create_pattern_fb(display.drm_fd,
-						      mode->hdisplay, mode->vdisplay,
-						      DRM_FORMAT_XRGB8888,
-						      DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
-
-				/* Set a valid fb as some debugfs like to
-				 * inspect it on a active pipe
-				 */
-				igt_plane_set_fb(primary, &fb[pipe]);
-				break;
-			}
-		}
-
-		if (display.is_atomic)
-			ret = igt_display_try_commit_atomic(&display,
-					DRM_MODE_ATOMIC_TEST_ONLY |
-					DRM_MODE_ATOMIC_ALLOW_MODESET,
-					NULL);
-		else
-			ret = igt_display_try_commit2(&display, COMMIT_LEGACY);
-
-		if (ret) {
-			igt_output_t *output;
-			bool found = igt_override_all_active_output_modes_to_fit_bw(&display);
-
-			igt_require_f(found, "No valid mode combo found.\n");
-
-			for_each_connected_output(&display, output)
-				igt_output_set_pipe(output, PIPE_NONE);
-
-			goto retry;
-		}
-
-		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
-
-		read_and_discard_sysfs_entries(debugfs, 0);
-	}
-
-	snprintf(test_name, sizeof(test_name),
-		 "%s-debugfs-read-all-entries-display-off", card_name);
-
-	igt_subtest(test_name) {
-		igt_output_t *output;
-		igt_plane_t *plane;
-
-		for_each_connected_output(&display, output)
-			igt_output_set_pipe(output, PIPE_NONE);
-
-		for_each_pipe(&display, pipe)
-			for_each_plane_on_pipe(&display, pipe, plane)
-				igt_plane_set_fb(plane, NULL);
-
-		igt_display_commit2(&display, display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
-
-		read_and_discard_sysfs_entries(debugfs, 0);
-	}
-
-	igt_fixture
-		igt_display_fini(&display);
-}
-
-static int xe_validate_entries(int fd, const char *add_path,
-			       const char * const str_val[], int str_cnt)
-{
-	int i;
-	int hit;
-	int found = 0;
-	int not_found = 0;
-	DIR *dir;
-	struct dirent *de;
-	char path[PATH_MAX];
-
-	if (!igt_debugfs_path(fd, path, sizeof(path)))
-		return -1;
-
-	strcat(path, add_path);
-	dir = opendir(path);
-	if (!dir)
-		return -1;
-
-	while ((de = readdir(dir))) {
-		if (de->d_name[0] == '.')
-			continue;
-		hit = 0;
-		for (i = 0; i < str_cnt; i++) {
-			if (!strcmp(str_val[i], de->d_name)) {
-				hit = 1;
-				break;
-			}
-		}
-		if (hit) {
-			found++;
-		} else if (opt.warn_on_not_hit) {
-			not_found++;
-			igt_warn("no test for: %s/%s\n", path, de->d_name);
-		}
-	}
-	closedir(dir);
-	return 0;
-}
-
-/**
- * SUBTEST: xe-base
- * Description: Check if various debugfs devnodes exist and test reading them
- */
-static void
-xe_test_base(int fd, struct drm_xe_query_config *config)
-{
-	uint16_t devid = intel_get_drm_devid(fd);
-	static const char * const expected_files[] = {
-		"gt0",
-		"gt1",
-		"stolen_mm",
-		"gtt_mm",
-		"vram0_mm",
-		"forcewake_all",
-		"info",
-		"gem_names",
-		"clients",
-		"name"
-	};
-	char reference[4096];
-	int val = 0;
-
-	igt_assert(config);
-	sprintf(reference, "devid 0x%llx",
-			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] & 0xffff);
-	igt_assert(igt_debugfs_search(fd, "info", reference));
-
-	sprintf(reference, "revid %lld",
-			config->info[DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID] >> 16);
-	igt_assert(igt_debugfs_search(fd, "info", reference));
-
-	sprintf(reference, "is_dgfx %s", config->info[DRM_XE_QUERY_CONFIG_FLAGS] &
-		DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM ? "yes" : "no");
-
-	igt_assert(igt_debugfs_search(fd, "info", reference));
-
-	if (intel_gen(devid) < 20) {
-		switch (config->info[DRM_XE_QUERY_CONFIG_VA_BITS]) {
-		case 48:
-			val = 3;
-			break;
-		case 57:
-			val = 4;
-			break;
-		}
-
-		sprintf(reference, "vm_max_level %d", val);
-		igt_assert(igt_debugfs_search(fd, "info", reference));
-	}
-
-	snprintf(reference, sizeof(reference), "tile_count %d", xe_sysfs_get_num_tiles(fd));
-	igt_assert(igt_debugfs_search(fd, "info", reference));
-
-	igt_assert(igt_debugfs_exists(fd, "gt0", O_RDONLY));
-
-	igt_assert(igt_debugfs_exists(fd, "gtt_mm", O_RDONLY));
-	igt_debugfs_dump(fd, "gtt_mm");
-
-	if (config->info[DRM_XE_QUERY_CONFIG_FLAGS] & DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM) {
-		igt_assert(igt_debugfs_exists(fd, "vram0_mm", O_RDONLY));
-		igt_debugfs_dump(fd, "vram0_mm");
-	}
-
-	if (igt_debugfs_exists(fd, "stolen_mm", O_RDONLY))
-		igt_debugfs_dump(fd, "stolen_mm");
-
-	igt_assert(igt_debugfs_exists(fd, "clients", O_RDONLY));
-	igt_debugfs_dump(fd, "clients");
-
-	igt_assert(igt_debugfs_exists(fd, "gem_names", O_RDONLY));
-	igt_debugfs_dump(fd, "gem_names");
-
-	xe_validate_entries(fd, "", expected_files, ARRAY_SIZE(expected_files));
-}
-
-/**
- * SUBTEST: xe-forcewake
- * Description: Check forcewake debugfs devnode
- */
-static void
-xe_test_forcewake(int fd)
-{
-	int handle = igt_debugfs_open(fd, "forcewake_all", O_WRONLY);
-
-	igt_assert_neq(handle, -1);
-	close(handle);
-}
-
-const char *help_str =
-	"  -w\t--warn-not-hit Produce warnings if it founds a devfs node without tests";
-
-struct option long_options[] = {
-	{ "--warn-not-hit", no_argument, NULL, 'w'},
-	{ 0, 0, 0, 0 }
-};
-
-static int opt_handler(int option, int option_index, void *input)
-{
-	switch (option) {
-	case 'w':
-		opt.warn_on_not_hit = true;
-		break;
-	default:
-		return IGT_OPT_HANDLER_ERROR;
-	}
-
-	return IGT_OPT_HANDLER_SUCCESS;
-}
-
-igt_main_args("", long_options, help_str, opt_handler, NULL)
-{
-	int debugfs = -1;
-	int fd = -1;
-	int sysfs = -1;
-
-	igt_subtest_group {
-		igt_fixture {
-			fd = drm_open_driver_master(DRIVER_INTEL);
-			igt_require_gem(fd);
-			debugfs = igt_debugfs_dir(fd);
-			sysfs = igt_sysfs_open(fd);
-
-			kmstest_set_vt_graphics_mode();
-		}
-
-		igt_describe("Read all entries from sysfs path.");
-		igt_subtest("i915-sysfs-read-all-entries")
-			read_and_discard_sysfs_entries(sysfs, 0);
-		igt_describe("Read all entries from debugfs path.");
-		igt_subtest("i915-debugfs-read-all-entries")
-			read_and_discard_sysfs_entries(debugfs, 0);
-
-		igt_describe("Read all debugfs entries with display on/off.");
-		igt_subtest_group
-			kms_tests(fd, debugfs, "i915");
-
-		igt_fixture {
-			close(sysfs);
-			close(debugfs);
-			drm_close_driver(fd);
-		}
-	}
-
-	igt_subtest_group {
-		igt_fixture {
-			fd = drm_open_driver_master(DRIVER_XE);
-			__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
-			debugfs = igt_debugfs_dir(fd);
-			sysfs = igt_sysfs_open(fd);
-
-			kmstest_set_vt_graphics_mode();
-		}
-
-		igt_describe("Read all entries from sysfs path.");
-		igt_subtest("xe-sysfs-read-all-entries")
-			read_and_discard_sysfs_entries(sysfs, 0);
-		igt_describe("Read all entries from debugfs path.");
-		igt_subtest("xe-debugfs-read-all-entries")
-			read_and_discard_sysfs_entries(debugfs, 0);
-
-		igt_describe("Read all debugfs entries with display on/off.");
-		igt_subtest_group
-			kms_tests(fd, debugfs, "xe");
-
-		igt_describe("Check if various debugfs devnodes exist and test reading them.");
-		igt_subtest("xe-base") {
-			xe_test_base(fd, xe_config(fd));
-		}
-
-		igt_describe("Check forcewake debugfs devnode");
-		igt_subtest("xe-forcewake") {
-			xe_test_forcewake(fd);
-		}
-
-		igt_fixture {
-			close(sysfs);
-			close(debugfs);
-			drm_close_driver(fd);
-		}
-	}
-}
diff --git a/tests/intel/xe_test_config.json b/tests/intel/xe_test_config.json
index edca243f1..27de0efaa 100644
--- a/tests/intel/xe_test_config.json
+++ b/tests/intel/xe_test_config.json
@@ -2,7 +2,7 @@
     "description": "JSON file to be used to parse Xe documentation",
     "name": "Tests for Xe Driver",
     "drivers": [ "xe" ],
-    "files": [ "xe_*.c", "../core_*.c", "../device_*.c", "../sriov_basic.c", "intel_hwmon.c", "intel_sysfs_debugfs.c" ],
+    "files": [ "xe_*.c", "../core_*.c", "../device_*.c", "../sriov_basic.c", "intel_hwmon.c" ],
     "fields": {
         "Run type": {
             "_properties_": {
diff --git a/tests/meson.build b/tests/meson.build
index df0d9cb1a..b35da4626 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -87,7 +87,6 @@ test_progs = [
 intel_i915_xe_progs = [
 	'api_intel_allocator',
 	'intel_hwmon',
-	'intel_sysfs_debugfs',
 ]
 
 intel_i915_progs = [
-- 
2.43.0


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

* [PATCH v4 i-g-t 3/6] tests: Add kms_debugfs
  2025-07-07 21:07 [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
@ 2025-07-07 21:07 ` Peter Senna Tschudin
  0 siblings, 0 replies; 33+ messages in thread
From: Peter Senna Tschudin @ 2025-07-07 21:07 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska, zbigniew.kempczynski,
	michal.wajdeczko, karthik.b.s

Introduce kms_debugfs that is expected to work with any GPU, not limited
to i915 and Xe. The test powers off all available displays before
reading debugfs files, and then powers on all displays before reading
the files again.

Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Cc: zbigniew.kempczynski@intel.com
Cc: michal.wajdeczko@intel.com
Cc: karthik.b.s@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
v4:
 - change test name to kms_debugfs
 - use the wrapper function igt_fit_modes_in_bw()
 - use igt_display_require_output() to ensure there is at least one display

v3:
 - renamed the test
 - Removed reference to sysfs from comments  (thanks Kamil)
 - Updated description to match the display part (thanks Kamil)
 - Moved from "display" to "heads". Our CI uses "headless" to refer
   to a DUT without display and it is shorter
 - renamed subtests for shorter names (thanks Kamil)
 - fixed comments style (thanks Kamil)
 - updated CC list
 - changed the order to test first with all heads off then with all heads on
   to prevent the need from powering on the heads at the end of the test
   (thanks Kamil)
 - removed snprintf from test names (thanks Kamil)
 - removed subtest group (thanks Kamil)
 - deleted kms_tests() and moved the code to igt_main (thanks Kamil)

v2:
 - changed style of comparison to NULL
 - moved to a separate patch

 tests/kms_debugfs.c | 157 ++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build   |   1 +
 2 files changed, 158 insertions(+)
 create mode 100644 tests/kms_debugfs.c

diff --git a/tests/kms_debugfs.c b/tests/kms_debugfs.c
new file mode 100644
index 000000000..7f94d47c6
--- /dev/null
+++ b/tests/kms_debugfs.c
@@ -0,0 +1,157 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir.h"
+
+/**
+ * TEST: kms debugfs test
+ * Description: Read entries from debugfs with all displays on and with
+ *		all displays off.
+ *
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: debugfs
+ * Feature: core
+ * Test category: uapi
+ *
+ * SUBTEST: display-off-read-all
+ * Description: Read all debugfs entries with display off.
+ *
+ * SUBTEST: display-on-read-all
+ * Description: Read all debugfs entries with display on.
+ */
+
+/**
+ * igt_display_all_on: Try to turn on all displays
+ * @display: pointer to the igt_display structure
+ *
+ * Returns: void
+ */
+static void igt_display_all_on(igt_display_t *display)
+{
+	struct igt_fb fb[IGT_MAX_PIPES];
+	enum pipe pipe;
+	int ret;
+
+	/* try to light all pipes */
+retry:
+	for_each_pipe(display, pipe) {
+		igt_output_t *output;
+
+		for_each_valid_output_on_pipe(display, pipe, output) {
+			igt_plane_t *primary;
+			drmModeModeInfo *mode;
+
+			if (output->pending_pipe != PIPE_NONE)
+				continue;
+
+			igt_output_set_pipe(output, pipe);
+			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+			mode = igt_output_get_mode(output);
+			igt_create_pattern_fb(display->drm_fd,
+						mode->hdisplay, mode->vdisplay,
+						DRM_FORMAT_XRGB8888,
+						DRM_FORMAT_MOD_LINEAR, &fb[pipe]);
+
+			/* Set a valid fb as some debugfs like to
+			 * inspect it on a active pipe
+			 */
+			igt_plane_set_fb(primary, &fb[pipe]);
+			break;
+		}
+	}
+
+	if (display->is_atomic) {
+		bool found = igt_fit_modes_in_bw(display);
+
+		ret = found ? 0 : -1;
+		igt_require_f(found, "No valid mode combo found.\n");
+	} else
+		ret = igt_display_try_commit2(display, COMMIT_LEGACY);
+
+	if (ret) {
+		igt_output_t *output;
+
+		for_each_connected_output(display, output)
+			igt_output_set_pipe(output, PIPE_NONE);
+
+		goto retry;
+	}
+
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+/**
+ * igt_display_all_off: Try to turn off all displays
+ * @display: pointer to the igt_display structure
+ *
+ * Returns: void
+ */
+static void igt_display_all_off(igt_display_t *display)
+{
+	enum pipe pipe;
+	igt_output_t *output;
+	igt_plane_t *plane;
+
+	for_each_connected_output(display, output)
+		igt_output_set_pipe(output, PIPE_NONE);
+
+	for_each_pipe(display, pipe)
+		for_each_plane_on_pipe(display, pipe, plane)
+			igt_plane_set_fb(plane, NULL);
+
+	igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+}
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
+
+igt_main
+{
+	int debugfs = -1;
+	igt_display_t *display;
+	int fd = -1;
+	igt_dir_t *igt_dir = NULL;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		debugfs = igt_debugfs_dir(fd);
+		igt_require(debugfs >= 0);
+
+		igt_dir = igt_dir_create(debugfs);
+		igt_require(igt_dir);
+
+		kmstest_set_vt_graphics_mode();
+
+		display = calloc(1, sizeof(*display));
+		igt_display_require(display, fd);
+
+		/* Make sure we have at least one output connected */
+		igt_display_require_output(display);
+	}
+
+	igt_subtest("display-off-read-all") {
+		igt_display_all_off(display);
+
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_subtest("display-on-read-all") {
+		/* try to light all pipes */
+		igt_display_all_on(display);
+
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture {
+		igt_display_fini(display);
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 99d7d95be..1009bef2e 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -29,6 +29,7 @@ test_progs = [
 	'kms_cursor_crc',
 	'kms_cursor_edge_walk',
 	'kms_cursor_legacy',
+	'kms_debugfs',
 	'kms_dither',
 	'kms_display_modes',
 	'kms_dp_aux_dev',
-- 
2.43.0


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

end of thread, other threads:[~2025-07-07 21:08 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-16  7:42 [PATCH v3 resend i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
2025-06-16  7:42 ` [PATCH v3 resend i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
2025-06-24 13:24   ` Sokolowski, Jan
2025-06-16  7:42 ` [PATCH v3 resend i-g-t 2/6] tests: Add core_debugfs Peter Senna Tschudin
2025-06-16  7:42 ` [PATCH v3 resend i-g-t 3/6] tests: Add core_debugfs_heads_power Peter Senna Tschudin
2025-07-03 20:39   ` Rodrigo Vivi
2025-07-04  8:06     ` Peter Senna Tschudin
2025-07-04 10:01       ` Karthik B S
2025-07-04 11:36         ` Kamil Konieczny
2025-07-04 10:02   ` Karthik B S
2025-06-16  7:42 ` [PATCH v3 resend i-g-t 4/6] tests: Add core_sysfs Peter Senna Tschudin
2025-06-16  7:42 ` [PATCH v3 resend i-g-t 5/6] tests: Add xe_debugfs Peter Senna Tschudin
2025-07-03 20:36   ` Rodrigo Vivi
2025-07-04  8:57     ` Peter Senna Tschudin
2025-07-04  9:06     ` Peter Senna Tschudin
2025-07-07 14:43       ` Rodrigo Vivi
2025-06-16  7:42 ` [PATCH v3 resend i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs Peter Senna Tschudin
2025-07-03 20:39   ` Rodrigo Vivi
2025-06-16 19:50 ` ✓ Xe.CI.BAT: success for Replace intel_sysfs_debugfs Patchwork
2025-06-17  2:49 ` ✗ Xe.CI.Full: failure " Patchwork
2025-06-17 13:01 ` ✗ i915.CI.BAT: " Patchwork
2025-07-03 21:44 ` ✓ Xe.CI.BAT: success for Replace intel_sysfs_debugfs (rev2) Patchwork
2025-07-03 21:45 ` ✓ i915.CI.BAT: " Patchwork
2025-07-04  4:29 ` ✗ i915.CI.Full: failure " Patchwork
2025-07-05 14:40 ` ✓ Xe.CI.Full: success " Patchwork
2025-07-07 21:03 ` [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
2025-07-07 21:03   ` [PATCH v4 i-g-t 1/6] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
2025-07-07 21:03   ` [PATCH v4 i-g-t 2/6] tests: Add core_debugfs Peter Senna Tschudin
2025-07-07 21:03   ` [PATCH v4 i-g-t 3/6] tests: Add kms_debugfs Peter Senna Tschudin
2025-07-07 21:03   ` [PATCH v4 i-g-t 4/6] tests: Add core_sysfs Peter Senna Tschudin
2025-07-07 21:03   ` [PATCH v4 i-g-t 5/6] tests: Add xe_debugfs Peter Senna Tschudin
2025-07-07 21:03   ` [PATCH v4 i-g-t 6/6] tests/intel: Remove intel_sysfs_debugfs Peter Senna Tschudin
  -- strict thread matches above, loose matches on Subject: below --
2025-07-07 21:07 [PATCH v4 i-g-t 0/6] Replace intel_sysfs_debugfs Peter Senna Tschudin
2025-07-07 21:07 ` [PATCH v4 i-g-t 3/6] tests: Add kms_debugfs Peter Senna Tschudin

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