Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC i-g-t 0/5] Replace intel_sysfs_debugfs
@ 2025-05-14 17:51 Peter Senna Tschudin
  2025-05-14 17:51 ` [RFC i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs Peter Senna Tschudin
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-14 17:51 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska

DO NOT MERGE!

intel_sysfs_debugfs was created with the intention of unifying i915 and
xe tests to close testing gaps between the two. This series goes a few
steps further making the sysfs and the debugfs tests gpu agnostic. This
series also creates xe_debugfs that preserves the tests that
are exlcusive to xe.

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

*** This RFC does not update test lists and does not update blacklists ***

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com

Peter Senna Tschudin (5):
  Remove tests/intel/intel_sysfs_debugfs
  lib/igt_dir_explorer: Add function to recursively read all files in a directory
  Add tests: core_debugfs and core_debugfs_display_on_off
  tests/core_sysfs: Add GPU-agnostic sysfs testing
  tests/intel/xe_debugfs: Add Xe-specific debugfs testing

 lib/igt_dir_explorer.c              |  72 +++++
 lib/igt_dir_explorer.h              |  10 +
 lib/meson.build                     |   1 +
 tests/core_debugfs.c                |  47 +++
 tests/core_debugfs_display_on_off.c | 165 +++++++++++
 tests/core_sysfs.c                  |  52 ++++
 tests/intel/intel_sysfs_debugfs.c   | 430 ----------------------------
 tests/intel/xe_debugfs.c            | 212 ++++++++++++++
 tests/meson.build                   |   5 +-
 9 files changed, 563 insertions(+), 431 deletions(-)
 create mode 100644 lib/igt_dir_explorer.c
 create mode 100644 lib/igt_dir_explorer.h
 create mode 100644 tests/core_debugfs.c
 create mode 100644 tests/core_debugfs_display_on_off.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] 20+ messages in thread

* [RFC i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
@ 2025-05-14 17:51 ` Peter Senna Tschudin
  2025-05-14 17:51 ` [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory Peter Senna Tschudin
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-14 17:51 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska

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, its implementation fell short in addressing scenarios where
both i915 and Xe were present in the system.

To address these limitations, intel_sysfs_debugfs will be replaced by a
more modular and comprehensive set of tests:

- tests/core_debugfs (gpu agnostic)
- tests/core_sysfs (gpu agnostic)
- tests/intel/xe_debugfs (complementary to core_debugfs)

This restructuring ensures better test coverage and flexibility moving
forward.

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 tests/intel/intel_sysfs_debugfs.c | 430 ------------------------------
 tests/meson.build                 |   1 -
 2 files changed, 431 deletions(-)
 delete mode 100644 tests/intel/intel_sysfs_debugfs.c

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/meson.build b/tests/meson.build
index 20ddddb89..335d82e9d 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -83,7 +83,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] 20+ messages in thread

* [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
  2025-05-14 17:51 ` [RFC i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs Peter Senna Tschudin
@ 2025-05-14 17:51 ` Peter Senna Tschudin
  2025-05-15  8:51   ` Zbigniew Kempczyński
  2025-05-14 17:51 ` [RFC i-g-t 3/5] Add tests: core_debugfs and core_debugfs_display_on_off Peter Senna Tschudin
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-14 17:51 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska

Introduces igt_dir_explorer_read_and_discard_all(), a function that
performs a recursive scan of all files within a directory. Each file is
read, and its content is discarded.

This functionality is utilized in the following tests:
- core_debugfs
- core_debugfs_display_on_off
- core_sysfs

This addition enhances the ability to efficiently handle directory
traversal and file processing in tests.

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 lib/igt_dir_explorer.c | 72 ++++++++++++++++++++++++++++++++++++++++++
 lib/igt_dir_explorer.h | 10 ++++++
 lib/meson.build        |  1 +
 3 files changed, 83 insertions(+)
 create mode 100644 lib/igt_dir_explorer.c
 create mode 100644 lib/igt_dir_explorer.h

diff --git a/lib/igt_dir_explorer.c b/lib/igt_dir_explorer.c
new file mode 100644
index 000000000..d47e08535
--- /dev/null
+++ b/lib/igt_dir_explorer.c
@@ -0,0 +1,72 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "igt.h"
+#include "igt_dir_explorer.h"
+
+void igt_dir_explorer_read_and_discard_all(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);
+			igt_dir_explorer_read_and_discard_all(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);
+}
diff --git a/lib/igt_dir_explorer.h b/lib/igt_dir_explorer.h
new file mode 100644
index 000000000..b767928a5
--- /dev/null
+++ b/lib/igt_dir_explorer.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: MIT
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef IGT_DIR_EXPLORER_H
+#define IGT_DIR_EXPLORER_H
+
+void igt_dir_explorer_read_and_discard_all(int path_fd, int indent);
+
+#endif /* IGT_DIR_EXPLORER_H */
diff --git a/lib/meson.build b/lib/meson.build
index b58976a43..f98265100 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -90,6 +90,7 @@ lib_sources = [
 	'igt_kms.c',
 	'igt_fb.c',
 	'igt_core.c',
+	'igt_dir_explorer.c',
 	'igt_draw.c',
 	'igt_list.c',
 	'igt_map.c',
-- 
2.43.0


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

* [RFC i-g-t 3/5] Add tests: core_debugfs and core_debugfs_display_on_off
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
  2025-05-14 17:51 ` [RFC i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs Peter Senna Tschudin
  2025-05-14 17:51 ` [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory Peter Senna Tschudin
@ 2025-05-14 17:51 ` Peter Senna Tschudin
  2025-05-14 17:51 ` [RFC i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing Peter Senna Tschudin
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-14 17:51 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska

Introduces two GPU-agnostic tests, core_debugfs and
core_debugfs_display_on_off. These tests are designed to function with
any GPU, not limited to i915 and Xe.

core_debugfs: Attempts to open every file in debugfs associated with the
GPU.

core_debugfs_display_on_off: Powers on all available displays before
reading debugfs files, and then powers off all displays before reading
the files again.

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 tests/core_debugfs.c                |  47 ++++++++
 tests/core_debugfs_display_on_off.c | 165 ++++++++++++++++++++++++++++
 tests/meson.build                   |   2 +
 3 files changed, 214 insertions(+)
 create mode 100644 tests/core_debugfs.c
 create mode 100644 tests/core_debugfs_display_on_off.c

diff --git a/tests/core_debugfs.c b/tests/core_debugfs.c
new file mode 100644
index 000000000..a5cd44ffa
--- /dev/null
+++ b/tests/core_debugfs.c
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir_explorer.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: debugfs-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_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		debugfs = igt_debugfs_dir(fd);
+		igt_require(debugfs >= 0);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from debugfs path.");
+	igt_subtest("debugfs-read-all-entries")
+		igt_dir_explorer_read_and_discard_all(debugfs, 0);
+
+	igt_fixture {
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/core_debugfs_display_on_off.c b/tests/core_debugfs_display_on_off.c
new file mode 100644
index 000000000..2dca24996
--- /dev/null
+++ b/tests/core_debugfs_display_on_off.c
@@ -0,0 +1,165 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir_explorer.h"
+
+/**
+ * TEST: debugfs display on/off 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: debugfs-read-all-entries-display-off
+ * Description: Read all debugfs entries with display off.
+ *
+ * SUBTEST: debugfs-read-all-entries-display-on
+ * Description: Read all debugfs entries with display on.
+ */
+
+/** bool igt_kms_all_displays_on: Try to turn on all displays
+ * @fd: file descriptor for the drm device
+ *
+ * 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 displays
+ * @fd: file descriptor for the drm device
+ *
+ * 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);
+}
+
+static void kms_tests(int fd, int debugfs)
+{
+	igt_display_t *display;
+	char test_name[64];
+
+	display = calloc(1, sizeof(*display));
+
+	igt_fixture
+		igt_display_require(display, fd);
+
+	snprintf(test_name, sizeof(test_name),
+		 "debugfs-read-all-entries-display-on");
+
+	igt_subtest(test_name) {
+		/* try to light all pipes */
+		igt_display_all_on(display);
+
+		igt_dir_explorer_read_and_discard_all(debugfs, 0);
+	}
+
+	snprintf(test_name, sizeof(test_name),
+		 "debugfs-read-all-entries-display-off");
+
+	igt_subtest(test_name) {
+		igt_display_all_off(display);
+
+		igt_dir_explorer_read_and_discard_all(debugfs, 0);
+	}
+
+	igt_fixture
+		igt_display_fini(display);
+}
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
+
+igt_main
+{
+	int debugfs = -1;
+	int fd = -1;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		debugfs = igt_debugfs_dir(fd);
+		igt_require(debugfs >= 0);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_subtest_group
+		kms_tests(fd, debugfs);
+
+	igt_fixture {
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 335d82e9d..c7a689ab3 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,5 +1,7 @@
 test_progs = [
 	'core_auth',
+	'core_debugfs',
+	'core_debugfs_display_on_off',
 	'core_getclient',
 	'core_getstats',
 	'core_getversion',
-- 
2.43.0


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

* [RFC i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (2 preceding siblings ...)
  2025-05-14 17:51 ` [RFC i-g-t 3/5] Add tests: core_debugfs and core_debugfs_display_on_off Peter Senna Tschudin
@ 2025-05-14 17:51 ` Peter Senna Tschudin
  2025-05-14 17:51 ` [RFC i-g-t 5/5] tests/intel/xe_debugfs: Add Xe-specific debugfs testing Peter Senna Tschudin
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-14 17:51 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska

Introduces core_sysfs, a 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: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 tests/core_sysfs.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build  |  1 +
 2 files changed, 53 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..9c408275e
--- /dev/null
+++ b/tests/core_sysfs.c
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_dir_explorer.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: sysfs-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_fixture {
+		fd = drm_open_driver_master(DRIVER_ANY);
+		sysfs = igt_sysfs_open(fd);
+		igt_require(sysfs >= 0);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from sysfs path.");
+	igt_subtest("sysfs-read-all-entries")
+		igt_dir_explorer_read_and_discard_all(sysfs, 0);
+
+	igt_fixture {
+		close(sysfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index c7a689ab3..eac77fb81 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] 20+ messages in thread

* [RFC i-g-t 5/5] tests/intel/xe_debugfs: Add Xe-specific debugfs testing
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (3 preceding siblings ...)
  2025-05-14 17:51 ` [RFC i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing Peter Senna Tschudin
@ 2025-05-14 17:51 ` Peter Senna Tschudin
  2025-05-14 19:24 ` ✗ Xe.CI.BAT: failure for Replace intel_sysfs_debugfs Patchwork
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-14 17:51 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska

Introduces xe_debugfs, a test designed specifically for Xe GPUs. This test
complements the generic debugfs tests:
- core_debugfs
- core_debugfs_display_on_off

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
Cc: lucas.demarchi@intel.com
Cc: rodrigo.vivi@intel.com
Cc: kamil.konieczny@linux.intel.com
Cc: katarzyna.piecielska@intel.com
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 tests/intel/xe_debugfs.c | 212 +++++++++++++++++++++++++++++++++++++++
 tests/meson.build        |   1 +
 2 files changed, 213 insertions(+)
 create mode 100644 tests/intel/xe_debugfs.c

diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
new file mode 100644
index 000000000..b4eef81d1
--- /dev/null
+++ b/tests/intel/xe_debugfs.c
@@ -0,0 +1,212 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "igt.h"
+#include "igt_debugfs.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(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;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_XE);
+		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
+		debugfs = igt_debugfs_dir(fd);
+
+		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_describe("Check forcewake debugfs devnode");
+	igt_subtest("xe-forcewake") {
+		xe_test_forcewake(fd);
+	}
+
+	igt_fixture {
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index eac77fb81..97d60f9f6 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -281,6 +281,7 @@ intel_xe_progs = [
 	'xe_compute',
 	'xe_compute_preempt',
 	'xe_copy_basic',
+	'xe_debugfs',
 	'xe_dma_buf_sync',
 	'xe_drm_fdinfo',
 	'xe_eu_stall',
-- 
2.43.0


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

* ✗ Xe.CI.BAT: failure for Replace intel_sysfs_debugfs
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (4 preceding siblings ...)
  2025-05-14 17:51 ` [RFC i-g-t 5/5] tests/intel/xe_debugfs: Add Xe-specific debugfs testing Peter Senna Tschudin
@ 2025-05-14 19:24 ` Patchwork
  2025-05-14 19:44 ` ✗ i915.CI.BAT: " Patchwork
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-05-14 19:24 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

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

== Summary ==

CI Bug Log - changes from XEIGT_8364_BAT -> XEIGTPW_13128_BAT
====================================================

Summary
-------

  **FAILURE**

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

  Additional (1): bat-bmg-1 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@intel_sysfs_debugfs@xe-base:
    - bat-bmg-1:          NOTRUN -> [SKIP][1] +3 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@intel_sysfs_debugfs@xe-base.html

  * igt@intel_sysfs_debugfs@xe-forcewake:
    - bat-bmg-2:          [PASS][2] -> [SKIP][3] +3 other tests skip
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-bmg-2/igt@intel_sysfs_debugfs@xe-forcewake.html
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-2/igt@intel_sysfs_debugfs@xe-forcewake.html
    - bat-adlp-7:         [PASS][4] -> [SKIP][5] +3 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-adlp-7/igt@intel_sysfs_debugfs@xe-forcewake.html
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-adlp-7/igt@intel_sysfs_debugfs@xe-forcewake.html
    - bat-lnl-2:          [PASS][6] -> [SKIP][7] +3 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-lnl-2/igt@intel_sysfs_debugfs@xe-forcewake.html
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-lnl-2/igt@intel_sysfs_debugfs@xe-forcewake.html
    - bat-dg2-oem2:       [PASS][8] -> [SKIP][9] +3 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-dg2-oem2/igt@intel_sysfs_debugfs@xe-forcewake.html
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-dg2-oem2/igt@intel_sysfs_debugfs@xe-forcewake.html
    - bat-atsm-2:         [PASS][10] -> [SKIP][11] +3 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-atsm-2/igt@intel_sysfs_debugfs@xe-forcewake.html
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-atsm-2/igt@intel_sysfs_debugfs@xe-forcewake.html

  * igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries:
    - bat-adlp-vf:        [PASS][12] -> [SKIP][13] +3 other tests skip
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-adlp-vf/igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries.html
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-adlp-vf/igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries.html
    - bat-lnl-1:          [PASS][14] -> [SKIP][15] +3 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-lnl-1/igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries.html
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-lnl-1/igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries.html
    - bat-pvc-2:          [PASS][16] -> [SKIP][17] +3 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-pvc-2/igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries.html
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-pvc-2/igt@intel_sysfs_debugfs@xe-sysfs-read-all-entries.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-bmg-1:          NOTRUN -> [SKIP][18] ([Intel XE#2233])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-bmg-1:          NOTRUN -> [SKIP][19] ([Intel XE#2244])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@kms_dsc@dsc-basic.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - bat-bmg-1:          NOTRUN -> [SKIP][20] ([Intel XE#2234] / [Intel XE#2850]) +2 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - bat-bmg-1:          NOTRUN -> [SKIP][21] ([Intel XE#1091] / [Intel XE#2849]) +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
    - bat-bmg-1:          NOTRUN -> [SKIP][22] ([Intel XE#2229])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html

  * igt@xe_pat@pat-index-xehpc:
    - bat-bmg-1:          NOTRUN -> [SKIP][23] ([Intel XE#1420])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelp:
    - bat-bmg-1:          NOTRUN -> [SKIP][24] ([Intel XE#2245])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@xe_pat@pat-index-xelp.html

  * igt@xe_pat@pat-index-xelpg:
    - bat-bmg-1:          NOTRUN -> [SKIP][25] ([Intel XE#2236])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - bat-bmg-1:          NOTRUN -> [SKIP][26] ([Intel XE#3342])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-bmg-1/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_vm@munmap-style-unbind-userptr-inval-end:
    - bat-adlp-vf:        [PASS][27] -> [ABORT][28] ([Intel XE#3970])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/bat-adlp-vf/igt@xe_vm@munmap-style-unbind-userptr-inval-end.html
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/bat-adlp-vf/igt@xe_vm@munmap-style-unbind-userptr-inval-end.html

  
  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
  [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970


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

  * IGT: IGT_8364 -> IGTPW_13128
  * Linux: xe-3086-2e72fd09b4fb0823282977f0717159e47328a533 -> xe-3088-dd6a856541dd90fa4ef755783898fcfbea3b9961

  IGTPW_13128: 13128
  IGT_8364: 8364
  xe-3086-2e72fd09b4fb0823282977f0717159e47328a533: 2e72fd09b4fb0823282977f0717159e47328a533
  xe-3088-dd6a856541dd90fa4ef755783898fcfbea3b9961: dd6a856541dd90fa4ef755783898fcfbea3b9961

== Logs ==

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

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

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

* ✗ i915.CI.BAT: failure for Replace intel_sysfs_debugfs
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (5 preceding siblings ...)
  2025-05-14 19:24 ` ✗ Xe.CI.BAT: failure for Replace intel_sysfs_debugfs Patchwork
@ 2025-05-14 19:44 ` Patchwork
  2025-05-15  2:40 ` ✗ Xe.CI.Full: " Patchwork
  2025-05-20 19:29 ` [RFC v2 i-g-t 0/5] " Peter Senna Tschudin
  8 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-05-14 19:44 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

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

== Summary ==

CI Bug Log - changes from IGT_8364 -> IGTPW_13128
====================================================

Summary
-------

  **FAILURE**

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

Participating hosts (45 -> 44)
------------------------------

  Additional (1): bat-arlh-2 
  Missing    (2): bat-twl-1 fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries:
    - bat-mtlp-6:         [PASS][1] -> [SKIP][2] +1 other test skip
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-mtlp-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-mtlp-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-dg2-9:          [PASS][3] -> [SKIP][4] +1 other test skip
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg2-9/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg2-9/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-adlp-11:        [PASS][5] -> [SKIP][6] +1 other test skip
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-adlp-11/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-adlp-11/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-dg1-6:          [PASS][7] -> [SKIP][8] +1 other test skip
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg1-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg1-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-adlp-6:         [PASS][9] -> [SKIP][10] +1 other test skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-adlp-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-adlp-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-twl-2:          [PASS][11] -> [SKIP][12] +1 other test skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-twl-2/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-twl-2/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-dg2-11:         [PASS][13] -> [SKIP][14] +1 other test skip
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg2-11/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg2-11/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-dg2-14:         [PASS][15] -> [SKIP][16] +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg2-14/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg2-14/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-atsm-1:         [PASS][17] -> [SKIP][18] +1 other test skip
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-atsm-1/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-atsm-1/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-mtlp-9:         [PASS][19] -> [SKIP][20] +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-mtlp-9/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-mtlp-9/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-arls-6:         [PASS][21] -> [SKIP][22] +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-arls-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arls-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-mtlp-8:         [PASS][23] -> [SKIP][24] +1 other test skip
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-mtlp-8/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-mtlp-8/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-dg2-8:          [PASS][25] -> [SKIP][26] +1 other test skip
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg2-8/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg2-8/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-adls-6:         [PASS][27] -> [SKIP][28] +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-adls-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-adls-6/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-arlh-3:         [PASS][29] -> [SKIP][30] +1 other test skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-arlh-3/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-3/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-dg1-7:          [PASS][31] -> [SKIP][32] +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg1-7/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg1-7/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-adlp-9:         [PASS][33] -> [SKIP][34] +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-adlp-9/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-adlp-9/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html

  * igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries:
    - bat-rpls-4:         [PASS][35] -> [SKIP][36] +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-rpls-4/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-rpls-4/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
    - bat-arls-5:         [PASS][37] -> [SKIP][38] +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-arls-5/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arls-5/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
    - bat-rplp-1:         [PASS][39] -> [SKIP][40] +1 other test skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-rplp-1/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-rplp-1/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
    - fi-rkl-11600:       [PASS][41] -> [SKIP][42] +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-rkl-11600/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-rkl-11600/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
    - fi-tgl-1115g4:      [PASS][43] -> [SKIP][44] +1 other test skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-tgl-1115g4/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-tgl-1115g4/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@eof:
    - bat-arlh-2:         NOTRUN -> [SKIP][45] ([i915#11345] / [i915#11346]) +3 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@fbdev@eof.html

  * igt@fbdev@info:
    - bat-arlh-2:         NOTRUN -> [SKIP][46] ([i915#11346] / [i915#1849])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@fbdev@info.html

  * igt@gem_lmem_swapping@basic:
    - bat-arlh-2:         NOTRUN -> [SKIP][47] ([i915#10213] / [i915#11346] / [i915#11671]) +3 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@gem_lmem_swapping@basic.html

  * igt@gem_mmap@basic:
    - bat-arlh-2:         NOTRUN -> [SKIP][48] ([i915#11343] / [i915#11346])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@gem_mmap@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-arlh-2:         NOTRUN -> [SKIP][49] ([i915#10197] / [i915#10211] / [i915#11346] / [i915#11725])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_blits@basic:
    - bat-arlh-2:         NOTRUN -> [SKIP][50] ([i915#11346] / [i915#12637]) +4 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@gem_tiled_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-arlh-2:         NOTRUN -> [SKIP][51] ([i915#10206] / [i915#11346] / [i915#11724])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-arlh-2:         NOTRUN -> [SKIP][52] ([i915#10209] / [i915#11346] / [i915#11681])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live:
    - bat-arlh-2:         NOTRUN -> [ABORT][53] ([i915#13723]) +1 other test abort
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@i915_selftest@live.html

  * igt@i915_selftest@live@reset:
    - bat-atsm-1:         [PASS][54] -> [ABORT][55] ([i915#14201])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-atsm-1/igt@i915_selftest@live@reset.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-atsm-1/igt@i915_selftest@live@reset.html

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-3:         [PASS][56] -> [DMESG-FAIL][57] ([i915#12061]) +1 other test dmesg-fail
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-dg2-14:         [PASS][58] -> [DMESG-FAIL][59] ([i915#12061]) +1 other test dmesg-fail
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg2-14/igt@i915_selftest@live@workarounds.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg2-14/igt@i915_selftest@live@workarounds.html

  * igt@intel_hwmon@hwmon-read:
    - bat-arlh-2:         NOTRUN -> [SKIP][60] ([i915#11346] / [i915#11680] / [i915#7707]) +1 other test skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@intel_hwmon@hwmon-read.html

  * igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries:
    - fi-cfl-guc:         [PASS][61] -> [SKIP][62] +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-cfl-guc/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-cfl-guc/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-kbl-x1275:       [PASS][63] -> [SKIP][64] +1 other test skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-kbl-x1275/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-kbl-x1275/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-cfl-8109u:       [PASS][65] -> [SKIP][66] +1 other test skip
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-cfl-8109u/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-cfl-8109u/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-ilk-650:         [PASS][67] -> [SKIP][68] +1 other test skip
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-ilk-650/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-ilk-650/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-blb-e6850:       [PASS][69] -> [SKIP][70] +1 other test skip
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-blb-e6850/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-blb-e6850/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - bat-kbl-2:          [PASS][71] -> [SKIP][72] +1 other test skip
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-kbl-2/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-kbl-2/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-skl-6600u:       [PASS][73] -> [SKIP][74] +1 other test skip
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-skl-6600u/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-skl-6600u/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-cfl-8700k:       [PASS][75] -> [SKIP][76] +1 other test skip
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-cfl-8700k/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-cfl-8700k/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-ivb-3770:        [PASS][77] -> [SKIP][78] +1 other test skip
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-ivb-3770/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-ivb-3770/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-elk-e7500:       [PASS][79] -> [SKIP][80] +1 other test skip
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-elk-e7500/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-elk-e7500/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-bsw-nick:        [PASS][81] -> [SKIP][82] +1 other test skip
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-bsw-nick/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-bsw-nick/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-hsw-4770:        [PASS][83] -> [SKIP][84] +1 other test skip
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-hsw-4770/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-hsw-4770/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-kbl-guc:         [PASS][85] -> [SKIP][86] +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-kbl-guc/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-kbl-guc/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-bsw-n3050:       [PASS][87] -> [SKIP][88] +1 other test skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-bsw-n3050/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-bsw-n3050/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-pnv-d510:        [PASS][89] -> [SKIP][90] +1 other test skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-pnv-d510/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-pnv-d510/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
    - fi-glk-j4005:       [PASS][91] -> [SKIP][92] +1 other test skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-glk-j4005/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-glk-j4005/igt@intel_sysfs_debugfs@i915-debugfs-read-all-entries.html

  * igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries:
    - fi-kbl-7567u:       [PASS][93] -> [SKIP][94] +1 other test skip
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-kbl-7567u/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-kbl-7567u/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
    - fi-kbl-8809g:       [PASS][95] -> [SKIP][96] +1 other test skip
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-kbl-8809g/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-kbl-8809g/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
    - bat-apl-1:          [PASS][97] -> [SKIP][98] +1 other test skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-apl-1/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-apl-1/igt@intel_sysfs_debugfs@i915-sysfs-read-all-entries.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-arlh-2:         NOTRUN -> [SKIP][99] ([i915#10200] / [i915#11346] / [i915#11666] / [i915#12203])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-x-tiled-legacy:
    - bat-arlh-2:         NOTRUN -> [SKIP][100] ([i915#10200] / [i915#11346] / [i915#11666]) +8 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@kms_addfb_basic@basic-x-tiled-legacy.html

  * igt@kms_psr@psr-primary-page-flip:
    - bat-arlh-2:         NOTRUN -> [SKIP][101] ([i915#11346]) +34 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@kms_psr@psr-primary-page-flip.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-arlh-2:         NOTRUN -> [SKIP][102] ([i915#10208] / [i915#11346] / [i915#8809])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-read:
    - bat-arlh-2:         NOTRUN -> [SKIP][103] ([i915#10212] / [i915#11346] / [i915#11726])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-read:
    - bat-arlh-2:         NOTRUN -> [SKIP][104] ([i915#10214] / [i915#11346] / [i915#11726])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-write:
    - bat-arlh-2:         NOTRUN -> [SKIP][105] ([i915#10216] / [i915#11346] / [i915#11723])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arlh-2/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

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

  * igt@i915_selftest@live@workarounds:
    - bat-arls-5:         [DMESG-FAIL][108] ([i915#12061]) -> [PASS][109] +1 other test pass
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-arls-5/igt@i915_selftest@live@workarounds.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-arls-5/igt@i915_selftest@live@workarounds.html
    - bat-dg2-9:          [DMESG-FAIL][110] ([i915#12061]) -> [PASS][111] +1 other test pass
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg2-9/igt@i915_selftest@live@workarounds.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg2-9/igt@i915_selftest@live@workarounds.html
    - bat-dg2-11:         [DMESG-FAIL][112] ([i915#12061]) -> [PASS][113] +1 other test pass
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-dg2-11/igt@i915_selftest@live@workarounds.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-dg2-11/igt@i915_selftest@live@workarounds.html

  * igt@kms_hdmi_inject@inject-audio:
    - fi-tgl-1115g4:      [FAIL][114] ([i915#13930]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/fi-tgl-1115g4/igt@kms_hdmi_inject@inject-audio.html

  
#### Warnings ####

  * igt@i915_selftest@live:
    - bat-atsm-1:         [DMESG-FAIL][116] ([i915#12061] / [i915#13929]) -> [ABORT][117] ([i915#14201])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8364/bat-atsm-1/igt@i915_selftest@live.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_13128/bat-atsm-1/igt@i915_selftest@live.html

  
  [i915#10197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10197
  [i915#10200]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10200
  [i915#10206]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10206
  [i915#10208]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10208
  [i915#10209]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10209
  [i915#10211]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10211
  [i915#10212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10212
  [i915#10213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10213
  [i915#10214]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10214
  [i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216
  [i915#11343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11343
  [i915#11345]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11345
  [i915#11346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11346
  [i915#11666]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11666
  [i915#11671]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11671
  [i915#11680]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11680
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#11723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11723
  [i915#11724]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11724
  [i915#11725]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11725
  [i915#11726]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11726
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12203
  [i915#12637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12637
  [i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
  [i915#13723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13723
  [i915#13929]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13929
  [i915#13930]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13930
  [i915#14201]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14201
  [i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
  [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
  [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8364 -> IGTPW_13128
  * Linux: CI_DRM_16544 -> CI_DRM_16545

  CI-20190529: 20190529
  CI_DRM_16544: 2e72fd09b4fb0823282977f0717159e47328a533 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_16545: dd6a856541dd90fa4ef755783898fcfbea3b9961 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_13128: 13128
  IGT_8364: 8364

== Logs ==

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

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

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

* ✗ Xe.CI.Full: failure for Replace intel_sysfs_debugfs
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (6 preceding siblings ...)
  2025-05-14 19:44 ` ✗ i915.CI.BAT: " Patchwork
@ 2025-05-15  2:40 ` Patchwork
  2025-05-20 19:29 ` [RFC v2 i-g-t 0/5] " Peter Senna Tschudin
  8 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-05-15  2:40 UTC (permalink / raw)
  To: Peter Senna Tschudin; +Cc: igt-dev

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

== Series Details ==

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

== Summary ==

CI Bug Log - changes from XEIGT_8364_FULL -> XEIGTPW_13128_FULL
====================================================

Summary
-------

  **FAILURE**

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

### IGT changes ###

#### Possible regressions ####

  * igt@xe_module_load@reload-no-display:
    - shard-bmg:          [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-6/igt@xe_module_load@reload-no-display.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@xe_module_load@reload-no-display.html

  
#### Warnings ####

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
    - shard-dg2-set2:     [SKIP][3] ([Intel XE#4208]) -> [ABORT][4]
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html

  
New tests
---------

  New tests have been introduced between XEIGT_8364_FULL and XEIGTPW_13128_FULL:

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

  * igt@core_debugfs@debugfs-read-all-entries:
    - Statuses : 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.81] s

  * igt@core_debugfs_display_on_off@debugfs-read-all-entries-display-off:
    - Statuses : 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.06] s

  * igt@core_debugfs_display_on_off@debugfs-read-all-entries-display-on:
    - Statuses : 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 1.05] s

  * igt@core_sysfs@sysfs-read-all-entries:
    - Statuses : 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.08] s

  * igt@xe_debugfs@xe-base:
    - Statuses : 2 pass(s) 1 skip(s)
    - Exec time: [0.0, 0.00] s

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

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@pan:
    - shard-dg2-set2:     NOTRUN -> [SKIP][5] ([Intel XE#2134])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@fbdev@pan.html

  * igt@kms_3d:
    - shard-lnl:          NOTRUN -> [SKIP][6] ([Intel XE#1465])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-4/igt@kms_3d.html

  * igt@kms_async_flips@invalid-async-flip:
    - shard-bmg:          NOTRUN -> [SKIP][7] ([Intel XE#873])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_async_flips@invalid-async-flip.html
    - shard-lnl:          NOTRUN -> [SKIP][8] ([Intel XE#873])
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-7/igt@kms_async_flips@invalid-async-flip.html

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

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-dg2-set2:     [PASS][11] -> [SKIP][12] ([Intel XE#2351] / [Intel XE#4208]) +15 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - shard-lnl:          NOTRUN -> [SKIP][13] ([Intel XE#3658])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][14] ([Intel XE#316]) +1 other test skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html

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

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-dg2-set2:     NOTRUN -> [SKIP][16] ([Intel XE#1124]) +4 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-433/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-0:
    - shard-lnl:          NOTRUN -> [SKIP][17] ([Intel XE#1124]) +5 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@kms_big_fb@yf-tiled-8bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2328])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_big_fb@yf-tiled-addfb.html
    - shard-lnl:          NOTRUN -> [SKIP][19] ([Intel XE#1467])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-1/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_bw@connected-linear-tiling-1-displays-3840x2160p:
    - shard-lnl:          [PASS][20] -> [ABORT][21] ([Intel XE#4760])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-lnl-6/igt@kms_bw@connected-linear-tiling-1-displays-3840x2160p.html
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-7/igt@kms_bw@connected-linear-tiling-1-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][22] ([Intel XE#2191])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-1/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html

  * igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
    - shard-bmg:          [PASS][23] -> [SKIP][24] ([Intel XE#2314] / [Intel XE#2894])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-2/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#2314] / [Intel XE#2894]) +1 other test skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-2/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html
    - shard-lnl:          NOTRUN -> [SKIP][26] ([Intel XE#1512]) +1 other test skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-6/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html

  * igt@kms_bw@linear-tiling-1-displays-1920x1080p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][27] ([Intel XE#367])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@kms_bw@linear-tiling-1-displays-1920x1080p.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][28] ([Intel XE#2669]) +3 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-7/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-a-edp-1.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#2887]) +7 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-4/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][30] ([Intel XE#455] / [Intel XE#787]) +24 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][31] ([Intel XE#787]) +153 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][32] ([Intel XE#2887]) +10 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#3432])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#2652] / [Intel XE#787]) +12 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2.html

  * igt@kms_cdclk@plane-scaling:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#2724])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_color@ctm-negative:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#2325])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_chamelium_color@ctm-negative.html

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

  * igt@kms_chamelium_hpd@dp-hpd:
    - shard-lnl:          NOTRUN -> [SKIP][38] ([Intel XE#373]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-7/igt@kms_chamelium_hpd@dp-hpd.html

  * igt@kms_chamelium_hpd@dp-hpd-storm-disable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][39] ([Intel XE#373]) +1 other test skip
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html

  * igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#2252])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode.html

  * igt@kms_content_protection@atomic@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][41] ([Intel XE#1178]) +1 other test fail
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-2/igt@kms_content_protection@atomic@pipe-a-dp-2.html

  * igt@kms_content_protection@lic-type-0@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][42] ([Intel XE#3304])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_content_protection@lic-type-0@pipe-a-dp-4.html

  * igt@kms_content_protection@srm@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][43] ([Intel XE#1178]) +1 other test fail
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_content_protection@srm@pipe-a-dp-4.html

  * igt@kms_content_protection@uevent:
    - shard-lnl:          NOTRUN -> [SKIP][44] ([Intel XE#3278])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-random-256x85:
    - shard-bmg:          NOTRUN -> [SKIP][45] ([Intel XE#2320]) +3 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-1/igt@kms_cursor_crc@cursor-random-256x85.html

  * igt@kms_cursor_crc@cursor-random-32x32:
    - shard-lnl:          NOTRUN -> [SKIP][46] ([Intel XE#1424]) +3 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-6/igt@kms_cursor_crc@cursor-random-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#2321])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-2/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#2321])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-4/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
    - shard-lnl:          NOTRUN -> [SKIP][49] ([Intel XE#309]) +1 other test skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-2/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
    - shard-bmg:          [PASS][50] -> [SKIP][51] ([Intel XE#2291]) +5 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][52] ([Intel XE#4494])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-bmg:          NOTRUN -> [SKIP][53] ([Intel XE#2244])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-8/igt@kms_dsc@dsc-fractional-bpp.html
    - shard-lnl:          NOTRUN -> [SKIP][54] ([Intel XE#2244])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-1/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area:
    - shard-bmg:          NOTRUN -> [SKIP][55] ([Intel XE#4422])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html
    - shard-lnl:          NOTRUN -> [SKIP][56] ([Intel XE#4422])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-5/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html

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

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

  * igt@kms_flip@2x-plain-flip:
    - shard-bmg:          [PASS][59] -> [SKIP][60] ([Intel XE#2316]) +4 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-3/igt@kms_flip@2x-plain-flip.html
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip@2x-plain-flip-ts-check:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#1421]) +4 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@kms_flip@2x-plain-flip-ts-check.html
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#2316])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_flip@2x-plain-flip-ts-check.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank:
    - shard-dg2-set2:     NOTRUN -> [SKIP][63] ([Intel XE#4208] / [i915#2575]) +27 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_flip@flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3:
    - shard-bmg:          [PASS][64] -> [FAIL][65] ([Intel XE#3321]) +5 other tests fail
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-2/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][66] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@wf_vblank-ts-check@a-hdmi-a3:
    - shard-bmg:          [PASS][67] -> [FAIL][68] ([Intel XE#2882]) +2 other tests fail
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-8/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a3.html
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a3.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][69] ([Intel XE#1397] / [Intel XE#1745]) +1 other test skip
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-8/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-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][70] ([Intel XE#1397]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][72] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
    - shard-lnl:          NOTRUN -> [SKIP][73] ([Intel XE#1401] / [Intel XE#1745]) +2 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][74] ([Intel XE#2293]) +1 other test skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#2311]) +15 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#4141]) +4 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#2312]) +11 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-dg2-set2:     NOTRUN -> [SKIP][78] ([Intel XE#658])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-433/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
    - shard-bmg:          NOTRUN -> [SKIP][79] ([Intel XE#2352])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][80] ([Intel XE#651]) +8 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][81] ([Intel XE#651]) +12 other tests skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][82] ([Intel XE#653]) +6 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-433/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-lnl:          NOTRUN -> [SKIP][83] ([Intel XE#1469])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][84] ([Intel XE#656]) +24 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#2313]) +10 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][86] ([Intel XE#2351] / [Intel XE#4208]) +6 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-render.html

  * igt@kms_hdr@invalid-hdr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][87] ([Intel XE#455]) +9 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@kms_hdr@invalid-hdr.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-bmg:          [PASS][88] -> [SKIP][89] ([Intel XE#1503])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-8/igt@kms_hdr@static-toggle-dpms.html
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-4/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][90] ([Intel XE#346])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-7/igt@kms_joiner@basic-big-joiner.html
    - shard-lnl:          NOTRUN -> [SKIP][91] ([Intel XE#346])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-8/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-bmg:          [PASS][92] -> [SKIP][93] ([Intel XE#3012])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-3/igt@kms_joiner@basic-force-big-joiner.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_joiner@invalid-modeset-big-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][94] ([Intel XE#346])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_joiner@invalid-modeset-big-joiner.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][95] ([Intel XE#2934])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
    - shard-lnl:          NOTRUN -> [SKIP][96] ([Intel XE#2934])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-6/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_lease@lease-invalid-crtc:
    - shard-dg2-set2:     [PASS][97] -> [SKIP][98] ([Intel XE#4208] / [i915#2575]) +117 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_lease@lease-invalid-crtc.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_lease@lease-invalid-crtc.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-bmg:          NOTRUN -> [SKIP][99] ([Intel XE#2501])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_plane_lowres@tiling-x@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][100] ([Intel XE#599]) +3 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@kms_plane_lowres@tiling-x@pipe-b-edp-1.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][101] ([Intel XE#2393])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-8/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-bmg:          [PASS][102] -> [SKIP][103] ([Intel XE#4596])
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-4.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b:
    - shard-lnl:          NOTRUN -> [SKIP][104] ([Intel XE#2763]) +1 other test skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b:
    - shard-dg2-set2:     NOTRUN -> [SKIP][105] ([Intel XE#2763]) +11 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-433/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-b.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d:
    - shard-dg2-set2:     NOTRUN -> [SKIP][106] ([Intel XE#2763] / [Intel XE#455]) +4 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
    - shard-bmg:          NOTRUN -> [SKIP][107] ([Intel XE#2763]) +9 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-dg2-set2:     NOTRUN -> [SKIP][108] ([Intel XE#870])
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-433/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-dg2-set2:     NOTRUN -> [SKIP][109] ([Intel XE#1122]) +1 other test skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_pm_dc@dc3co-vpb-simulation.html

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

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-lnl:          NOTRUN -> [SKIP][111] ([Intel XE#3309])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-6/igt@kms_pm_dc@dc5-retention-flops.html
    - shard-bmg:          NOTRUN -> [SKIP][112] ([Intel XE#3309])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-2/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-lnl:          NOTRUN -> [SKIP][113] ([Intel XE#2893]) +1 other test skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-1/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][114] ([Intel XE#1489]) +2 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
    - shard-lnl:          NOTRUN -> [SKIP][115] ([Intel XE#2893] / [Intel XE#4608])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][116] ([Intel XE#4608]) +2 other tests skip
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-b-edp-1.html

  * igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][117] ([Intel XE#1489])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr@fbc-psr2-cursor-plane-move:
    - shard-bmg:          NOTRUN -> [SKIP][118] ([Intel XE#2234] / [Intel XE#2850]) +7 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_psr@fbc-psr2-cursor-plane-move.html

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

  * igt@kms_psr@fbc-psr2-dpms@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][120] ([Intel XE#4609]) +2 other tests skip
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-4/igt@kms_psr@fbc-psr2-dpms@edp-1.html

  * igt@kms_psr@fbc-psr2-primary-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][121] ([Intel XE#2850] / [Intel XE#929]) +8 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_psr@fbc-psr2-primary-render.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-dg2-set2:     NOTRUN -> [SKIP][122] ([Intel XE#2939])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-lnl:          NOTRUN -> [SKIP][123] ([Intel XE#3414] / [Intel XE#3904])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
    - shard-bmg:          NOTRUN -> [SKIP][124] ([Intel XE#3414] / [Intel XE#3904]) +2 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-4/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][125] ([Intel XE#3414]) +1 other test skip
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-bmg:          NOTRUN -> [SKIP][126] ([Intel XE#1499])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-7/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-lnl:          NOTRUN -> [SKIP][127] ([Intel XE#756])
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-6/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@xe_compute_preempt@compute-preempt@engine-drm_xe_engine_class_compute:
    - shard-dg2-set2:     NOTRUN -> [SKIP][128] ([Intel XE#1280] / [Intel XE#455])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@xe_compute_preempt@compute-preempt@engine-drm_xe_engine_class_compute.html

  * igt@xe_eudebug@basic-vm-bind-extended-discovery:
    - shard-lnl:          NOTRUN -> [SKIP][129] ([Intel XE#4837]) +8 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@xe_eudebug@basic-vm-bind-extended-discovery.html

  * igt@xe_eudebug_online@resume-dss:
    - shard-dg2-set2:     NOTRUN -> [SKIP][130] ([Intel XE#4837]) +1 other test skip
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_eudebug_online@resume-dss.html

  * igt@xe_evict_ccs@evict-overcommit-standalone-nofree-reopen:
    - shard-lnl:          NOTRUN -> [SKIP][131] ([Intel XE#688]) +1 other test skip
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-2/igt@xe_evict_ccs@evict-overcommit-standalone-nofree-reopen.html

  * igt@xe_exec_balancer@once-parallel-rebind:
    - shard-dg2-set2:     [PASS][132] -> [SKIP][133] ([Intel XE#4208]) +235 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@xe_exec_balancer@once-parallel-rebind.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_exec_balancer@once-parallel-rebind.html

  * igt@xe_exec_balancer@twice-virtual-basic:
    - shard-dg2-set2:     NOTRUN -> [SKIP][134] ([Intel XE#4208]) +123 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_exec_balancer@twice-virtual-basic.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
    - shard-bmg:          NOTRUN -> [SKIP][135] ([Intel XE#2322]) +5 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-7/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-rebind:
    - shard-dg2-set2:     [PASS][136] -> [SKIP][137] ([Intel XE#1392]) +2 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_exec_basic@multigpu-once-bindexecqueue-rebind.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-rebind.html

  * igt@xe_exec_basic@multigpu-once-userptr:
    - shard-lnl:          NOTRUN -> [SKIP][138] ([Intel XE#1392]) +5 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-6/igt@xe_exec_basic@multigpu-once-userptr.html

  * igt@xe_exec_fault_mode@many-bindexecqueue-userptr-invalidate:
    - shard-dg2-set2:     NOTRUN -> [SKIP][139] ([Intel XE#288]) +11 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@xe_exec_fault_mode@many-bindexecqueue-userptr-invalidate.html

  * igt@xe_exec_sip_eudebug@breakpoint-writesip-nodebug:
    - shard-bmg:          NOTRUN -> [SKIP][140] ([Intel XE#4837]) +8 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-4/igt@xe_exec_sip_eudebug@breakpoint-writesip-nodebug.html

  * igt@xe_exec_system_allocator@process-many-large-execqueues-mmap-free:
    - shard-dg2-set2:     NOTRUN -> [SKIP][141] ([Intel XE#4915]) +56 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@xe_exec_system_allocator@process-many-large-execqueues-mmap-free.html

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

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

  * igt@xe_live_ktest@xe_bo:
    - shard-dg2-set2:     [PASS][144] -> [SKIP][145] ([Intel XE#2229] / [Intel XE#455]) +1 other test skip
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_live_ktest@xe_bo.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_live_ktest@xe_bo.html

  * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
    - shard-dg2-set2:     [PASS][146] -> [SKIP][147] ([Intel XE#2229])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html

  * igt@xe_oa@closed-fd-and-unmapped-access:
    - shard-dg2-set2:     NOTRUN -> [SKIP][148] ([Intel XE#2541] / [Intel XE#3573])
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_oa@closed-fd-and-unmapped-access.html

  * igt@xe_pat@pat-index-xehpc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][149] ([Intel XE#2838] / [Intel XE#979])
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-433/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pm@d3cold-basic-exec:
    - shard-dg2-set2:     NOTRUN -> [SKIP][150] ([Intel XE#2284] / [Intel XE#366])
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_pm@d3cold-basic-exec.html
    - shard-bmg:          NOTRUN -> [SKIP][151] ([Intel XE#2284])
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@xe_pm@d3cold-basic-exec.html

  * igt@xe_pm@s3-d3cold-basic-exec:
    - shard-lnl:          NOTRUN -> [SKIP][152] ([Intel XE#2284] / [Intel XE#366])
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@xe_pm@s3-d3cold-basic-exec.html

  * igt@xe_pm@s3-multiple-execs:
    - shard-lnl:          NOTRUN -> [SKIP][153] ([Intel XE#584]) +1 other test skip
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-7/igt@xe_pm@s3-multiple-execs.html

  * igt@xe_pmu@fn-engine-activity-sched-if-idle:
    - shard-lnl:          NOTRUN -> [SKIP][154] ([Intel XE#4650])
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-2/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
    - shard-bmg:          NOTRUN -> [SKIP][155] ([Intel XE#4650])
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-2/igt@xe_pmu@fn-engine-activity-sched-if-idle.html

  * igt@xe_pmu@gt-frequency:
    - shard-dg2-set2:     NOTRUN -> [FAIL][156] ([Intel XE#4819]) +1 other test fail
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_pmu@gt-frequency.html

  * igt@xe_pxp@display-black-pxp-fb:
    - shard-bmg:          NOTRUN -> [SKIP][157] ([Intel XE#4733])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@xe_pxp@display-black-pxp-fb.html

  * igt@xe_pxp@pxp-src-to-pxp-dest-rendercopy:
    - shard-dg2-set2:     NOTRUN -> [SKIP][158] ([Intel XE#4733])
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@xe_pxp@pxp-src-to-pxp-dest-rendercopy.html

  * igt@xe_query@multigpu-query-engines:
    - shard-dg2-set2:     NOTRUN -> [SKIP][159] ([Intel XE#944]) +1 other test skip
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_query@multigpu-query-engines.html

  * igt@xe_query@multigpu-query-pxp-status:
    - shard-bmg:          NOTRUN -> [SKIP][160] ([Intel XE#944]) +2 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@xe_query@multigpu-query-pxp-status.html

  * igt@xe_query@multigpu-query-topology-l3-bank-mask:
    - shard-lnl:          NOTRUN -> [SKIP][161] ([Intel XE#944])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-4/igt@xe_query@multigpu-query-topology-l3-bank-mask.html

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

  * igt@xe_sriov_auto_provisioning@selfconfig-basic:
    - shard-bmg:          NOTRUN -> [SKIP][163] ([Intel XE#4130]) +1 other test skip
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@xe_sriov_auto_provisioning@selfconfig-basic.html

  * igt@xe_sriov_auto_provisioning@selfconfig-reprovision-increase-numvfs:
    - shard-lnl:          NOTRUN -> [SKIP][164] ([Intel XE#4130])
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-6/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-increase-numvfs.html

  * igt@xe_sriov_flr@flr-twice:
    - shard-dg2-set2:     NOTRUN -> [SKIP][165] ([Intel XE#4273])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@xe_sriov_flr@flr-twice.html

  * igt@xe_vm@bind-array-enobufs:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][166] ([Intel XE#3876])
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@xe_vm@bind-array-enobufs.html

  
#### Possible fixes ####

  * igt@fbdev@read:
    - shard-dg2-set2:     [SKIP][167] ([Intel XE#2134]) -> [PASS][168] +1 other test pass
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@fbdev@read.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@fbdev@read.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
    - shard-bmg:          [SKIP][169] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][170]
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-4/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-1/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][171] ([Intel XE#3862]) -> [PASS][172] +1 other test pass
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [SKIP][173] ([Intel XE#2351] / [Intel XE#4208]) -> [PASS][174] +6 other tests pass
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-bmg:          [SKIP][175] ([Intel XE#2291]) -> [PASS][176] +8 other tests pass
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-bmg:          [FAIL][177] ([Intel XE#4667]) -> [PASS][178]
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible:
    - shard-bmg:          [SKIP][179] ([Intel XE#2316]) -> [PASS][180] +14 other tests pass
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-4/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-7/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html

  * igt@kms_flip@busy-flip:
    - shard-dg2-set2:     [SKIP][181] ([Intel XE#4208] / [i915#2575]) -> [PASS][182] +88 other tests pass
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_flip@busy-flip.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_flip@busy-flip.html

  * igt@kms_flip@flip-vs-expired-vblank@b-dp4:
    - shard-dg2-set2:     [FAIL][183] ([Intel XE#301] / [Intel XE#3321]) -> [PASS][184]
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank@b-dp4.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_flip@flip-vs-expired-vblank@b-dp4.html

  * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6:
    - shard-dg2-set2:     [FAIL][185] ([Intel XE#301]) -> [PASS][186] +4 other tests pass
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-bmg:          [INCOMPLETE][187] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][188] +1 other test pass
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-8/igt@kms_flip@flip-vs-suspend-interruptible.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_plane_cursor@viewport:
    - shard-dg2-set2:     [FAIL][189] ([Intel XE#616]) -> [PASS][190] +1 other test pass
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_plane_cursor@viewport.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-433/igt@kms_plane_cursor@viewport.html

  * igt@kms_plane_multiple@2x-tiling-x:
    - shard-bmg:          [SKIP][191] ([Intel XE#4596]) -> [PASS][192] +1 other test pass
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-x.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-x.html

  * igt@kms_plane_scaling@intel-max-src-size:
    - shard-bmg:          [SKIP][193] ([Intel XE#2685] / [Intel XE#3307]) -> [PASS][194]
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-7/igt@kms_plane_scaling@intel-max-src-size.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-7/igt@kms_plane_scaling@intel-max-src-size.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-lnl:          [SKIP][195] ([Intel XE#4692]) -> [PASS][196]
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-lnl-7/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_setmode@basic@pipe-b-edp-1:
    - shard-lnl:          [FAIL][197] ([Intel XE#2883]) -> [PASS][198] +2 other tests pass
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-lnl-5/igt@kms_setmode@basic@pipe-b-edp-1.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-3/igt@kms_setmode@basic@pipe-b-edp-1.html

  * igt@xe_exec_basic@many-execqueues-many-vm-basic:
    - shard-dg2-set2:     [SKIP][199] ([Intel XE#4208]) -> [PASS][200] +183 other tests pass
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_exec_basic@many-execqueues-many-vm-basic.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_exec_basic@many-execqueues-many-vm-basic.html

  * igt@xe_module_load@reload-no-display:
    - shard-dg2-set2:     [FAIL][201] ([Intel XE#4208]) -> [PASS][202] +2 other tests pass
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_module_load@reload-no-display.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_module_load@reload-no-display.html

  * igt@xe_pm@s4-mocs:
    - shard-lnl:          [ABORT][203] ([Intel XE#1794]) -> [PASS][204]
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-lnl-2/igt@xe_pm@s4-mocs.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-lnl-1/igt@xe_pm@s4-mocs.html

  
#### Warnings ####

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - shard-dg2-set2:     [SKIP][205] ([Intel XE#623]) -> [SKIP][206] ([Intel XE#4208] / [i915#2575])
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][207] ([Intel XE#316]) -> [SKIP][208] ([Intel XE#2351] / [Intel XE#4208])
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][209] ([Intel XE#4208]) -> [SKIP][210] ([Intel XE#316]) +1 other test skip
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][211] ([Intel XE#316]) -> [SKIP][212] ([Intel XE#4208]) +2 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@kms_big_fb@linear-16bpp-rotate-270.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_big_fb@linear-16bpp-rotate-270.html

  * igt@kms_big_fb@linear-16bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][213] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][214] ([Intel XE#316]) +1 other test skip
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_big_fb@linear-16bpp-rotate-90.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_big_fb@linear-16bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-dg2-set2:     [SKIP][215] ([Intel XE#607]) -> [SKIP][216] ([Intel XE#2351] / [Intel XE#4208])
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-dg2-set2:     [SKIP][217] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][218] ([Intel XE#1124]) +3 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-dg2-set2:     [SKIP][219] ([Intel XE#4208]) -> [SKIP][220] ([Intel XE#1124]) +8 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][221] ([Intel XE#1124]) -> [SKIP][222] ([Intel XE#4208]) +8 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_big_fb@yf-tiled-8bpp-rotate-270.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_big_fb@yf-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-dg2-set2:     [SKIP][223] ([Intel XE#607]) -> [SKIP][224] ([Intel XE#4208])
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-432/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-dg2-set2:     [SKIP][225] ([Intel XE#1124]) -> [SKIP][226] ([Intel XE#2351] / [Intel XE#4208]) +4 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
    - shard-dg2-set2:     [SKIP][227] ([Intel XE#4208] / [i915#2575]) -> [SKIP][228] ([Intel XE#2191]) +2 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
    - shard-dg2-set2:     [SKIP][229] ([Intel XE#2191]) -> [SKIP][230] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-1-displays-3840x2160p:
    - shard-dg2-set2:     [SKIP][231] ([Intel XE#367]) -> [SKIP][232] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@kms_bw@linear-tiling-1-displays-3840x2160p.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_bw@linear-tiling-1-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-3-displays-2160x1440p:
    - shard-dg2-set2:     [SKIP][233] ([Intel XE#4208] / [i915#2575]) -> [SKIP][234] ([Intel XE#367]) +1 other test skip
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_bw@linear-tiling-3-displays-2160x1440p.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_bw@linear-tiling-3-displays-2160x1440p.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc:
    - shard-dg2-set2:     [SKIP][235] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][236] ([Intel XE#455] / [Intel XE#787]) +2 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs:
    - shard-dg2-set2:     [SKIP][237] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][238] ([Intel XE#4208]) +16 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-dg2-set2:     [SKIP][239] ([Intel XE#4208]) -> [SKIP][240] ([Intel XE#2907]) +2 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs:
    - shard-dg2-set2:     [SKIP][241] ([Intel XE#4208]) -> [SKIP][242] ([Intel XE#455] / [Intel XE#787]) +7 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs:
    - shard-dg2-set2:     [SKIP][243] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][244] ([Intel XE#2351] / [Intel XE#4208]) +4 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
    - shard-dg2-set2:     [SKIP][245] ([Intel XE#4208]) -> [SKIP][246] ([Intel XE#3442])
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-dg2-set2:     [SKIP][247] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][248] ([Intel XE#4418])
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_cdclk@mode-transition-all-outputs.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium_color@ctm-0-75:
    - shard-dg2-set2:     [SKIP][249] ([Intel XE#306]) -> [SKIP][250] ([Intel XE#4208] / [i915#2575]) +2 other tests skip
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_chamelium_color@ctm-0-75.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_chamelium_color@ctm-0-75.html

  * igt@kms_chamelium_color@ctm-max:
    - shard-dg2-set2:     [SKIP][251] ([Intel XE#4208] / [i915#2575]) -> [SKIP][252] ([Intel XE#306])
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_chamelium_color@ctm-max.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_chamelium_color@ctm-max.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-dg2-set2:     [SKIP][253] ([Intel XE#373]) -> [SKIP][254] ([Intel XE#4208] / [i915#2575]) +11 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-432/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     [SKIP][255] ([Intel XE#4208] / [i915#2575]) -> [SKIP][256] ([Intel XE#373]) +11 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_chamelium_hpd@vga-hpd.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg2-set2:     [FAIL][257] ([Intel XE#1178]) -> [SKIP][258] ([Intel XE#4208] / [i915#2575])
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_content_protection@atomic-dpms.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-dg2-set2:     [SKIP][259] ([Intel XE#4208] / [i915#2575]) -> [SKIP][260] ([Intel XE#307])
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_content_protection@dp-mst-lic-type-0.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg2-set2:     [SKIP][261] ([Intel XE#307]) -> [SKIP][262] ([Intel XE#4208] / [i915#2575])
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_content_protection@dp-mst-lic-type-1.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-bmg:          [SKIP][263] ([Intel XE#2341]) -> [FAIL][264] ([Intel XE#1178]) +1 other test fail
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-6/igt@kms_content_protection@legacy.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-1/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-0:
    - shard-dg2-set2:     [SKIP][265] ([Intel XE#4208] / [i915#2575]) -> [FAIL][266] ([Intel XE#1178]) +1 other test fail
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_content_protection@lic-type-0.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@uevent:
    - shard-dg2-set2:     [FAIL][267] ([Intel XE#1188]) -> [SKIP][268] ([Intel XE#4208] / [i915#2575])
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_content_protection@uevent.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_content_protection@uevent.html
    - shard-bmg:          [FAIL][269] ([Intel XE#1188]) -> [SKIP][270] ([Intel XE#2341])
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-2/igt@kms_content_protection@uevent.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-dg2-set2:     [SKIP][271] ([Intel XE#308]) -> [SKIP][272] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-434/igt@kms_cursor_crc@cursor-offscreen-512x512.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-dg2-set2:     [SKIP][273] ([Intel XE#4208] / [i915#2575]) -> [SKIP][274] ([Intel XE#308]) +1 other test skip
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-dg2-set2:     [SKIP][275] ([Intel XE#323]) -> [SKIP][276] ([Intel XE#4208] / [i915#2575])
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-dg2-set2:     [SKIP][277] ([Intel XE#4354]) -> [SKIP][278] ([Intel XE#4208])
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-432/igt@kms_dp_link_training@non-uhbr-mst.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-dg2-set2:     [SKIP][279] ([Intel XE#4331]) -> [SKIP][280] ([Intel XE#4208])
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_dp_linktrain_fallback@dsc-fallback.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area:
    - shard-dg2-set2:     [SKIP][281] ([Intel XE#4208]) -> [SKIP][282] ([Intel XE#4422])
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html

  * igt@kms_fbcon_fbt@psr:
    - shard-dg2-set2:     [SKIP][283] ([Intel XE#776]) -> [SKIP][284] ([Intel XE#4208])
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_fbcon_fbt@psr.html
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@chamelium:
    - shard-dg2-set2:     [SKIP][285] ([Intel XE#701]) -> [SKIP][286] ([Intel XE#4208] / [i915#2575])
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-434/igt@kms_feature_discovery@chamelium.html
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@display-3x:
    - shard-dg2-set2:     [SKIP][287] ([Intel XE#703]) -> [SKIP][288] ([Intel XE#4208] / [i915#2575])
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@kms_feature_discovery@display-3x.html
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_feature_discovery@display-3x.html

  * igt@kms_feature_discovery@display-4x:
    - shard-dg2-set2:     [SKIP][289] ([Intel XE#1138]) -> [SKIP][290] ([Intel XE#4208] / [i915#2575])
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_feature_discovery@display-4x.html
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_feature_discovery@display-4x.html

  * igt@kms_feature_discovery@psr1:
    - shard-dg2-set2:     [SKIP][291] ([Intel XE#4208] / [i915#2575]) -> [SKIP][292] ([Intel XE#1135])
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_feature_discovery@psr1.html
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_feature_discovery@psr1.html

  * igt@kms_feature_discovery@psr2:
    - shard-dg2-set2:     [SKIP][293] ([Intel XE#1135]) -> [SKIP][294] ([Intel XE#4208] / [i915#2575])
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_feature_discovery@psr2.html
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-flip-vs-expired-vblank:
    - shard-dg2-set2:     [FAIL][295] ([Intel XE#301]) -> [SKIP][296] ([Intel XE#4208] / [i915#2575])
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_flip@2x-flip-vs-expired-vblank.html
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_flip@2x-flip-vs-expired-vblank.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [FAIL][297] ([Intel XE#3321]) -> [SKIP][298] ([Intel XE#2316])
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-3/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-4/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling:
    - shard-dg2-set2:     [SKIP][299] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][300] ([Intel XE#455]) +2 other tests skip
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-dg2-set2:     [SKIP][301] ([Intel XE#455]) -> [SKIP][302] ([Intel XE#4208]) +5 other tests skip
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
    - shard-dg2-set2:     [SKIP][303] ([Intel XE#455]) -> [SKIP][304] ([Intel XE#2351] / [Intel XE#4208]) +2 other tests skip
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-432/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
    - shard-dg2-set2:     [SKIP][305] ([Intel XE#4208]) -> [SKIP][306] ([Intel XE#455]) +2 other tests skip
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff:
    - shard-dg2-set2:     [SKIP][307] ([Intel XE#4208]) -> [SKIP][308] ([Intel XE#651]) +22 other tests skip
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff.html
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][309] ([Intel XE#2311]) -> [SKIP][310] ([Intel XE#2312]) +13 other tests skip
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen:
    - shard-dg2-set2:     [SKIP][311] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][312] ([Intel XE#651]) +8 other tests skip
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen.html
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt:
    - shard-bmg:          [SKIP][313] ([Intel XE#4141]) -> [SKIP][314] ([Intel XE#2312]) +9 other tests skip
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][315] ([Intel XE#2312]) -> [SKIP][316] ([Intel XE#4141]) +8 other tests skip
   [315]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [316]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render:
    - shard-dg2-set2:     [SKIP][317] ([Intel XE#651]) -> [SKIP][318] ([Intel XE#4208]) +33 other tests skip
   [317]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html
   [318]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-onoff:
    - shard-dg2-set2:     [SKIP][319] ([Intel XE#651]) -> [SKIP][320] ([Intel XE#2351] / [Intel XE#4208]) +11 other tests skip
   [319]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-onoff.html
   [320]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-blt:
    - shard-bmg:          [SKIP][321] ([Intel XE#2312]) -> [SKIP][322] ([Intel XE#2311]) +18 other tests skip
   [321]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-blt.html
   [322]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
    - shard-dg2-set2:     [SKIP][323] ([Intel XE#658]) -> [SKIP][324] ([Intel XE#2351] / [Intel XE#4208])
   [323]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
   [324]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-bmg:          [SKIP][325] ([Intel XE#2312]) -> [SKIP][326] ([Intel XE#2313]) +23 other tests skip
   [325]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
   [326]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][327] ([Intel XE#653]) -> [SKIP][328] ([Intel XE#2351] / [Intel XE#4208]) +4 other tests skip
   [327]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html
   [328]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][329] ([Intel XE#2313]) -> [SKIP][330] ([Intel XE#2312]) +13 other tests skip
   [329]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
   [330]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-slowdraw:
    - shard-dg2-set2:     [SKIP][331] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][332] ([Intel XE#653]) +8 other tests skip
   [331]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html
   [332]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear:
    - shard-dg2-set2:     [SKIP][333] ([Intel XE#653]) -> [SKIP][334] ([Intel XE#4208]) +35 other tests skip
   [333]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear.html
   [334]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-blt:
    - shard-dg2-set2:     [SKIP][335] ([Intel XE#4208]) -> [SKIP][336] ([Intel XE#653]) +18 other tests skip
   [335]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-blt.html
   [336]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][337] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][338] ([Intel XE#3544])
   [337]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-3/igt@kms_hdr@brightness-with-hdr.html
   [338]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-dg2-set2:     [SKIP][339] ([Intel XE#2925]) -> [SKIP][340] ([Intel XE#4208])
   [339]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_joiner@basic-force-ultra-joiner.html
   [340]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_joiner@basic-force-ultra-joiner.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-dg2-set2:     [SKIP][341] ([Intel XE#2927]) -> [SKIP][342] ([Intel XE#4208])
   [341]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_joiner@basic-ultra-joiner.html
   [342]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
    - shard-dg2-set2:     [SKIP][343] ([Intel XE#4208]) -> [SKIP][344] ([Intel XE#2925])
   [343]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
   [344]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html

  * igt@kms_panel_fitting@legacy:
    - shard-dg2-set2:     [SKIP][345] ([Intel XE#4208] / [i915#2575]) -> [SKIP][346] ([Intel XE#455]) +5 other tests skip
   [345]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_panel_fitting@legacy.html
   [346]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-bmg:          [SKIP][347] ([Intel XE#5021]) -> [SKIP][348] ([Intel XE#4596])
   [347]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-8/igt@kms_plane_multiple@2x-tiling-y.html
   [348]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-y.html
    - shard-dg2-set2:     [SKIP][349] ([Intel XE#5021]) -> [SKIP][350] ([Intel XE#4208] / [i915#2575])
   [349]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_plane_multiple@2x-tiling-y.html
   [350]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-dg2-set2:     [SKIP][351] ([Intel XE#4208] / [i915#2575]) -> [SKIP][352] ([Intel XE#5020])
   [351]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_plane_multiple@tiling-y.html
   [352]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation:
    - shard-dg2-set2:     [SKIP][353] ([Intel XE#4208] / [i915#2575]) -> [SKIP][354] ([Intel XE#2763] / [Intel XE#455]) +2 other tests skip
   [353]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation.html
   [354]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling:
    - shard-dg2-set2:     [SKIP][355] ([Intel XE#2763] / [Intel XE#455]) -> [SKIP][356] ([Intel XE#4208] / [i915#2575]) +2 other tests skip
   [355]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html
   [356]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-dg2-set2:     [SKIP][357] ([Intel XE#2938]) -> [SKIP][358] ([Intel XE#4208])
   [357]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@kms_pm_backlight@brightness-with-dpms.html
   [358]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2-set2:     [SKIP][359] ([Intel XE#4208]) -> [SKIP][360] ([Intel XE#870]) +2 other tests skip
   [359]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_pm_backlight@fade-with-suspend.html
   [360]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2-set2:     [SKIP][361] ([Intel XE#4208]) -> [SKIP][362] ([Intel XE#1129])
   [361]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_pm_dc@dc5-psr.html
   [362]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_properties@get_properties-sanity-atomic:
    - shard-dg2-set2:     [SKIP][363] ([Intel XE#4208] / [i915#2575]) -> [FAIL][364] ([Intel XE#5017])
   [363]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_properties@get_properties-sanity-atomic.html
   [364]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_properties@get_properties-sanity-atomic.html

  * igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
    - shard-dg2-set2:     [SKIP][365] ([Intel XE#4208]) -> [SKIP][366] ([Intel XE#1489]) +9 other tests skip
   [365]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
   [366]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
    - shard-dg2-set2:     [SKIP][367] ([Intel XE#1489]) -> [SKIP][368] ([Intel XE#4208]) +11 other tests skip
   [367]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
   [368]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr@fbc-pr-cursor-blt:
    - shard-dg2-set2:     [SKIP][369] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][370] ([Intel XE#2351] / [Intel XE#4208]) +3 other tests skip
   [369]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-434/igt@kms_psr@fbc-pr-cursor-blt.html
   [370]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_psr@fbc-pr-cursor-blt.html

  * igt@kms_psr@fbc-pr-cursor-plane-move:
    - shard-dg2-set2:     [SKIP][371] ([Intel XE#4208]) -> [SKIP][372] ([Intel XE#2850] / [Intel XE#929]) +7 other tests skip
   [371]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_psr@fbc-pr-cursor-plane-move.html
   [372]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_psr@fbc-pr-cursor-plane-move.html

  * igt@kms_psr@fbc-psr2-sprite-plane-move:
    - shard-dg2-set2:     [SKIP][373] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][374] ([Intel XE#4208]) +11 other tests skip
   [373]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@kms_psr@fbc-psr2-sprite-plane-move.html
   [374]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_psr@fbc-psr2-sprite-plane-move.html

  * igt@kms_psr@psr-dpms:
    - shard-dg2-set2:     [SKIP][375] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][376] ([Intel XE#2850] / [Intel XE#929]) +4 other tests skip
   [375]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_psr@psr-dpms.html
   [376]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@kms_psr@psr-dpms.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2-set2:     [SKIP][377] ([Intel XE#3414]) -> [SKIP][378] ([Intel XE#4208] / [i915#2575])
   [377]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_rotation_crc@primary-rotation-270.html
   [378]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     [SKIP][379] ([Intel XE#4208] / [i915#2575]) -> [SKIP][380] ([Intel XE#3414]) +2 other tests skip
   [379]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
   [380]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-dg2-set2:     [SKIP][381] ([Intel XE#1127]) -> [SKIP][382] ([Intel XE#4208] / [i915#2575])
   [381]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-432/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
   [382]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][383] ([Intel XE#2426]) -> [SKIP][384] ([Intel XE#2509])
   [383]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [384]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_vrr@flipline:
    - shard-dg2-set2:     [SKIP][385] ([Intel XE#455]) -> [SKIP][386] ([Intel XE#4208] / [i915#2575]) +13 other tests skip
   [385]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@kms_vrr@flipline.html
   [386]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_vrr@flipline.html

  * igt@kms_writeback@writeback-check-output:
    - shard-dg2-set2:     [SKIP][387] ([Intel XE#4208] / [i915#2575]) -> [SKIP][388] ([Intel XE#756])
   [387]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@kms_writeback@writeback-check-output.html
   [388]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-dg2-set2:     [SKIP][389] ([Intel XE#756]) -> [SKIP][390] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [389]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@kms_writeback@writeback-fb-id.html
   [390]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@kms_writeback@writeback-fb-id.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-dg2-set2:     [SKIP][391] ([Intel XE#1091] / [Intel XE#2849]) -> [SKIP][392] ([Intel XE#4208] / [i915#2575])
   [391]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-434/igt@sriov_basic@enable-vfs-autoprobe-off.html
   [392]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
    - shard-dg2-set2:     [SKIP][393] ([Intel XE#4208] / [i915#2575]) -> [SKIP][394] ([Intel XE#1091] / [Intel XE#2849])
   [393]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
   [394]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html

  * igt@xe_compute_preempt@compute-preempt:
    - shard-dg2-set2:     [SKIP][395] ([Intel XE#4208]) -> [SKIP][396] ([Intel XE#1280] / [Intel XE#455])
   [395]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_compute_preempt@compute-preempt.html
   [396]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@xe_compute_preempt@compute-preempt.html

  * igt@xe_compute_preempt@compute-preempt-many:
    - shard-dg2-set2:     [SKIP][397] ([Intel XE#1280] / [Intel XE#455]) -> [SKIP][398] ([Intel XE#4208]) +1 other test skip
   [397]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-434/igt@xe_compute_preempt@compute-preempt-many.html
   [398]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_compute_preempt@compute-preempt-many.html

  * igt@xe_copy_basic@mem-copy-linear-0xfd:
    - shard-dg2-set2:     [SKIP][399] ([Intel XE#4208]) -> [SKIP][400] ([Intel XE#1123])
   [399]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_copy_basic@mem-copy-linear-0xfd.html
   [400]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@xe_copy_basic@mem-copy-linear-0xfd.html

  * igt@xe_copy_basic@mem-copy-linear-0xfffe:
    - shard-dg2-set2:     [SKIP][401] ([Intel XE#1123]) -> [SKIP][402] ([Intel XE#4208]) +1 other test skip
   [401]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_copy_basic@mem-copy-linear-0xfffe.html
   [402]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_copy_basic@mem-copy-linear-0xfffe.html

  * igt@xe_eu_stall@blocking-read:
    - shard-dg2-set2:     [SKIP][403] ([Intel XE#4208]) -> [SKIP][404] ([Intel XE#4497])
   [403]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_eu_stall@blocking-read.html
   [404]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_eu_stall@blocking-read.html

  * igt@xe_eu_stall@invalid-gt-id:
    - shard-dg2-set2:     [SKIP][405] ([Intel XE#4497]) -> [SKIP][406] ([Intel XE#4208])
   [405]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@xe_eu_stall@invalid-gt-id.html
   [406]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_eu_stall@invalid-gt-id.html

  * igt@xe_eudebug@basic-close:
    - shard-dg2-set2:     [SKIP][407] ([Intel XE#4837]) -> [SKIP][408] ([Intel XE#4208]) +17 other tests skip
   [407]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-434/igt@xe_eudebug@basic-close.html
   [408]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_eudebug@basic-close.html

  * igt@xe_eudebug_sriov@deny-eudebug:
    - shard-dg2-set2:     [SKIP][409] ([Intel XE#4208]) -> [SKIP][410] ([Intel XE#4518])
   [409]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_eudebug_sriov@deny-eudebug.html
   [410]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@xe_eudebug_sriov@deny-eudebug.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
    - shard-dg2-set2:     [SKIP][411] ([Intel XE#4208]) -> [SKIP][412] ([Intel XE#1392]) +2 other tests skip
   [411]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
   [412]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html

  * igt@xe_exec_basic@multigpu-once-rebind:
    - shard-dg2-set2:     [SKIP][413] ([Intel XE#1392]) -> [SKIP][414] ([Intel XE#4208]) +2 other tests skip
   [413]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-432/igt@xe_exec_basic@multigpu-once-rebind.html
   [414]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_exec_basic@multigpu-once-rebind.html

  * igt@xe_exec_fault_mode@twice-userptr-invalidate-race:
    - shard-dg2-set2:     [SKIP][415] ([Intel XE#288]) -> [SKIP][416] ([Intel XE#4208]) +36 other tests skip
   [415]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html
   [416]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html

  * igt@xe_exec_fault_mode@twice-userptr-rebind-imm:
    - shard-dg2-set2:     [SKIP][417] ([Intel XE#4208]) -> [SKIP][418] ([Intel XE#288]) +23 other tests skip
   [417]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html
   [418]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-lr:
    - shard-dg2-set2:     [SKIP][419] ([Intel XE#2360]) -> [SKIP][420] ([Intel XE#4208])
   [419]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html
   [420]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html

  * igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence:
    - shard-dg2-set2:     [SKIP][421] ([Intel XE#4208]) -> [SKIP][422] ([Intel XE#2360])
   [421]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html
   [422]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html

  * igt@xe_exec_sip_eudebug@breakpoint-writesip:
    - shard-dg2-set2:     [SKIP][423] ([Intel XE#4208]) -> [SKIP][424] ([Intel XE#4837]) +14 other tests skip
   [423]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_exec_sip_eudebug@breakpoint-writesip.html
   [424]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_exec_sip_eudebug@breakpoint-writesip.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-mmap-shared-nomemset:
    - shard-dg2-set2:     [SKIP][425] ([Intel XE#4915]) -> [SKIP][426] ([Intel XE#4208]) +225 other tests skip
   [425]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_exec_system_allocator@threads-shared-vm-many-mmap-shared-nomemset.html
   [426]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_exec_system_allocator@threads-shared-vm-many-mmap-shared-nomemset.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-stride-new-race-nomemset:
    - shard-dg2-set2:     [SKIP][427] ([Intel XE#4208]) -> [SKIP][428] ([Intel XE#4915]) +171 other tests skip
   [427]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-new-race-nomemset.html
   [428]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-new-race-nomemset.html

  * igt@xe_media_fill@media-fill:
    - shard-dg2-set2:     [SKIP][429] ([Intel XE#560]) -> [SKIP][430] ([Intel XE#4208])
   [429]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-463/igt@xe_media_fill@media-fill.html
   [430]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_media_fill@media-fill.html

  * igt@xe_oa@oa-regs-whitelisted:
    - shard-dg2-set2:     [SKIP][431] ([Intel XE#4208]) -> [SKIP][432] ([Intel XE#2541] / [Intel XE#3573]) +4 other tests skip
   [431]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_oa@oa-regs-whitelisted.html
   [432]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-463/igt@xe_oa@oa-regs-whitelisted.html

  * igt@xe_oa@syncs-syncobj-cfg:
    - shard-dg2-set2:     [SKIP][433] ([Intel XE#4208]) -> [SKIP][434] ([Intel XE#2541] / [Intel XE#3573] / [Intel XE#4501]) +2 other tests skip
   [433]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_oa@syncs-syncobj-cfg.html
   [434]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_oa@syncs-syncobj-cfg.html

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

  * igt@xe_oa@whitelisted-registers-userspace-config:
    - shard-dg2-set2:     [SKIP][437] ([Intel XE#2541] / [Intel XE#3573]) -> [SKIP][438] ([Intel XE#4208]) +11 other tests skip
   [437]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-434/igt@xe_oa@whitelisted-registers-userspace-config.html
   [438]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_oa@whitelisted-registers-userspace-config.html

  * igt@xe_pm@d3cold-mmap-system:
    - shard-dg2-set2:     [SKIP][439] ([Intel XE#4208]) -> [SKIP][440] ([Intel XE#2284] / [Intel XE#366])
   [439]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_pm@d3cold-mmap-system.html
   [440]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-432/igt@xe_pm@d3cold-mmap-system.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-dg2-set2:     [SKIP][441] ([Intel XE#2284] / [Intel XE#366]) -> [SKIP][442] ([Intel XE#4208]) +1 other test skip
   [441]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@xe_pm@s2idle-d3cold-basic-exec.html
   [442]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_pm@s2idle-d3cold-basic-exec.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-dg2-set2:     [SKIP][443] ([Intel XE#579]) -> [SKIP][444] ([Intel XE#4208])
   [443]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_pm@vram-d3cold-threshold.html
   [444]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_pmu@all-fn-engine-activity-load:
    - shard-dg2-set2:     [SKIP][445] ([Intel XE#4208]) -> [SKIP][446] ([Intel XE#4650]) +1 other test skip
   [445]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_pmu@all-fn-engine-activity-load.html
   [446]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_pmu@all-fn-engine-activity-load.html

  * igt@xe_pxp@pxp-termination-key-update-post-rpm:
    - shard-dg2-set2:     [SKIP][447] ([Intel XE#4733]) -> [SKIP][448] ([Intel XE#4208])
   [447]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-434/igt@xe_pxp@pxp-termination-key-update-post-rpm.html
   [448]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_pxp@pxp-termination-key-update-post-rpm.html

  * igt@xe_query@multigpu-query-oa-units:
    - shard-dg2-set2:     [SKIP][449] ([Intel XE#944]) -> [SKIP][450] ([Intel XE#4208]) +3 other tests skip
   [449]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@xe_query@multigpu-query-oa-units.html
   [450]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_query@multigpu-query-oa-units.html

  * igt@xe_query@multigpu-query-uc-fw-version-guc:
    - shard-dg2-set2:     [SKIP][451] ([Intel XE#4208]) -> [SKIP][452] ([Intel XE#944])
   [451]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_query@multigpu-query-uc-fw-version-guc.html
   [452]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-433/igt@xe_query@multigpu-query-uc-fw-version-guc.html

  * igt@xe_render_copy@render-stress-1-copies:
    - shard-dg2-set2:     [SKIP][453] ([Intel XE#4814]) -> [SKIP][454] ([Intel XE#4208])
   [453]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-435/igt@xe_render_copy@render-stress-1-copies.html
   [454]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_render_copy@render-stress-1-copies.html

  * igt@xe_render_copy@render-stress-4-copies:
    - shard-dg2-set2:     [SKIP][455] ([Intel XE#4208]) -> [SKIP][456] ([Intel XE#4814])
   [455]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_render_copy@render-stress-4-copies.html
   [456]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-435/igt@xe_render_copy@render-stress-4-copies.html

  * igt@xe_sriov_auto_provisioning@exclusive-ranges:
    - shard-dg2-set2:     [SKIP][457] ([Intel XE#4130]) -> [SKIP][458] ([Intel XE#4208])
   [457]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-433/igt@xe_sriov_auto_provisioning@exclusive-ranges.html
   [458]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_sriov_auto_provisioning@exclusive-ranges.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-dg2-set2:     [SKIP][459] ([Intel XE#3342]) -> [SKIP][460] ([Intel XE#4208])
   [459]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-436/igt@xe_sriov_flr@flr-vf1-clear.html
   [460]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-464/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_sriov_scheduling@equal-throughput:
    - shard-dg2-set2:     [SKIP][461] ([Intel XE#4208]) -> [SKIP][462] ([Intel XE#4351])
   [461]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8364/shard-dg2-464/igt@xe_sriov_scheduling@equal-throughput.html
   [462]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_13128/shard-dg2-434/igt@xe_sriov_scheduling@equal-throughput.html

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

  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [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#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
  [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#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#1465]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1465
  [Intel XE#1467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1467
  [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#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
  [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#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [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#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [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#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
  [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#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2392
  [Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2501
  [Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [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#2685]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2685
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
  [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
  [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#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
  [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#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
  [Intel XE#2934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2934
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#2939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2939
  [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#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
  [Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
  [Intel XE#3307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3307
  [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#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#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
  [Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
  [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#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [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#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
  [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#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
  [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#4418]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4418
  [Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
  [Intel XE#4494]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4494
  [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#4667]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4667
  [Intel XE#4692]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4692
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4760
  [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#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#5017]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5017
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#560]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/560
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
  [Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#623]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/623
  [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#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/701
  [Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
  [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
  [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#873]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/873
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575


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

  * IGT: IGT_8364 -> IGTPW_13128
  * Linux: xe-3086-2e72fd09b4fb0823282977f0717159e47328a533 -> xe-3088-dd6a856541dd90fa4ef755783898fcfbea3b9961

  IGTPW_13128: 13128
  IGT_8364: 8364
  xe-3086-2e72fd09b4fb0823282977f0717159e47328a533: 2e72fd09b4fb0823282977f0717159e47328a533
  xe-3088-dd6a856541dd90fa4ef755783898fcfbea3b9961: dd6a856541dd90fa4ef755783898fcfbea3b9961

== Logs ==

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

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

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

* Re: [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory
  2025-05-14 17:51 ` [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory Peter Senna Tschudin
@ 2025-05-15  8:51   ` Zbigniew Kempczyński
  2025-05-15  9:04     ` Peter Senna Tschudin
  2025-05-15 16:40     ` Peter Senna Tschudin
  0 siblings, 2 replies; 20+ messages in thread
From: Zbigniew Kempczyński @ 2025-05-15  8:51 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: igt-dev, marcin.bernatowicz, himanshu.girotra, aditya.chauhan,
	pravalika.gurram, sai.gowtham.ch, ramadevi.gandi, lucas.demarchi,
	rodrigo.vivi, kamil.konieczny, katarzyna.piecielska

On Wed, May 14, 2025 at 07:51:34PM +0200, Peter Senna Tschudin wrote:
> Introduces igt_dir_explorer_read_and_discard_all(), a function that
> performs a recursive scan of all files within a directory. Each file is
> read, and its content is discarded.
> 
> This functionality is utilized in the following tests:
> - core_debugfs
> - core_debugfs_display_on_off
> - core_sysfs
> 
> This addition enhances the ability to efficiently handle directory
> traversal and file processing in tests.
> 
> Cc: marcin.bernatowicz@intel.com
> Cc: himanshu.girotra@intel.com
> Cc: aditya.chauhan@intel.com
> Cc: pravalika.gurram@intel.com
> Cc: sai.gowtham.ch@intel.com
> Cc: ramadevi.gandi@intel.com
> Cc: lucas.demarchi@intel.com
> Cc: rodrigo.vivi@intel.com
> Cc: kamil.konieczny@linux.intel.com
> Cc: katarzyna.piecielska@intel.com
> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
> ---
>  lib/igt_dir_explorer.c | 72 ++++++++++++++++++++++++++++++++++++++++++
>  lib/igt_dir_explorer.h | 10 ++++++
>  lib/meson.build        |  1 +
>  3 files changed, 83 insertions(+)
>  create mode 100644 lib/igt_dir_explorer.c
>  create mode 100644 lib/igt_dir_explorer.h
> 
> diff --git a/lib/igt_dir_explorer.c b/lib/igt_dir_explorer.c
> new file mode 100644
> index 000000000..d47e08535
> --- /dev/null
> +++ b/lib/igt_dir_explorer.c
> @@ -0,0 +1,72 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#include <dirent.h>
> +#include <fcntl.h>
> +
> +#include "igt.h"
> +#include "igt_dir_explorer.h"
> +
> +void igt_dir_explorer_read_and_discard_all(int path_fd, int indent)

Just loose thought - if you're doing recursive directory traversal,
wouldn't be better to pass function (kind of callback) which would be
called for each file/dir entry? I mean single traversal code, and
multiple callbacks for different use cases.

--
Zbigniew

> +{
> +	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);
> +			igt_dir_explorer_read_and_discard_all(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);
> +}
> diff --git a/lib/igt_dir_explorer.h b/lib/igt_dir_explorer.h
> new file mode 100644
> index 000000000..b767928a5
> --- /dev/null
> +++ b/lib/igt_dir_explorer.h
> @@ -0,0 +1,10 @@
> +/* SPDX-License-Identifier: MIT
> + * Copyright © 2024 Intel Corporation
> + */
> +
> +#ifndef IGT_DIR_EXPLORER_H
> +#define IGT_DIR_EXPLORER_H
> +
> +void igt_dir_explorer_read_and_discard_all(int path_fd, int indent);
> +
> +#endif /* IGT_DIR_EXPLORER_H */
> diff --git a/lib/meson.build b/lib/meson.build
> index b58976a43..f98265100 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -90,6 +90,7 @@ lib_sources = [
>  	'igt_kms.c',
>  	'igt_fb.c',
>  	'igt_core.c',
> +	'igt_dir_explorer.c',
>  	'igt_draw.c',
>  	'igt_list.c',
>  	'igt_map.c',
> -- 
> 2.43.0
> 

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

* Re: [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory
  2025-05-15  8:51   ` Zbigniew Kempczyński
@ 2025-05-15  9:04     ` Peter Senna Tschudin
  2025-05-16  5:35       ` Zbigniew Kempczyński
  2025-05-15 16:40     ` Peter Senna Tschudin
  1 sibling, 1 reply; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-15  9:04 UTC (permalink / raw)
  To: Zbigniew Kempczyński
  Cc: igt-dev, marcin.bernatowicz, himanshu.girotra, aditya.chauhan,
	pravalika.gurram, sai.gowtham.ch, ramadevi.gandi, lucas.demarchi,
	rodrigo.vivi, kamil.konieczny, katarzyna.piecielska



On 5/15/2025 10:51 AM, Zbigniew Kempczyński wrote:
> On Wed, May 14, 2025 at 07:51:34PM +0200, Peter Senna Tschudin wrote:
>> Introduces igt_dir_explorer_read_and_discard_all(), a function that
>> performs a recursive scan of all files within a directory. Each file is
>> read, and its content is discarded.
>>
>> This functionality is utilized in the following tests:
>> - core_debugfs
>> - core_debugfs_display_on_off
>> - core_sysfs
>>
>> This addition enhances the ability to efficiently handle directory
>> traversal and file processing in tests.
>>
>> Cc: marcin.bernatowicz@intel.com
>> Cc: himanshu.girotra@intel.com
>> Cc: aditya.chauhan@intel.com
>> Cc: pravalika.gurram@intel.com
>> Cc: sai.gowtham.ch@intel.com
>> Cc: ramadevi.gandi@intel.com
>> Cc: lucas.demarchi@intel.com
>> Cc: rodrigo.vivi@intel.com
>> Cc: kamil.konieczny@linux.intel.com
>> Cc: katarzyna.piecielska@intel.com
>> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
>> ---
>>  lib/igt_dir_explorer.c | 72 ++++++++++++++++++++++++++++++++++++++++++
>>  lib/igt_dir_explorer.h | 10 ++++++
>>  lib/meson.build        |  1 +
>>  3 files changed, 83 insertions(+)
>>  create mode 100644 lib/igt_dir_explorer.c
>>  create mode 100644 lib/igt_dir_explorer.h
>>
>> diff --git a/lib/igt_dir_explorer.c b/lib/igt_dir_explorer.c
>> new file mode 100644
>> index 000000000..d47e08535
>> --- /dev/null
>> +++ b/lib/igt_dir_explorer.c
>> @@ -0,0 +1,72 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#include <dirent.h>
>> +#include <fcntl.h>
>> +
>> +#include "igt.h"
>> +#include "igt_dir_explorer.h"
>> +
>> +void igt_dir_explorer_read_and_discard_all(int path_fd, int indent)
> 
> Just loose thought - if you're doing recursive directory traversal,
> wouldn't be better to pass function (kind of callback) which would be
> called for each file/dir entry? I mean single traversal code, and
> multiple callbacks for different use cases.

I like the idea. Can you help me create a spec for it? There is more than
just what to do. There are cases where we may want to test only specific
files, and cases where we do not want to test specific files. Ideas:
 - Accept a callback that performs the action on each file. Read or write
   for example
 - Accept specification for which files to read, and which not to read.
 - Maybe an optional blocking callback? do not proceed to the next file
   until this one returns. This is useful for an async reset for example.
 - Limits? Depth, number of files, wait between reads?
 - Concurrency? Try read them all at the same time?
 - Random order for doing the action on the file?

Which ones of these make sense, and what else can we customize?

Would it be ok to delay these improvements to a next iteration? There is
some urgency in solving the issues I created with intel_sysfs_debugfs.

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

* Re: [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory
  2025-05-15  8:51   ` Zbigniew Kempczyński
  2025-05-15  9:04     ` Peter Senna Tschudin
@ 2025-05-15 16:40     ` Peter Senna Tschudin
  2025-05-16  5:46       ` Zbigniew Kempczyński
  1 sibling, 1 reply; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-15 16:40 UTC (permalink / raw)
  To: Zbigniew Kempczyński
  Cc: igt-dev, marcin.bernatowicz, himanshu.girotra, aditya.chauhan,
	pravalika.gurram, sai.gowtham.ch, ramadevi.gandi, lucas.demarchi,
	rodrigo.vivi, kamil.konieczny, katarzyna.piecielska



On 5/15/2025 10:51 AM, Zbigniew Kempczyński wrote:
> On Wed, May 14, 2025 at 07:51:34PM +0200, Peter Senna Tschudin wrote:
>> Introduces igt_dir_explorer_read_and_discard_all(), a function that
>> performs a recursive scan of all files within a directory. Each file is
>> read, and its content is discarded.
>>
>> This functionality is utilized in the following tests:
>> - core_debugfs
>> - core_debugfs_display_on_off
>> - core_sysfs
>>
>> This addition enhances the ability to efficiently handle directory
>> traversal and file processing in tests.
>>
>> Cc: marcin.bernatowicz@intel.com
>> Cc: himanshu.girotra@intel.com
>> Cc: aditya.chauhan@intel.com
>> Cc: pravalika.gurram@intel.com
>> Cc: sai.gowtham.ch@intel.com
>> Cc: ramadevi.gandi@intel.com
>> Cc: lucas.demarchi@intel.com
>> Cc: rodrigo.vivi@intel.com
>> Cc: kamil.konieczny@linux.intel.com
>> Cc: katarzyna.piecielska@intel.com
>> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
>> ---
>>  lib/igt_dir_explorer.c | 72 ++++++++++++++++++++++++++++++++++++++++++
>>  lib/igt_dir_explorer.h | 10 ++++++
>>  lib/meson.build        |  1 +
>>  3 files changed, 83 insertions(+)
>>  create mode 100644 lib/igt_dir_explorer.c
>>  create mode 100644 lib/igt_dir_explorer.h
>>
>> diff --git a/lib/igt_dir_explorer.c b/lib/igt_dir_explorer.c
>> new file mode 100644
>> index 000000000..d47e08535
>> --- /dev/null
>> +++ b/lib/igt_dir_explorer.c
>> @@ -0,0 +1,72 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#include <dirent.h>
>> +#include <fcntl.h>
>> +
>> +#include "igt.h"
>> +#include "igt_dir_explorer.h"
>> +
>> +void igt_dir_explorer_read_and_discard_all(int path_fd, int indent)
> 
> Just loose thought - if you're doing recursive directory traversal,
> wouldn't be better to pass function (kind of callback) which would be
> called for each file/dir entry? I mean single traversal code, and
> multiple callbacks for different use cases.
What about?

/* Callback function type for processing files. I guess we should make
 * it blocking. Wait for the function to return before starting the next
 * file.
 */
typedef int (*igt_dir_exp_file_callback)(int filefd);

/* reading order */
typedef enum {
    SCAN_ORDER_SEQUENTIAL,
    SCAN_ORDER_RANDOM
} igt_dir_exp_scan_order_t;

/* Struct to hold the library interface */
typedef struct {
    int dirfd;                          /* File descriptor of the directory to scan */
    igt_dir_exp_file_callback callback; /* Callback function for file operations. If null defaults
                                         * to read and discard */
    const char *include_pattern;        /* Pattern to match files to include (glob or regex) */
    const char *exclude_pattern;        /* Pattern to match files to exclude (glob or regex) */
    uint32_t concurrency;               /* Number of threads, default is 1 */
    size_t max_depth;                   /* Maximum directory depth to scan. -1 no limit */
    size_t max_files;                   /* Maximum number of files to process.  -1 no limit */
    size_t max_bytes;                   /* Maximum bytes to read on each file. -1 no limit */
    scan_order_t reading_order;         /* Reading order (sequential or random) */
} igt_dir_exp_file_scan_config_t;

/* Function prototype for the library function */
int igt_dir_exp_scan_directory(const igt_dir_exp_file_scan_config_t *config);


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

* Re: [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory
  2025-05-15  9:04     ` Peter Senna Tschudin
@ 2025-05-16  5:35       ` Zbigniew Kempczyński
  0 siblings, 0 replies; 20+ messages in thread
From: Zbigniew Kempczyński @ 2025-05-16  5:35 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: igt-dev, marcin.bernatowicz, himanshu.girotra, aditya.chauhan,
	pravalika.gurram, sai.gowtham.ch, ramadevi.gandi, lucas.demarchi,
	rodrigo.vivi, kamil.konieczny, katarzyna.piecielska

On Thu, May 15, 2025 at 11:04:26AM +0200, Peter Senna Tschudin wrote:
> 
> 
> On 5/15/2025 10:51 AM, Zbigniew Kempczyński wrote:
> > On Wed, May 14, 2025 at 07:51:34PM +0200, Peter Senna Tschudin wrote:
> >> Introduces igt_dir_explorer_read_and_discard_all(), a function that
> >> performs a recursive scan of all files within a directory. Each file is
> >> read, and its content is discarded.
> >>
> >> This functionality is utilized in the following tests:
> >> - core_debugfs
> >> - core_debugfs_display_on_off
> >> - core_sysfs
> >>
> >> This addition enhances the ability to efficiently handle directory
> >> traversal and file processing in tests.
> >>
> >> Cc: marcin.bernatowicz@intel.com
> >> Cc: himanshu.girotra@intel.com
> >> Cc: aditya.chauhan@intel.com
> >> Cc: pravalika.gurram@intel.com
> >> Cc: sai.gowtham.ch@intel.com
> >> Cc: ramadevi.gandi@intel.com
> >> Cc: lucas.demarchi@intel.com
> >> Cc: rodrigo.vivi@intel.com
> >> Cc: kamil.konieczny@linux.intel.com
> >> Cc: katarzyna.piecielska@intel.com
> >> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
> >> ---
> >>  lib/igt_dir_explorer.c | 72 ++++++++++++++++++++++++++++++++++++++++++
> >>  lib/igt_dir_explorer.h | 10 ++++++
> >>  lib/meson.build        |  1 +
> >>  3 files changed, 83 insertions(+)
> >>  create mode 100644 lib/igt_dir_explorer.c
> >>  create mode 100644 lib/igt_dir_explorer.h
> >>
> >> diff --git a/lib/igt_dir_explorer.c b/lib/igt_dir_explorer.c
> >> new file mode 100644
> >> index 000000000..d47e08535
> >> --- /dev/null
> >> +++ b/lib/igt_dir_explorer.c
> >> @@ -0,0 +1,72 @@
> >> +// SPDX-License-Identifier: MIT
> >> +/*
> >> + * Copyright © 2025 Intel Corporation
> >> + */
> >> +
> >> +#include <dirent.h>
> >> +#include <fcntl.h>
> >> +
> >> +#include "igt.h"
> >> +#include "igt_dir_explorer.h"
> >> +
> >> +void igt_dir_explorer_read_and_discard_all(int path_fd, int indent)
> > 
> > Just loose thought - if you're doing recursive directory traversal,
> > wouldn't be better to pass function (kind of callback) which would be
> > called for each file/dir entry? I mean single traversal code, and
> > multiple callbacks for different use cases.
> 
> I like the idea. Can you help me create a spec for it?

I would focus to achieve igt_dir_explorer_read_and_discard_all() using
generic traversal/call(backs) functions. Select only fields necessary
to achieve the goal. I'm against overengineering code on the very
beginning. For example I don't see any value in designing multithreading
support in igt code for traversal.

> There is more than
> just what to do. There are cases where we may want to test only specific
> files, and cases where we do not want to test specific files. Ideas:
>  - Accept a callback that performs the action on each file. Read or write
>    for example

In term of callback I really think about call-handler function which gets
filename and decide what to do with it. So from traversal perspective
it is synchronous call.

>  - Accept specification for which files to read, and which not to read.
>  - Maybe an optional blocking callback? do not proceed to the next file
>    until this one returns. This is useful for an async reset for example.

Described above.

>  - Limits? Depth, number of files, wait between reads?
>  - Concurrency? Try read them all at the same time?
>  - Random order for doing the action on the file?

Depth - yes. And include/exclude pattern - this might be very useful
to avoid calling handler for each traversed file/dir. Other things
are unnecessary and I vote against them.

> 
> Which ones of these make sense, and what else can we customize?

> 
> Would it be ok to delay these improvements to a next iteration? There is
> some urgency in solving the issues I created with intel_sysfs_debugfs.

Write something what is simple and work.

--
Zbigniew

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

* Re: [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory
  2025-05-15 16:40     ` Peter Senna Tschudin
@ 2025-05-16  5:46       ` Zbigniew Kempczyński
  0 siblings, 0 replies; 20+ messages in thread
From: Zbigniew Kempczyński @ 2025-05-16  5:46 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: igt-dev, marcin.bernatowicz, himanshu.girotra, aditya.chauhan,
	pravalika.gurram, sai.gowtham.ch, ramadevi.gandi, lucas.demarchi,
	rodrigo.vivi, kamil.konieczny, katarzyna.piecielska

On Thu, May 15, 2025 at 06:40:09PM +0200, Peter Senna Tschudin wrote:

<cut>

> > Just loose thought - if you're doing recursive directory traversal,
> > wouldn't be better to pass function (kind of callback) which would be
> > called for each file/dir entry? I mean single traversal code, and
> > multiple callbacks for different use cases.
> What about?
> 
> /* Callback function type for processing files. I guess we should make
>  * it blocking. Wait for the function to return before starting the next
>  * file.
>  */
> typedef int (*igt_dir_exp_file_callback)(int filefd);

I thought about:

typedef int (*handler)(const char *filename, int flags);

> 
> /* reading order */
> typedef enum {
>     SCAN_ORDER_SEQUENTIAL,
>     SCAN_ORDER_RANDOM
> } igt_dir_exp_scan_order_t;
> 
> /* Struct to hold the library interface */
> typedef struct {
>     int dirfd;                          /* File descriptor of the directory to scan */
>     igt_dir_exp_file_callback callback; /* Callback function for file operations. If null defaults
>                                          * to read and discard */
>     const char *include_pattern;        /* Pattern to match files to include (glob or regex) */
>     const char *exclude_pattern;        /* Pattern to match files to exclude (glob or regex) */
>     uint32_t concurrency;               /* Number of threads, default is 1 */
>     size_t max_depth;                   /* Maximum directory depth to scan. -1 no limit */
>     size_t max_files;                   /* Maximum number of files to process.  -1 no limit */
>     size_t max_bytes;                   /* Maximum bytes to read on each file. -1 no limit */
>     scan_order_t reading_order;         /* Reading order (sequential or random) */
> } igt_dir_exp_file_scan_config_t;
> 
> /* Function prototype for the library function */
> int igt_dir_exp_scan_directory(const igt_dir_exp_file_scan_config_t *config);
> 

void igt_dir_config_scan(struct igt_dir_scan *scan,
			 const char *include_pattern,
			 const char *exclude_pattern,
			 int max_depth);

void igt_dir_perform_scan(const struct igt_dir_scan *scan,
		          int (*handler)(const char *filename, int flags),
		          int flags);


Flags might be used to pass some additional information to the handler.
It might be void *, whatever. Even you may omit it now (there's only
single code which will use it so maybe isn't worth to extend this
too much on the beginning).

But don't get attached to names I proposed, change them to correspond
the code.

--
Zbigniew


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

* [RFC v2 i-g-t 0/5] Replace intel_sysfs_debugfs
  2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
                   ` (7 preceding siblings ...)
  2025-05-15  2:40 ` ✗ Xe.CI.Full: " Patchwork
@ 2025-05-20 19:29 ` Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs Peter Senna Tschudin
                     ` (4 more replies)
  8 siblings, 5 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-20 19:29 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski

DO NOT MERGE!

intel_sysfs_debugfs was created with the intention of unifying i915 and
xe tests to close testing gaps between the two. This series goes a few
steps further making the sysfs and the debugfs tests gpu agnostic. This
series also creates xe_debugfs that preserves the tests that
are exclusive to xe.

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

*** This RFC does not update test lists and does not update blacklists ***

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
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

Peter Senna Tschudin (5):
  Remove tests/intel/intel_sysfs_debugfs
  lib/igt_dir: Directory processing and flexible file handling
  Add tests: core_debugfs and core_debugfs_display_on_off
  tests/core_sysfs: Add GPU-agnostic sysfs testing
  tests/intel/xe_debugfs: Add Xe-specific debugfs testing

 lib/igt_dir.c                       | 260 +++++++++++++++++
 lib/igt_dir.h                       |  61 ++++
 lib/meson.build                     |   1 +
 tests/core_debugfs.c                |  54 ++++
 tests/core_debugfs_display_on_off.c | 171 +++++++++++
 tests/core_sysfs.c                  |  58 ++++
 tests/intel/intel_sysfs_debugfs.c   | 430 ----------------------------
 tests/intel/xe_debugfs.c            | 212 ++++++++++++++
 tests/meson.build                   |   5 +-
 9 files changed, 821 insertions(+), 431 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_display_on_off.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] 20+ messages in thread

* [RFC v2 i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs
  2025-05-20 19:29 ` [RFC v2 i-g-t 0/5] " Peter Senna Tschudin
@ 2025-05-20 19:29   ` Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 2/5] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-20 19:29 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski

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, its implementation fell short in addressing scenarios where
both i915 and Xe were present in the system.

To address these limitations, intel_sysfs_debugfs will be replaced by a
more modular and comprehensive set of tests:

- tests/core_debugfs (gpu agnostic)
- tests/core_sysfs (gpu agnostic)
- tests/intel/xe_debugfs (complementary to core_debugfs)

This restructuring ensures better test coverage and flexibility moving
forward.

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
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
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 tests/intel/intel_sysfs_debugfs.c | 430 ------------------------------
 tests/meson.build                 |   1 -
 2 files changed, 431 deletions(-)
 delete mode 100644 tests/intel/intel_sysfs_debugfs.c

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/meson.build b/tests/meson.build
index 20ddddb89..335d82e9d 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -83,7 +83,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] 20+ messages in thread

* [RFC v2 i-g-t 2/5] lib/igt_dir: Directory processing and flexible file handling
  2025-05-20 19:29 ` [RFC v2 i-g-t 0/5] " Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs Peter Senna Tschudin
@ 2025-05-20 19:29   ` Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 3/5] Add tests: core_debugfs and core_debugfs_display_on_off Peter Senna Tschudin
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-20 19:29 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski

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: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
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
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 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..0e43b7e97
--- /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)) != NULL) {
+		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 != NULL);
+	igt_require(config->root_path != NULL);
+	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 != NULL);
+	igt_require(config->root_path != NULL);
+	igt_require(config->dirfd >= 0);
+
+	if (callback == NULL)
+		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 != NULL);
+
+	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 b58976a43..5742df0d8 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -90,6 +90,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] 20+ messages in thread

* [RFC v2 i-g-t 3/5] Add tests: core_debugfs and core_debugfs_display_on_off
  2025-05-20 19:29 ` [RFC v2 i-g-t 0/5] " Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 2/5] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
@ 2025-05-20 19:29   ` Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 5/5] tests/intel/xe_debugfs: Add Xe-specific debugfs testing Peter Senna Tschudin
  4 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-20 19:29 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski

Introduces two GPU-agnostic tests, core_debugfs and
core_debugfs_display_on_off. These tests are designed to function with
any GPU, not limited to i915 and Xe.

core_debugfs: Attempts to open every file in debugfs associated with the
GPU.

core_debugfs_display_on_off: Powers on all available displays before
reading debugfs files, and then powers off all displays before reading
the files again.

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
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
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 tests/core_debugfs.c                |  54 +++++++++
 tests/core_debugfs_display_on_off.c | 171 ++++++++++++++++++++++++++++
 tests/meson.build                   |   2 +
 3 files changed, 227 insertions(+)
 create mode 100644 tests/core_debugfs.c
 create mode 100644 tests/core_debugfs_display_on_off.c

diff --git a/tests/core_debugfs.c b/tests/core_debugfs.c
new file mode 100644
index 000000000..a2f9a8dac
--- /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: debugfs-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 != NULL);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from debugfs path.");
+	igt_subtest("debugfs-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/core_debugfs_display_on_off.c b/tests/core_debugfs_display_on_off.c
new file mode 100644
index 000000000..7f2ebc66a
--- /dev/null
+++ b/tests/core_debugfs_display_on_off.c
@@ -0,0 +1,171 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "igt.h"
+#include "igt_debugfs.h"
+#include "igt_dir.h"
+
+/**
+ * TEST: debugfs display on/off 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: debugfs-read-all-entries-display-off
+ * Description: Read all debugfs entries with display off.
+ *
+ * SUBTEST: debugfs-read-all-entries-display-on
+ * Description: Read all debugfs entries with display on.
+ */
+
+/** bool igt_kms_all_displays_on: Try to turn on all displays
+ * @fd: file descriptor for the drm device
+ *
+ * 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 displays
+ * @fd: file descriptor for the drm device
+ *
+ * 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);
+}
+
+static void kms_tests(int fd, igt_dir_t *igt_dir)
+{
+	igt_display_t *display;
+	char test_name[64];
+
+	display = calloc(1, sizeof(*display));
+
+	igt_fixture
+		igt_display_require(display, fd);
+
+	snprintf(test_name, sizeof(test_name),
+		 "debugfs-read-all-entries-display-on");
+
+	igt_subtest(test_name) {
+		/* 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);
+	}
+
+	snprintf(test_name, sizeof(test_name),
+		 "debugfs-read-all-entries-display-off");
+
+	igt_subtest(test_name) {
+		igt_display_all_off(display);
+
+		igt_dir_scan_dirfd(igt_dir, -1);
+		igt_dir_process_files(igt_dir, NULL, NULL);
+	}
+
+	igt_fixture
+		igt_display_fini(display);
+}
+
+IGT_TEST_DESCRIPTION("Read entries from debugfs with display on/off.");
+
+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 != NULL);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_subtest_group
+		kms_tests(fd, igt_dir);
+
+	igt_fixture {
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 335d82e9d..c7a689ab3 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,5 +1,7 @@
 test_progs = [
 	'core_auth',
+	'core_debugfs',
+	'core_debugfs_display_on_off',
 	'core_getclient',
 	'core_getstats',
 	'core_getversion',
-- 
2.43.0


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

* [RFC v2 i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing
  2025-05-20 19:29 ` [RFC v2 i-g-t 0/5] " Peter Senna Tschudin
                     ` (2 preceding siblings ...)
  2025-05-20 19:29   ` [RFC v2 i-g-t 3/5] Add tests: core_debugfs and core_debugfs_display_on_off Peter Senna Tschudin
@ 2025-05-20 19:29   ` Peter Senna Tschudin
  2025-05-20 19:29   ` [RFC v2 i-g-t 5/5] tests/intel/xe_debugfs: Add Xe-specific debugfs testing Peter Senna Tschudin
  4 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-20 19:29 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski

Introduces core_sysfs, a 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: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
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
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 tests/core_sysfs.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build  |  1 +
 2 files changed, 59 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..09d0b7429
--- /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: sysfs-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 != NULL);
+
+		kmstest_set_vt_graphics_mode();
+	}
+
+	igt_describe("Read all entries from sysfs path.");
+	igt_subtest("sysfs-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/meson.build b/tests/meson.build
index c7a689ab3..eac77fb81 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] 20+ messages in thread

* [RFC v2 i-g-t 5/5] tests/intel/xe_debugfs: Add Xe-specific debugfs testing
  2025-05-20 19:29 ` [RFC v2 i-g-t 0/5] " Peter Senna Tschudin
                     ` (3 preceding siblings ...)
  2025-05-20 19:29   ` [RFC v2 i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing Peter Senna Tschudin
@ 2025-05-20 19:29   ` Peter Senna Tschudin
  4 siblings, 0 replies; 20+ messages in thread
From: Peter Senna Tschudin @ 2025-05-20 19:29 UTC (permalink / raw)
  To: igt-dev
  Cc: Peter Senna Tschudin, marcin.bernatowicz, himanshu.girotra,
	aditya.chauhan, pravalika.gurram, sai.gowtham.ch, ramadevi.gandi,
	lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska, zbigniew.kempczynski

Introduces xe_debugfs, a test designed specifically for Xe GPUs. This test
complements the generic debugfs tests:
- core_debugfs
- core_debugfs_display_on_off

Cc: marcin.bernatowicz@intel.com
Cc: himanshu.girotra@intel.com
Cc: aditya.chauhan@intel.com
Cc: pravalika.gurram@intel.com
Cc: sai.gowtham.ch@intel.com
Cc: ramadevi.gandi@intel.com
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
Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
---
 tests/intel/xe_debugfs.c | 212 +++++++++++++++++++++++++++++++++++++++
 tests/meson.build        |   1 +
 2 files changed, 213 insertions(+)
 create mode 100644 tests/intel/xe_debugfs.c

diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
new file mode 100644
index 000000000..b4eef81d1
--- /dev/null
+++ b/tests/intel/xe_debugfs.c
@@ -0,0 +1,212 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "igt.h"
+#include "igt_debugfs.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(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;
+
+	igt_fixture {
+		fd = drm_open_driver_master(DRIVER_XE);
+		__igt_debugfs_dump(fd, "info", IGT_LOG_INFO);
+		debugfs = igt_debugfs_dir(fd);
+
+		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_describe("Check forcewake debugfs devnode");
+	igt_subtest("xe-forcewake") {
+		xe_test_forcewake(fd);
+	}
+
+	igt_fixture {
+		close(debugfs);
+		drm_close_driver(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index eac77fb81..97d60f9f6 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -281,6 +281,7 @@ intel_xe_progs = [
 	'xe_compute',
 	'xe_compute_preempt',
 	'xe_copy_basic',
+	'xe_debugfs',
 	'xe_dma_buf_sync',
 	'xe_drm_fdinfo',
 	'xe_eu_stall',
-- 
2.43.0


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

end of thread, other threads:[~2025-05-20 19:30 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-14 17:51 [RFC i-g-t 0/5] Replace intel_sysfs_debugfs Peter Senna Tschudin
2025-05-14 17:51 ` [RFC i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs Peter Senna Tschudin
2025-05-14 17:51 ` [RFC i-g-t 2/5] lib/igt_dir_explorer: Add function to recursively read all files in a directory Peter Senna Tschudin
2025-05-15  8:51   ` Zbigniew Kempczyński
2025-05-15  9:04     ` Peter Senna Tschudin
2025-05-16  5:35       ` Zbigniew Kempczyński
2025-05-15 16:40     ` Peter Senna Tschudin
2025-05-16  5:46       ` Zbigniew Kempczyński
2025-05-14 17:51 ` [RFC i-g-t 3/5] Add tests: core_debugfs and core_debugfs_display_on_off Peter Senna Tschudin
2025-05-14 17:51 ` [RFC i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing Peter Senna Tschudin
2025-05-14 17:51 ` [RFC i-g-t 5/5] tests/intel/xe_debugfs: Add Xe-specific debugfs testing Peter Senna Tschudin
2025-05-14 19:24 ` ✗ Xe.CI.BAT: failure for Replace intel_sysfs_debugfs Patchwork
2025-05-14 19:44 ` ✗ i915.CI.BAT: " Patchwork
2025-05-15  2:40 ` ✗ Xe.CI.Full: " Patchwork
2025-05-20 19:29 ` [RFC v2 i-g-t 0/5] " Peter Senna Tschudin
2025-05-20 19:29   ` [RFC v2 i-g-t 1/5] Remove tests/intel/intel_sysfs_debugfs Peter Senna Tschudin
2025-05-20 19:29   ` [RFC v2 i-g-t 2/5] lib/igt_dir: Directory processing and flexible file handling Peter Senna Tschudin
2025-05-20 19:29   ` [RFC v2 i-g-t 3/5] Add tests: core_debugfs and core_debugfs_display_on_off Peter Senna Tschudin
2025-05-20 19:29   ` [RFC v2 i-g-t 4/5] tests/core_sysfs: Add GPU-agnostic sysfs testing Peter Senna Tschudin
2025-05-20 19:29   ` [RFC v2 i-g-t 5/5] tests/intel/xe_debugfs: Add Xe-specific debugfs testing 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