Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 0/2] Add test to validate survivability mode
@ 2025-04-10  6:07 Riana Tauro
  2025-04-10  6:07 ` [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs Riana Tauro
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Riana Tauro @ 2025-04-10  6:07 UTC (permalink / raw)
  To: igt-dev
  Cc: riana.tauro, anshuman.gupta, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska

Add tests to validate survivability mode using configfs attribute.
This tests unbinds the card, sets survivability mode and rebinds
the card. The card enters survivability mode if supported.

Riana Tauro (2):
  lib/igt_configfs: Add library for configfs
  tests/intel/xe_configfs: Add survivability test

 lib/igt_configfs.c        |  88 ++++++++++++++++++++++++
 lib/igt_configfs.h        |  13 ++++
 lib/meson.build           |   1 +
 tests/intel/xe_configfs.c | 138 ++++++++++++++++++++++++++++++++++++++
 tests/meson.build         |   1 +
 5 files changed, 241 insertions(+)
 create mode 100644 lib/igt_configfs.c
 create mode 100644 lib/igt_configfs.h
 create mode 100644 tests/intel/xe_configfs.c

-- 
2.47.1


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

* [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs
  2025-04-10  6:07 [PATCH i-g-t 0/2] Add test to validate survivability mode Riana Tauro
@ 2025-04-10  6:07 ` Riana Tauro
  2025-04-11  7:53   ` Louis Chauvet
  2025-04-10  6:07 ` [PATCH i-g-t 2/2] tests/intel/xe_configfs: Add test to validate survivability mode Riana Tauro
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Riana Tauro @ 2025-04-10  6:07 UTC (permalink / raw)
  To: igt-dev
  Cc: riana.tauro, anshuman.gupta, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska

Add library functions to open configfs and create
and remove configfs directories.

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
---
 lib/igt_configfs.c | 88 ++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_configfs.h | 13 +++++++
 lib/meson.build    |  1 +
 3 files changed, 102 insertions(+)
 create mode 100644 lib/igt_configfs.c
 create mode 100644 lib/igt_configfs.h

diff --git a/lib/igt_configfs.c b/lib/igt_configfs.c
new file mode 100644
index 000000000..57d59f1c4
--- /dev/null
+++ b/lib/igt_configfs.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+#include <sys/mount.h>
+#include <sys/stat.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+
+#include "igt_configfs.h"
+#include "igt_core.h"
+
+static const char *igt_configfs_mount(void)
+{
+	struct stat st;
+
+	if (stat("/sys/kernel/debug", &st) == 0)
+		return "/sys/kernel/config";
+
+	if (mount("none", "/sys/kernel/config", "configfs", 0, 0))
+		return NULL;
+
+	return "/sys/kernel/config";
+}
+
+/**
+ * igt_configfs_open: open configfs path
+ * @name: name of the configfs directory
+ *
+ * Opens the configfs directory corresponding to the name
+ *
+ * Returns:
+ * The directory fd, or -1 on failure.
+ */
+int igt_configfs_open(const char *name)
+{
+	char path[PATH_MAX];
+	const char *configfs_path;
+
+	configfs_path = igt_configfs_mount();
+	igt_assert(configfs_path);
+
+	snprintf(path, sizeof(path), "%s/%s", configfs_path, name);
+
+	return open(path, O_RDONLY);
+}
+
+/**
+ * igt_configfs_create_directory: creates configfs group
+ * @fd: fd of configfs parent directory
+ * @name: name of the directory to create
+ *
+ * creates a directory under configfs parent directory
+ *
+ * Returns: 0 on success, -errno otherwise
+ */
+int igt_configfs_create_directory(int fd, const char *name)
+{
+	int ret;
+	int dirfd;
+
+	ret = mkdirat(fd, name, 0755);
+	if (ret)
+		return -errno;
+
+	dirfd = openat(fd, name, O_DIRECTORY);
+	if (dirfd < 0)
+		return -errno;
+
+	return dirfd;
+}
+
+/**
+ * igt_configfs_remove_directory: removes configfs group
+ * @fd: fd of configfs parent directory
+ * @name: name of directory to create
+ *
+ * removes directory under configfs parent directory
+ */
+void igt_configfs_remove_directory(int fd, const char *name)
+{
+	int ret = unlinkat(fd, name, AT_REMOVEDIR);
+
+	if (ret)
+		igt_warn("Unable to remove %s directory: %s\n", name, strerror(errno));
+}
diff --git a/lib/igt_configfs.h b/lib/igt_configfs.h
new file mode 100644
index 000000000..d839db49a
--- /dev/null
+++ b/lib/igt_configfs.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef IGT_CONFIGFS_H
+#define IGT_CONFIGFS_H
+
+int igt_configfs_open(const char *name);
+int igt_configfs_create_directory(int fd, const char *name);
+void igt_configfs_remove_directory(int fd, const char *name);
+
+#endif /* IGT_CONFIGFS_H */
diff --git a/lib/meson.build b/lib/meson.build
index d7bb72c57..f087947e7 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -19,6 +19,7 @@ lib_sources = [
 	'igt_collection.c',
 	'igt_color_encoding.c',
 	'igt_facts.c',
+	'igt_configfs.c',
 	'igt_crc.c',
 	'igt_debugfs.c',
 	'igt_device.c',
-- 
2.47.1


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

* [PATCH i-g-t 2/2] tests/intel/xe_configfs: Add test to validate survivability mode
  2025-04-10  6:07 [PATCH i-g-t 0/2] Add test to validate survivability mode Riana Tauro
  2025-04-10  6:07 ` [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs Riana Tauro
@ 2025-04-10  6:07 ` Riana Tauro
  2025-04-11  7:53   ` Louis Chauvet
  2025-04-10  6:55 ` ✓ Xe.CI.BAT: success for " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Riana Tauro @ 2025-04-10  6:07 UTC (permalink / raw)
  To: igt-dev
  Cc: riana.tauro, anshuman.gupta, lucas.demarchi, rodrigo.vivi,
	kamil.konieczny, katarzyna.piecielska

The test validates if survivability mode is enabled on supported
platforms when configured using configfs attribute.

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
---
 tests/intel/xe_configfs.c | 138 ++++++++++++++++++++++++++++++++++++++
 tests/meson.build         |   1 +
 2 files changed, 139 insertions(+)
 create mode 100644 tests/intel/xe_configfs.c

diff --git a/tests/intel/xe_configfs.c b/tests/intel/xe_configfs.c
new file mode 100644
index 000000000..8954ed87c
--- /dev/null
+++ b/tests/intel/xe_configfs.c
@@ -0,0 +1,138 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+#include <limits.h>
+
+#include "igt.h"
+#include "igt_configfs.h"
+#include "igt_device.h"
+#include "igt_sysfs.h"
+
+/**
+ * TEST: Check configfs userspace API
+ * Category: Core
+ * Mega feature: General Core features
+ * Sub-category: uapi
+ * Functionality: configfs
+ * Description: validate configfs entries
+ * Test category: functionality test
+ */
+
+static char bus_addr[NAME_MAX];
+static uint32_t dev_id;
+
+static int driver_fd(void)
+{
+	int fd;
+
+	fd = open("/sys/bus/pci/drivers/xe", O_RDONLY);
+	igt_assert_f(fd >= 0, "Can't open path\n");
+
+	return fd;
+}
+
+static void driver_bind(void)
+{
+	int fd;
+
+	fd = driver_fd();
+	igt_sysfs_write(fd, "bind", bus_addr, sizeof(bus_addr));
+	close(fd);
+}
+
+static void driver_unbind(void)
+{
+	int fd;
+
+	fd = driver_fd();
+	igt_sysfs_write(fd, "unbind", bus_addr, sizeof(bus_addr));
+	close(fd);
+}
+
+static void restore(int sig)
+{
+	/* Restore after survivability mode */
+	driver_unbind();
+	driver_bind();
+}
+
+static void set_survivability_mode(int dir_fd, bool value)
+{
+	driver_unbind();
+	igt_sysfs_set_boolean(dir_fd, "survivability_mode", value);
+	driver_bind();
+}
+
+static void check_survivability_mode(void)
+{
+	char path[PATH_MAX], buf[4096];
+	int fd, len;
+
+	snprintf(path, PATH_MAX, "/sys/bus/pci/devices/%s", bus_addr);
+	fd = open(path, O_RDONLY);
+	igt_assert_f(fd >= 0, "Cannot open %s\n", path);
+
+	len = igt_sysfs_read(fd, "survivability_mode", buf, sizeof(buf) - 1);
+	if (len > 0) {
+		buf[len] = '\0';
+		igt_info("Survivability Mode:\n%s", buf);
+	}
+	close(fd);
+
+	if (IS_BATTLEMAGE(dev_id))
+		igt_assert_f(len > 0, "Survivability mode not set\n");
+}
+
+/**
+ * SUBTEST: survivability-mode
+ * Description: Validate survivability mode by setting configfs
+ */
+static void test_survivability_mode(int dir_fd)
+{
+	/* Enable survivability mode */
+	set_survivability_mode(dir_fd, true);
+
+	check_survivability_mode();
+}
+
+static int create_device_configfs(int configfs_fd, int fd)
+{
+	int dir_fd;
+	struct pci_device *pci_dev;
+
+	pci_dev = igt_device_get_pci_device(fd);
+	snprintf(bus_addr, sizeof(bus_addr), "%04x:%02x:%02x.%01x",
+		 pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
+
+	dir_fd = igt_configfs_create_directory(configfs_fd, bus_addr);
+	igt_assert(dir_fd);
+
+	return dir_fd;
+}
+
+igt_main
+{
+	int fd, configfs_fd, dir_fd;
+
+	igt_fixture {
+		fd = drm_open_driver(DRIVER_XE);
+		dev_id = intel_get_drm_devid(fd);
+		configfs_fd = igt_configfs_open("xe");
+		igt_require(configfs_fd != -1);
+		dir_fd = create_device_configfs(configfs_fd, fd);
+	}
+
+	igt_describe("Validate survivability mode");
+	igt_subtest("survivability-mode") {
+		igt_install_exit_handler(restore);
+		test_survivability_mode(dir_fd);
+	}
+
+	igt_fixture {
+		igt_configfs_remove_directory(configfs_fd, bus_addr);
+		close(dir_fd);
+		close(configfs_fd);
+		close(fd);
+	}
+}
diff --git a/tests/meson.build b/tests/meson.build
index 2a63d888f..74684ea35 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -279,6 +279,7 @@ intel_xe_progs = [
 	'xe_create',
 	'xe_compute',
 	'xe_compute_preempt',
+        'xe_configfs',
 	'xe_copy_basic',
 	'xe_dma_buf_sync',
 	'xe_debugfs',
-- 
2.47.1


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

* ✓ Xe.CI.BAT: success for Add test to validate survivability mode
  2025-04-10  6:07 [PATCH i-g-t 0/2] Add test to validate survivability mode Riana Tauro
  2025-04-10  6:07 ` [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs Riana Tauro
  2025-04-10  6:07 ` [PATCH i-g-t 2/2] tests/intel/xe_configfs: Add test to validate survivability mode Riana Tauro
@ 2025-04-10  6:55 ` Patchwork
  2025-04-10  7:53 ` ✗ Xe.CI.Full: failure " Patchwork
  2025-04-10  8:55 ` ✗ i915.CI.BAT: " Patchwork
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-04-10  6:55 UTC (permalink / raw)
  To: Riana Tauro; +Cc: igt-dev

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

== Series Details ==

Series: Add test to validate survivability mode
URL   : https://patchwork.freedesktop.org/series/147506/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_8312_BAT -> XEIGTPW_12953_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

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

### IGT changes ###

#### Issues hit ####

  * igt@xe_evict@evict-beng-small-cm:
    - bat-adlp-vf:        NOTRUN -> [SKIP][1] ([Intel XE#261] / [Intel XE#688]) +9 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_evict@evict-beng-small-cm.html

  * igt@xe_exec_fault_mode@twice-rebind:
    - bat-adlp-vf:        NOTRUN -> [SKIP][2] ([Intel XE#288]) +32 other tests skip
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_exec_fault_mode@twice-rebind.html

  * igt@xe_gt_freq@freq_fixed_idle:
    - bat-adlp-vf:        NOTRUN -> [SKIP][3] ([Intel XE#2464]) +2 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_gt_freq@freq_fixed_idle.html

  * igt@xe_live_ktest@xe_bo:
    - bat-adlp-vf:        NOTRUN -> [SKIP][4] ([Intel XE#2229] / [Intel XE#455]) +2 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_live_ktest@xe_bo.html

  * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
    - bat-adlp-vf:        NOTRUN -> [SKIP][5] ([Intel XE#2229])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html

  * igt@xe_mmap@vram:
    - bat-adlp-vf:        NOTRUN -> [SKIP][6] ([Intel XE#1008])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_mmap@vram.html

  * igt@xe_pat@pat-index-xe2:
    - bat-adlp-vf:        NOTRUN -> [SKIP][7] ([Intel XE#977])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_pat@pat-index-xe2.html

  * igt@xe_pat@pat-index-xehpc:
    - bat-adlp-vf:        NOTRUN -> [SKIP][8] ([Intel XE#2838] / [Intel XE#979])
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelpg:
    - bat-adlp-vf:        NOTRUN -> [SKIP][9] ([Intel XE#979])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_pm_residency@gt-c6-on-idle:
    - bat-adlp-vf:        NOTRUN -> [SKIP][10] ([Intel XE#2468])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_pm_residency@gt-c6-on-idle.html

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

  
#### Possible fixes ####

  * igt@xe_exec_basic@twice-bindexecqueue-rebind:
    - bat-adlp-vf:        [ABORT][12] ([Intel XE#3970]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/bat-adlp-vf/igt@xe_exec_basic@twice-bindexecqueue-rebind.html
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/bat-adlp-vf/igt@xe_exec_basic@twice-bindexecqueue-rebind.html

  
  [Intel XE#1008]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1008
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#2464]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2464
  [Intel XE#2468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2468
  [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
  [Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
  [Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979


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

  * IGT: IGT_8312 -> IGTPW_12953
  * Linux: xe-2927-2ee1c41fdfba60eb67d2c659239e31216c2610ee -> xe-2928-c54633598106dbdb97f3aa589587b8176009b6d8

  IGTPW_12953: 12953
  IGT_8312: 8312
  xe-2927-2ee1c41fdfba60eb67d2c659239e31216c2610ee: 2ee1c41fdfba60eb67d2c659239e31216c2610ee
  xe-2928-c54633598106dbdb97f3aa589587b8176009b6d8: c54633598106dbdb97f3aa589587b8176009b6d8

== Logs ==

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

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

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

* ✗ Xe.CI.Full: failure for Add test to validate survivability mode
  2025-04-10  6:07 [PATCH i-g-t 0/2] Add test to validate survivability mode Riana Tauro
                   ` (2 preceding siblings ...)
  2025-04-10  6:55 ` ✓ Xe.CI.BAT: success for " Patchwork
@ 2025-04-10  7:53 ` Patchwork
  2025-04-10  8:55 ` ✗ i915.CI.BAT: " Patchwork
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-04-10  7:53 UTC (permalink / raw)
  To: Riana Tauro; +Cc: igt-dev

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

== Series Details ==

Series: Add test to validate survivability mode
URL   : https://patchwork.freedesktop.org/series/147506/
State : failure

== Summary ==

CI Bug Log - changes from XEIGT_8312_FULL -> XEIGTPW_12953_FULL
====================================================

Summary
-------

  **FAILURE**

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_async_flips@overlay-atomic:
    - shard-bmg:          NOTRUN -> [SKIP][1]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_async_flips@overlay-atomic.html

  * igt@kms_plane@pixel-format-source-clamping@pipe-a-plane-0:
    - shard-lnl:          NOTRUN -> [WARN][2]
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@kms_plane@pixel-format-source-clamping@pipe-a-plane-0.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-2:
    - shard-dg2-set2:     NOTRUN -> [ABORT][3]
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-2.html

  * igt@xe_evict_ccs@evict-overcommit-standalone-nofree-reopen:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][4]
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-6/igt@xe_evict_ccs@evict-overcommit-standalone-nofree-reopen.html

  * igt@xe_pmu@engine-activity-idle:
    - shard-bmg:          [PASS][5] -> [INCOMPLETE][6] +1 other test incomplete
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-3/igt@xe_pmu@engine-activity-idle.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-2/igt@xe_pmu@engine-activity-idle.html

  * igt@xe_wedged@wedged-mode-toggle:
    - shard-lnl:          [PASS][7] -> [ABORT][8]
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-4/igt@xe_wedged@wedged-mode-toggle.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-8/igt@xe_wedged@wedged-mode-toggle.html

  
#### Warnings ####

  * igt@kms_content_protection@srm:
    - shard-bmg:          [FAIL][9] ([Intel XE#1178]) -> [INCOMPLETE][10] +1 other test incomplete
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-7/igt@kms_content_protection@srm.html
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-6/igt@kms_content_protection@srm.html

  
New tests
---------

  New tests have been introduced between XEIGT_8312_FULL and XEIGTPW_12953_FULL:

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

  * igt@xe_configfs@survivability-mode:
    - Statuses : 3 pass(s)
    - Exec time: [0.63, 3.18] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries-display-off:
    - shard-lnl:          [PASS][11] -> [ABORT][12] ([Intel XE#4624])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-3/igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries-display-off.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@intel_sysfs_debugfs@xe-debugfs-read-all-entries-display-off.html

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

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

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-dp-4-4-mc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][15] ([Intel XE#2550] / [Intel XE#3767]) +7 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-463/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-dp-4-4-mc-ccs.html

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

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

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2327]) +2 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-8/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

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

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-dg2-set2:     NOTRUN -> [SKIP][20] ([Intel XE#610])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
    - shard-lnl:          NOTRUN -> [SKIP][21] ([Intel XE#1428]) +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-3/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][22] ([Intel XE#1124]) +5 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-3/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-dg2-set2:     NOTRUN -> [SKIP][23] ([Intel XE#1124]) +5 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#1124]) +9 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][25] ([Intel XE#2191]) +1 other test skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html

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

  * igt@kms_bw@linear-tiling-2-displays-3840x2160p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][27] ([Intel XE#367])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-3-displays-2160x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][28] ([Intel XE#367]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-1/igt@kms_bw@linear-tiling-3-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-4-displays-2160x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#367]) +1 other test skip
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-8/igt@kms_bw@linear-tiling-4-displays-2160x1440p.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#2887]) +9 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html

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

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

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#3432]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#3432])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][35] ([Intel XE#787]) +123 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-436/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][36] ([Intel XE#4212])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
    - shard-dg2-set2:     [PASS][37] -> [INCOMPLETE][38] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-dg2-set2:     [PASS][39] -> [INCOMPLETE][40] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) +1 other test incomplete
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-2:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][41] ([Intel XE#1727] / [Intel XE#3113])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-2.html

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

  * igt@kms_cdclk@mode-transition@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][43] ([Intel XE#4417]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_cdclk@mode-transition@pipe-d-dp-4.html

  * igt@kms_chamelium_audio@hdmi-audio-edid:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#2252]) +5 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-2/igt@kms_chamelium_audio@hdmi-audio-edid.html

  * igt@kms_chamelium_color@ctm-limited-range:
    - shard-dg2-set2:     NOTRUN -> [SKIP][45] ([Intel XE#306]) +3 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_chamelium_color@ctm-limited-range.html
    - shard-lnl:          NOTRUN -> [SKIP][46] ([Intel XE#306])
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-2/igt@kms_chamelium_color@ctm-limited-range.html

  * igt@kms_chamelium_edid@hdmi-edid-stress-resolution-4k:
    - shard-dg2-set2:     NOTRUN -> [SKIP][47] ([Intel XE#373]) +5 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-436/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-4k.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-lnl:          NOTRUN -> [SKIP][48] ([Intel XE#373]) +6 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-3/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_content_protection@atomic@pipe-a-dp-2:
    - shard-dg2-set2:     NOTRUN -> [FAIL][49] ([Intel XE#1178])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@kms_content_protection@atomic@pipe-a-dp-2.html

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

  * igt@kms_content_protection@mei-interface:
    - shard-lnl:          NOTRUN -> [SKIP][51] ([Intel XE#1468])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-2/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@type1:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#2341]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-lnl:          NOTRUN -> [SKIP][53] ([Intel XE#2321])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-2/igt@kms_cursor_crc@cursor-offscreen-512x170.html

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

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-dg2-set2:     NOTRUN -> [SKIP][55] ([Intel XE#308]) +1 other test skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_cursor_crc@cursor-onscreen-512x170.html

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

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

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-bmg:          [PASS][58] -> [SKIP][59] ([Intel XE#2291]) +3 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-lnl:          NOTRUN -> [SKIP][60] ([Intel XE#309]) +1 other test skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-bmg:          NOTRUN -> [SKIP][61] ([Intel XE#2286])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-bmg:          [PASS][62] -> [SKIP][63] ([Intel XE#4302])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-2/igt@kms_display_modes@extended-mode-basic.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - shard-dg2-set2:     [PASS][64] -> [SKIP][65] ([Intel XE#455])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-433/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html

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

  * igt@kms_dsc@dsc-with-formats:
    - shard-lnl:          NOTRUN -> [SKIP][67] ([Intel XE#2244]) +1 other test skip
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@kms_dsc@dsc-with-formats.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests:
    - shard-dg2-set2:     NOTRUN -> [SKIP][68] ([Intel XE#4422])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#4156])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_feature_discovery@display-2x:
    - shard-lnl:          NOTRUN -> [SKIP][70] ([Intel XE#702])
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-3/igt@kms_feature_discovery@display-2x.html
    - shard-bmg:          [PASS][71] -> [SKIP][72] ([Intel XE#2373])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-3/igt@kms_feature_discovery@display-2x.html
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@display-3x:
    - shard-bmg:          NOTRUN -> [SKIP][73] ([Intel XE#2373])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-8/igt@kms_feature_discovery@display-3x.html

  * igt@kms_flip@2x-blocking-absolute-wf_vblank:
    - shard-dg2-set2:     [PASS][74] -> [SKIP][75] ([Intel XE#310]) +5 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-433/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#1421]) +3 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@kms_flip@2x-blocking-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-bmg:          [PASS][77] -> [SKIP][78] ([Intel XE#2316]) +2 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-dp2-hdmi-a3:
    - shard-bmg:          NOTRUN -> [FAIL][79] ([Intel XE#3321]) +1 other test fail
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-dp2-hdmi-a3.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a6-dp4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][80] ([Intel XE#301])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a6-dp4.html

  * igt@kms_flip@2x-flip-vs-panning:
    - shard-dg2-set2:     NOTRUN -> [SKIP][81] ([Intel XE#310]) +1 other test skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_flip@2x-flip-vs-panning.html

  * igt@kms_flip@flip-vs-blocking-wf-vblank@c-edp1:
    - shard-lnl:          [PASS][82] -> [FAIL][83] ([Intel XE#886]) +3 other tests fail
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-5/igt@kms_flip@flip-vs-blocking-wf-vblank@c-edp1.html
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-8/igt@kms_flip@flip-vs-blocking-wf-vblank@c-edp1.html

  * igt@kms_flip@flip-vs-dpms-on-nop:
    - shard-bmg:          NOTRUN -> [FAIL][84] ([Intel XE#3098]) +1 other test fail
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_flip@flip-vs-dpms-on-nop.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
    - shard-lnl:          [PASS][85] -> [FAIL][86] ([Intel XE#301]) +1 other test fail
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@a-dp4:
    - shard-dg2-set2:     [PASS][87] -> [FAIL][88] ([Intel XE#301] / [Intel XE#3321])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-466/igt@kms_flip@flip-vs-expired-vblank@a-dp4.html
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-435/igt@kms_flip@flip-vs-expired-vblank@a-dp4.html

  * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6:
    - shard-dg2-set2:     [PASS][89] -> [FAIL][90] ([Intel XE#301])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-466/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6.html
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-435/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a6.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-bmg:          [PASS][91] -> [INCOMPLETE][92] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-3/igt@kms_flip@flip-vs-suspend-interruptible.html
    - shard-dg2-set2:     [PASS][93] -> [INCOMPLETE][94] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-466/igt@kms_flip@flip-vs-suspend-interruptible.html
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-436/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-dg2-set2:     [PASS][95] -> [FAIL][96] ([Intel XE#3098]) +1 other test fail
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-434/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-436/igt@kms_flip@modeset-vs-vblank-race-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][97] ([Intel XE#2293] / [Intel XE#2380]) +3 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][98] ([Intel XE#2293]) +3 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-lnl:          NOTRUN -> [SKIP][99] ([Intel XE#1401] / [Intel XE#1745])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

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

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling@pipe-a-valid-mode:
    - shard-dg2-set2:     NOTRUN -> [SKIP][101] ([Intel XE#455]) +8 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][102] ([Intel XE#1397] / [Intel XE#1745]) +1 other test skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][103] ([Intel XE#1397]) +1 other test skip
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html

  * igt@kms_force_connector_basic@force-connector-state:
    - shard-lnl:          NOTRUN -> [SKIP][104] ([Intel XE#352])
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-6/igt@kms_force_connector_basic@force-connector-state.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][105] ([Intel XE#656]) +20 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-render.html

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

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
    - shard-dg2-set2:     [PASS][107] -> [SKIP][108] ([Intel XE#656]) +4 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-432/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][109] ([Intel XE#656]) +2 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render.html

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

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

  * igt@kms_frontbuffer_tracking@fbcdrrs-slowdraw:
    - shard-dg2-set2:     NOTRUN -> [SKIP][112] ([Intel XE#651]) +11 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][113] ([Intel XE#653]) +16 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][114] ([Intel XE#2312]) +7 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][115] ([Intel XE#2352])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@plane-fbc-rte:
    - shard-dg2-set2:     NOTRUN -> [SKIP][116] ([Intel XE#1158])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_frontbuffer_tracking@plane-fbc-rte.html

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

  * igt@kms_getfb@getfb2-accept-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][118] ([Intel XE#2340])
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-5/igt@kms_getfb@getfb2-accept-ccs.html

  * igt@kms_hdr@static-toggle:
    - shard-bmg:          [PASS][119] -> [SKIP][120] ([Intel XE#1503]) +2 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-8/igt@kms_hdr@static-toggle.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_hdr@static-toggle.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-lnl:          NOTRUN -> [SKIP][121] ([Intel XE#1503]) +1 other test skip
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][122] ([Intel XE#346])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_plane@pixel-format-source-clamping:
    - shard-lnl:          NOTRUN -> [INCOMPLETE][123] ([Intel XE#4735])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@kms_plane@pixel-format-source-clamping.html

  * igt@kms_plane_multiple@tiling-x@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][124] ([Intel XE#4658]) +3 other tests fail
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-6/igt@kms_plane_multiple@tiling-x@pipe-b-edp-1.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][125] ([Intel XE#2493])
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-8/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-dg2-set2:     [PASS][126] -> [SKIP][127] ([Intel XE#309]) +2 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-433/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-2:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][128] ([Intel XE#4212])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-2.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b:
    - shard-dg2-set2:     NOTRUN -> [SKIP][129] ([Intel XE#2763]) +8 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-463/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b.html

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

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

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

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

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

  * igt@kms_pm_dc@dc5-psr:
    - shard-lnl:          [PASS][135] -> [FAIL][136] ([Intel XE#718])
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-4/igt@kms_pm_dc@dc5-psr.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-1/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][137] ([Intel XE#908])
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_pm_dc@dc6-dpms.html
    - shard-lnl:          NOTRUN -> [FAIL][138] ([Intel XE#1430])
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@deep-pkgc:
    - shard-lnl:          NOTRUN -> [FAIL][139] ([Intel XE#2029])
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@kms_pm_dc@deep-pkgc.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][140] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836]) +1 other test skip
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-dg2-set2:     [PASS][141] -> [SKIP][142] ([Intel XE#836])
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-466/igt@kms_pm_rpm@modeset-non-lpsp.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][143] ([Intel XE#1489]) +3 other tests skip
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
    - shard-lnl:          NOTRUN -> [SKIP][144] ([Intel XE#2893] / [Intel XE#4608]) +1 other test skip
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html

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

  * igt@kms_psr2_sf@pr-cursor-plane-update-sf:
    - shard-lnl:          NOTRUN -> [SKIP][146] ([Intel XE#2893]) +1 other test skip
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@kms_psr2_sf@pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-bmg:          NOTRUN -> [SKIP][147] ([Intel XE#1489]) +7 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-2/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html

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

  * igt@kms_psr@fbc-psr2-sprite-blt@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][149] ([Intel XE#4609]) +1 other test skip
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@kms_psr@fbc-psr2-sprite-blt@edp-1.html

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

  * igt@kms_psr@pr-cursor-plane-move:
    - shard-lnl:          NOTRUN -> [SKIP][151] ([Intel XE#1406]) +4 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-2/igt@kms_psr@pr-cursor-plane-move.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-lnl:          NOTRUN -> [SKIP][152] ([Intel XE#3414] / [Intel XE#3904])
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-1/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-dg2-set2:     NOTRUN -> [SKIP][153] ([Intel XE#1127]) +1 other test skip
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-bmg:          NOTRUN -> [SKIP][154] ([Intel XE#2330])
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

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

  * igt@kms_scaling_modes@scaling-mode-center:
    - shard-bmg:          NOTRUN -> [SKIP][156] ([Intel XE#2413])
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-2/igt@kms_scaling_modes@scaling-mode-center.html

  * igt@kms_setmode@invalid-clone-exclusive-crtc:
    - shard-bmg:          NOTRUN -> [SKIP][157] ([Intel XE#1435])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-3/igt@kms_setmode@invalid-clone-exclusive-crtc.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][158] ([Intel XE#771]) +2 other tests fail
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html

  * igt@kms_vrr@flip-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][159] ([Intel XE#1499]) +1 other test skip
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_vrr@flip-suspend.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-lnl:          NOTRUN -> [SKIP][160] ([Intel XE#1499]) +1 other test skip
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-5/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-dg2-set2:     NOTRUN -> [SKIP][161] ([Intel XE#756])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-lnl:          NOTRUN -> [SKIP][162] ([Intel XE#1091] / [Intel XE#2849])
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-1/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute:
    - shard-dg2-set2:     NOTRUN -> [SKIP][163] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-436/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html

  * igt@xe_create@multigpu-create-massive-size:
    - shard-bmg:          NOTRUN -> [SKIP][164] ([Intel XE#2504])
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-8/igt@xe_create@multigpu-create-massive-size.html

  * igt@xe_eudebug@basic-vm-access-parameters-userptr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][165] ([Intel XE#2905] / [Intel XE#3889])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@xe_eudebug@basic-vm-access-parameters-userptr.html

  * igt@xe_eudebug@basic-vm-bind-ufence-reconnect:
    - shard-bmg:          NOTRUN -> [SKIP][166] ([Intel XE#2905] / [Intel XE#3889])
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-3/igt@xe_eudebug@basic-vm-bind-ufence-reconnect.html

  * igt@xe_eudebug@sysfs-toggle:
    - shard-lnl:          NOTRUN -> [SKIP][167] ([Intel XE#2905]) +4 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-8/igt@xe_eudebug@sysfs-toggle.html

  * igt@xe_eudebug_online@interrupt-other:
    - shard-bmg:          NOTRUN -> [SKIP][168] ([Intel XE#2905]) +6 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@xe_eudebug_online@interrupt-other.html

  * igt@xe_eudebug_online@preempt-breakpoint:
    - shard-dg2-set2:     NOTRUN -> [SKIP][169] ([Intel XE#2905]) +5 other tests skip
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-436/igt@xe_eudebug_online@preempt-breakpoint.html

  * igt@xe_eudebug_online@set-breakpoint-sigint-debugger:
    - shard-bmg:          NOTRUN -> [SKIP][170] ([Intel XE#4577])
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@xe_eudebug_online@set-breakpoint-sigint-debugger.html

  * igt@xe_evict_ccs@evict-overcommit-standalone-instantfree-reopen:
    - shard-lnl:          NOTRUN -> [SKIP][171] ([Intel XE#688]) +2 other tests skip
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-7/igt@xe_evict_ccs@evict-overcommit-standalone-instantfree-reopen.html

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

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

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind:
    - shard-dg2-set2:     NOTRUN -> [SKIP][174] ([Intel XE#1392]) +1 other test skip
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind.html

  * igt@xe_exec_basic@multigpu-once-rebind:
    - shard-dg2-set2:     [PASS][175] -> [SKIP][176] ([Intel XE#1392]) +2 other tests skip
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-435/igt@xe_exec_basic@multigpu-once-rebind.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@xe_exec_basic@multigpu-once-rebind.html

  * igt@xe_exec_fault_mode@twice-userptr-invalidate-race:
    - shard-dg2-set2:     NOTRUN -> [SKIP][177] ([Intel XE#288]) +9 other tests skip
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html

  * igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence:
    - shard-dg2-set2:     NOTRUN -> [SKIP][178] ([Intel XE#2360])
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-435/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html

  * igt@xe_exec_threads@threads-hang-fd-rebind:
    - shard-dg2-set2:     [PASS][179] -> [DMESG-WARN][180] ([Intel XE#3876])
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@xe_exec_threads@threads-hang-fd-rebind.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@xe_exec_threads@threads-hang-fd-rebind.html

  * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
    - shard-dg2-set2:     NOTRUN -> [SKIP][181] ([Intel XE#2229])
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-463/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html

  * igt@xe_module_load@force-load:
    - shard-bmg:          NOTRUN -> [SKIP][182] ([Intel XE#2457])
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-3/igt@xe_module_load@force-load.html

  * igt@xe_noexec_ping_pong:
    - shard-lnl:          NOTRUN -> [SKIP][183] ([Intel XE#379])
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@xe_noexec_ping_pong.html

  * igt@xe_oa@invalid-create-userspace-config:
    - shard-dg2-set2:     NOTRUN -> [SKIP][184] ([Intel XE#2541] / [Intel XE#3573]) +4 other tests skip
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@xe_oa@invalid-create-userspace-config.html

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

  * igt@xe_peer2peer@write:
    - shard-lnl:          NOTRUN -> [SKIP][186] ([Intel XE#1061])
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-3/igt@xe_peer2peer@write.html

  * igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p:
    - shard-dg2-set2:     NOTRUN -> [FAIL][187] ([Intel XE#1173])
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html

  * igt@xe_pm@d3cold-mocs:
    - shard-bmg:          NOTRUN -> [SKIP][188] ([Intel XE#2284]) +1 other test skip
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@xe_pm@d3cold-mocs.html

  * igt@xe_pm@d3cold-multiple-execs:
    - shard-lnl:          NOTRUN -> [SKIP][189] ([Intel XE#2284] / [Intel XE#366])
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-8/igt@xe_pm@d3cold-multiple-execs.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-dg2-set2:     NOTRUN -> [SKIP][190] ([Intel XE#2284] / [Intel XE#366])
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-463/igt@xe_pm@s2idle-d3cold-basic-exec.html

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

  * igt@xe_pm@s4-vm-bind-unbind-all:
    - shard-lnl:          [PASS][192] -> [ABORT][193] ([Intel XE#1794]) +1 other test abort
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-5/igt@xe_pm@s4-vm-bind-unbind-all.html
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-2/igt@xe_pm@s4-vm-bind-unbind-all.html

  * igt@xe_pxp@display-pxp-fb:
    - shard-bmg:          NOTRUN -> [SKIP][194] ([Intel XE#4733]) +2 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-8/igt@xe_pxp@display-pxp-fb.html

  * igt@xe_pxp@pxp-stale-bo-bind-post-suspend:
    - shard-dg2-set2:     NOTRUN -> [SKIP][195] ([Intel XE#4733]) +1 other test skip
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-433/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html

  * igt@xe_query@multigpu-query-hwconfig:
    - shard-lnl:          NOTRUN -> [SKIP][196] ([Intel XE#944])
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-6/igt@xe_query@multigpu-query-hwconfig.html

  * igt@xe_query@multigpu-query-invalid-extension:
    - shard-bmg:          NOTRUN -> [SKIP][197] ([Intel XE#944]) +1 other test skip
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@xe_query@multigpu-query-invalid-extension.html

  * igt@xe_query@multigpu-query-uc-fw-version-huc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][198] ([Intel XE#944])
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@xe_query@multigpu-query-uc-fw-version-huc.html

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

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

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

  * igt@xe_sriov_flr@flr-vfs-parallel:
    - shard-dg2-set2:     NOTRUN -> [SKIP][202] ([Intel XE#4273])
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-435/igt@xe_sriov_flr@flr-vfs-parallel.html

  
#### Possible fixes ####

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-edp-1-linear:
    - shard-lnl:          [FAIL][203] ([Intel XE#911]) -> [PASS][204] +3 other tests pass
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-edp-1-linear.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-5/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-edp-1-linear.html

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

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic:
    - shard-bmg:          [SKIP][207] ([Intel XE#2291]) -> [PASS][208]
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-3/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions:
    - shard-dg2-set2:     [SKIP][209] ([Intel XE#309]) -> [PASS][210] +5 other tests pass
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-dg2-set2:     [INCOMPLETE][211] ([Intel XE#3226]) -> [PASS][212]
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-436/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-463/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-dg2-set2:     [FAIL][213] -> [PASS][214]
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-435/igt@kms_dp_linktrain_fallback@dp-fallback.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-463/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_feature_discovery@display-2x:
    - shard-dg2-set2:     [SKIP][215] ([Intel XE#702]) -> [PASS][216]
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_feature_discovery@display-2x.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_feature_discovery@display-2x.html

  * igt@kms_flip@2x-absolute-wf_vblank:
    - shard-bmg:          [SKIP][217] ([Intel XE#2316]) -> [PASS][218] +2 other tests pass
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_flip@2x-absolute-wf_vblank.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-3/igt@kms_flip@2x-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible:
    - shard-dg2-set2:     [SKIP][219] -> [PASS][220]
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-433/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a6-dp4:
    - shard-dg2-set2:     [FAIL][221] ([Intel XE#301]) -> [PASS][222] +3 other tests pass
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-436/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a6-dp4.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-436/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a6-dp4.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
    - shard-dg2-set2:     [SKIP][223] ([Intel XE#310]) -> [PASS][224] +3 other tests pass
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@flip-vs-expired-vblank@c-dp4:
    - shard-dg2-set2:     [FAIL][225] ([Intel XE#301] / [Intel XE#3321]) -> [PASS][226]
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-466/igt@kms_flip@flip-vs-expired-vblank@c-dp4.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-435/igt@kms_flip@flip-vs-expired-vblank@c-dp4.html

  * igt@kms_flip@flip-vs-expired-vblank@c-edp1:
    - shard-lnl:          [FAIL][227] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][228]
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][229] ([Intel XE#656]) -> [PASS][230] +1 other test pass
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt.html

  * igt@kms_hdr@static-swap:
    - shard-bmg:          [SKIP][231] ([Intel XE#1503]) -> [PASS][232]
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_hdr@static-swap.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-6/igt@kms_hdr@static-swap.html

  * igt@kms_plane_lowres@tiling-none@pipe-a-dp-4:
    - shard-dg2-set2:     [DMESG-WARN][233] -> [PASS][234] +1 other test pass
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-435/igt@kms_plane_lowres@tiling-none@pipe-a-dp-4.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-436/igt@kms_plane_lowres@tiling-none@pipe-a-dp-4.html

  * igt@kms_plane_multiple@2x-tiling-x:
    - shard-bmg:          [SKIP][235] ([Intel XE#4596]) -> [PASS][236]
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-x.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_plane_multiple@2x-tiling-x.html

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

  * igt@kms_vrr@negative-basic:
    - shard-dg2-set2:     [SKIP][239] ([Intel XE#455]) -> [PASS][240]
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_vrr@negative-basic.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_vrr@negative-basic.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue:
    - shard-dg2-set2:     [SKIP][241] ([Intel XE#1392]) -> [PASS][242] +4 other tests pass
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-433/igt@xe_exec_basic@multigpu-once-bindexecqueue.html

  * igt@xe_exec_threads@threads-hang-fd-rebind:
    - shard-lnl:          [DMESG-WARN][243] ([Intel XE#3876]) -> [PASS][244]
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-3/igt@xe_exec_threads@threads-hang-fd-rebind.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-4/igt@xe_exec_threads@threads-hang-fd-rebind.html

  
#### Warnings ####

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     [SKIP][245] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][246] ([Intel XE#787]) +8 other tests skip
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     [SKIP][247] ([Intel XE#787]) -> [SKIP][248] ([Intel XE#455] / [Intel XE#787]) +7 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-436/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-6.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][249] ([Intel XE#1727] / [Intel XE#3113]) -> [INCOMPLETE][250] ([Intel XE#2705] / [Intel XE#4212])
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-dg2-set2:     [SKIP][251] ([Intel XE#4418]) -> [SKIP][252] ([Intel XE#4440])
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-433/igt@kms_cdclk@mode-transition-all-outputs.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_content_protection@lic-type-0:
    - shard-dg2-set2:     [FAIL][253] ([Intel XE#1178]) -> [SKIP][254] ([Intel XE#455]) +1 other test skip
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-436/igt@kms_content_protection@lic-type-0.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@uevent:
    - shard-dg2-set2:     [FAIL][255] ([Intel XE#1188]) -> [SKIP][256] ([Intel XE#455])
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-466/igt@kms_content_protection@uevent.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_content_protection@uevent.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [SKIP][257] ([i915#3804]) -> [SKIP][258] ([Intel XE#455] / [i915#3804])
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-433/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [SKIP][259] ([Intel XE#2316]) -> [FAIL][260] ([Intel XE#3321])
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
    - shard-dg2-set2:     [INCOMPLETE][261] ([Intel XE#2049]) -> [FAIL][262] ([Intel XE#301])
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-432/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-466/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-lnl:          [FAIL][263] ([Intel XE#301] / [Intel XE#3149]) -> [FAIL][264] ([Intel XE#301])
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          [SKIP][265] ([Intel XE#2311]) -> [SKIP][266] ([Intel XE#2312]) +11 other tests skip
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][267] ([Intel XE#2312]) -> [SKIP][268] ([Intel XE#2311]) +7 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff:
    - shard-dg2-set2:     [SKIP][269] ([Intel XE#656]) -> [SKIP][270] ([Intel XE#651]) +8 other tests skip
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt:
    - shard-bmg:          [SKIP][271] ([Intel XE#4141]) -> [SKIP][272] ([Intel XE#2312]) +5 other tests skip
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/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][273] ([Intel XE#2312]) -> [SKIP][274] ([Intel XE#4141]) +7 other tests skip
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt:
    - shard-dg2-set2:     [SKIP][275] ([Intel XE#651]) -> [SKIP][276] ([Intel XE#656]) +11 other tests skip
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-433/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-blt:
    - shard-bmg:          [SKIP][277] ([Intel XE#2313]) -> [SKIP][278] ([Intel XE#2312]) +8 other tests skip
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-blt.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-dg2-set2:     [SKIP][279] ([Intel XE#653]) -> [SKIP][280] ([Intel XE#656]) +7 other tests skip
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][281] ([Intel XE#2312]) -> [SKIP][282] ([Intel XE#2313]) +6 other tests skip
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move:
    - shard-dg2-set2:     [SKIP][283] ([Intel XE#656]) -> [SKIP][284] ([Intel XE#653]) +8 other tests skip
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move.html
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-433/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move.html

  * igt@kms_plane_multiple@2x-tiling-yf:
    - shard-dg2-set2:     [SKIP][285] ([Intel XE#455]) -> [SKIP][286] ([Intel XE#4596])
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-435/igt@kms_plane_multiple@2x-tiling-yf.html
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-464/igt@kms_plane_multiple@2x-tiling-yf.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg2-set2:     [SKIP][287] ([Intel XE#362]) -> [FAIL][288] ([Intel XE#1729])
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern.html
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-432/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][289] ([Intel XE#2426]) -> [SKIP][290] ([Intel XE#2509])
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@xe_peer2peer@write:
    - shard-dg2-set2:     [SKIP][291] ([Intel XE#1061]) -> [FAIL][292] ([Intel XE#1173])
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8312/shard-dg2-432/igt@xe_peer2peer@write.html
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_12953/shard-dg2-434/igt@xe_peer2peer@write.html

  
  [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [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#1158]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1158
  [Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
  [Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#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#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1428
  [Intel XE#1430]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1430
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1465]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1465
  [Intel XE#1468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1468
  [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#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
  [Intel XE#2029]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2029
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [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#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233
  [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#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
  [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#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
  [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#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
  [Intel XE#2340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2340
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
  [Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
  [Intel XE#2493]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2493
  [Intel XE#2504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2504
  [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#2550]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2550
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [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#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#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#3226]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3226
  [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#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
  [Intel XE#352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/352
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
  [Intel XE#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#379]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/379
  [Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
  [Intel XE#3889]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3889
  [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#4156]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4156
  [Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
  [Intel XE#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
  [Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
  [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
  [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#4440]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4440
  [Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
  [Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4577]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4577
  [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#4624]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4624
  [Intel XE#4658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4658
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4735]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4735
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#702]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/702
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
  [Intel XE#771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/771
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
  [Intel XE#908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/908
  [Intel XE#911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/911
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804


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

  * IGT: IGT_8312 -> IGTPW_12953
  * Linux: xe-2927-2ee1c41fdfba60eb67d2c659239e31216c2610ee -> xe-2928-c54633598106dbdb97f3aa589587b8176009b6d8

  IGTPW_12953: 12953
  IGT_8312: 8312
  xe-2927-2ee1c41fdfba60eb67d2c659239e31216c2610ee: 2ee1c41fdfba60eb67d2c659239e31216c2610ee
  xe-2928-c54633598106dbdb97f3aa589587b8176009b6d8: c54633598106dbdb97f3aa589587b8176009b6d8

== Logs ==

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

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

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

* ✗ i915.CI.BAT: failure for Add test to validate survivability mode
  2025-04-10  6:07 [PATCH i-g-t 0/2] Add test to validate survivability mode Riana Tauro
                   ` (3 preceding siblings ...)
  2025-04-10  7:53 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-04-10  8:55 ` Patchwork
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-04-10  8:55 UTC (permalink / raw)
  To: Riana Tauro; +Cc: igt-dev

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

== Series Details ==

Series: Add test to validate survivability mode
URL   : https://patchwork.freedesktop.org/series/147506/
State : failure

== Summary ==

CI Bug Log - changes from IGT_8312 -> IGTPW_12953
====================================================

Summary
-------

  **FAILURE**

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

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

  Missing    (2): fi-cfl-8109u fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live:
    - bat-arls-5:         [PASS][1] -> [INCOMPLETE][2] +1 other test incomplete
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8312/bat-arls-5/igt@i915_selftest@live.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12953/bat-arls-5/igt@i915_selftest@live.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@workarounds:
    - bat-arls-5:         [PASS][3] -> [DMESG-FAIL][4] ([i915#12061])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8312/bat-arls-5/igt@i915_selftest@live@workarounds.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12953/bat-arls-5/igt@i915_selftest@live@workarounds.html

  
#### Possible fixes ####

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

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - bat-apl-1:          [DMESG-WARN][7] ([i915#13735]) -> [PASS][8] +1 other test pass
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8312/bat-apl-1/igt@kms_flip@basic-flip-vs-wf_vblank.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12953/bat-apl-1/igt@kms_flip@basic-flip-vs-wf_vblank.html

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_8312 -> IGTPW_12953
  * Linux: CI_DRM_16393 -> CI_DRM_16394

  CI-20190529: 20190529
  CI_DRM_16393: 2ee1c41fdfba60eb67d2c659239e31216c2610ee @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_16394: c54633598106dbdb97f3aa589587b8176009b6d8 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_12953: 12953
  IGT_8312: 8312

== Logs ==

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

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

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

* Re: [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs
  2025-04-10  6:07 ` [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs Riana Tauro
@ 2025-04-11  7:53   ` Louis Chauvet
  2025-04-11 10:58     ` Riana Tauro
  0 siblings, 1 reply; 11+ messages in thread
From: Louis Chauvet @ 2025-04-11  7:53 UTC (permalink / raw)
  To: Riana Tauro, igt-dev
  Cc: anshuman.gupta, lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska, José Expósito

Hi Riana,

Le 10/04/2025 à 08:07, Riana Tauro a écrit :
> Add library functions to open configfs and create
> and remove configfs directories.

Can you take a look at [1], something similar was proposed few weeks 
ago? The main difference is that [1] checks that /sys/kernel/config is 
actually a mount point.

+Cc: José Exposito

[1]:https://lore.kernel.org/all/20250218165011.9123-4-jose.exposito89@gmail.com/

> Signed-off-by: Riana Tauro <riana.tauro@intel.com>
> ---
>   lib/igt_configfs.c | 88 ++++++++++++++++++++++++++++++++++++++++++++++
>   lib/igt_configfs.h | 13 +++++++
>   lib/meson.build    |  1 +
>   3 files changed, 102 insertions(+)
>   create mode 100644 lib/igt_configfs.c
>   create mode 100644 lib/igt_configfs.h
> 
> diff --git a/lib/igt_configfs.c b/lib/igt_configfs.c
> new file mode 100644
> index 000000000..57d59f1c4
> --- /dev/null
> +++ b/lib/igt_configfs.c
> @@ -0,0 +1,88 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +#include <sys/mount.h>
> +#include <sys/stat.h>
> +
> +#include <errno.h>
> +#include <fcntl.h>
> +#include <limits.h>
> +
> +#include "igt_configfs.h"
> +#include "igt_core.h"
> +
> +static const char *igt_configfs_mount(void)
> +{
> +	struct stat st;
> +
> +	if (stat("/sys/kernel/debug", &st) == 0)
> +		return "/sys/kernel/config";
> +
> +	if (mount("none", "/sys/kernel/config", "configfs", 0, 0))
> +		return NULL;
> +
> +	return "/sys/kernel/config";
> +}
> +
> +/**
> + * igt_configfs_open: open configfs path
> + * @name: name of the configfs directory
> + *
> + * Opens the configfs directory corresponding to the name
> + *
> + * Returns:
> + * The directory fd, or -1 on failure.
> + */
> +int igt_configfs_open(const char *name)
> +{
> +	char path[PATH_MAX];
> +	const char *configfs_path;
> +
> +	configfs_path = igt_configfs_mount();
> +	igt_assert(configfs_path);
> +
> +	snprintf(path, sizeof(path), "%s/%s", configfs_path, name);
> +
> +	return open(path, O_RDONLY);
> +}

The usage of file descriptors for folders is nice here!

@José, I think this may reduce the complexity of the vkms tests. At 
least it will avoid having snprintf(%s/%s, vkms_root, vkms_item). What 
do you think?

> +
> +/**
> + * igt_configfs_create_directory: creates configfs group
> + * @fd: fd of configfs parent directory
> + * @name: name of the directory to create
> + *
> + * creates a directory under configfs parent directory
> + *
> + * Returns: 0 on success, -errno otherwise

This seems wrong, as the function returns a file descriptor, did I miss 
something?

> + */
> +int igt_configfs_create_directory(int fd, const char *name)
> +{
> +	int ret;
> +	int dirfd;
> +
> +	ret = mkdirat(fd, name, 0755);
> +	if (ret)
> +		return -errno;
> +
> +	dirfd = openat(fd, name, O_DIRECTORY);
> +	if (dirfd < 0)
> +		return -errno;
> +
> +	return dirfd;
> +}
> +
> +/**
> + * igt_configfs_remove_directory: removes configfs group
> + * @fd: fd of configfs parent directory
> + * @name: name of directory to create
> + *
> + * removes directory under configfs parent directory
> + */
> +void igt_configfs_remove_directory(int fd, const char *name)
> +{
> +	int ret = unlinkat(fd, name, AT_REMOVEDIR);
> +
> +	if (ret)
> +		igt_warn("Unable to remove %s directory: %s\n", name, strerror(errno));
> +}

I completely understand the point of those helpers, but I don't think 
they are configfs-specific. The file descriptor is passed by argument, 
so you could use it for any interface (configfs, debugfs, sysfs...).

I don't see any igt_fs.c, do you think it beneficial to create such file?

@José, do you think it make sense to also reuse igt_sysfs helpers for 
the VKMS tests? (igt_sysfs_get/set_s32/u32/boolean only use a directory 
fd + path, if you decide to use fd for vkms, it will avoid code duplication)

Thanks a lot Riana for this implementation and new ideas.

Louis Chauvet

> diff --git a/lib/igt_configfs.h b/lib/igt_configfs.h
> new file mode 100644
> index 000000000..d839db49a
> --- /dev/null
> +++ b/lib/igt_configfs.h
> @@ -0,0 +1,13 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +
> +#ifndef IGT_CONFIGFS_H
> +#define IGT_CONFIGFS_H
> +
> +int igt_configfs_open(const char *name);
> +int igt_configfs_create_directory(int fd, const char *name);
> +void igt_configfs_remove_directory(int fd, const char *name);
> +
> +#endif /* IGT_CONFIGFS_H */
> diff --git a/lib/meson.build b/lib/meson.build
> index d7bb72c57..f087947e7 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -19,6 +19,7 @@ lib_sources = [
>   	'igt_collection.c',
>   	'igt_color_encoding.c',
>   	'igt_facts.c',
> +	'igt_configfs.c',
>   	'igt_crc.c',
>   	'igt_debugfs.c',
>   	'igt_device.c',

-- 
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


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

* Re: [PATCH i-g-t 2/2] tests/intel/xe_configfs: Add test to validate survivability mode
  2025-04-10  6:07 ` [PATCH i-g-t 2/2] tests/intel/xe_configfs: Add test to validate survivability mode Riana Tauro
@ 2025-04-11  7:53   ` Louis Chauvet
  2025-04-15  5:44     ` Riana Tauro
  0 siblings, 1 reply; 11+ messages in thread
From: Louis Chauvet @ 2025-04-11  7:53 UTC (permalink / raw)
  To: Riana Tauro, igt-dev
  Cc: anshuman.gupta, lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska



Le 10/04/2025 à 08:07, Riana Tauro a écrit :
> The test validates if survivability mode is enabled on supported
> platforms when configured using configfs attribute.
> 
> Signed-off-by: Riana Tauro <riana.tauro@intel.com>
> ---
>   tests/intel/xe_configfs.c | 138 ++++++++++++++++++++++++++++++++++++++
>   tests/meson.build         |   1 +
>   2 files changed, 139 insertions(+)
>   create mode 100644 tests/intel/xe_configfs.c
> 
> diff --git a/tests/intel/xe_configfs.c b/tests/intel/xe_configfs.c
> new file mode 100644
> index 000000000..8954ed87c
> --- /dev/null
> +++ b/tests/intel/xe_configfs.c
> @@ -0,0 +1,138 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2025 Intel Corporation
> + */
> +#include <limits.h>
> +
> +#include "igt.h"
> +#include "igt_configfs.h"
> +#include "igt_device.h"
> +#include "igt_sysfs.h"
> +
> +/**
> + * TEST: Check configfs userspace API
> + * Category: Core
> + * Mega feature: General Core features
> + * Sub-category: uapi
> + * Functionality: configfs
> + * Description: validate configfs entries
> + * Test category: functionality test
> + */
> +
> +static char bus_addr[NAME_MAX];
> +static uint32_t dev_id;
> +
> +static int driver_fd(void)
> +{
> +	int fd;
> +
> +	fd = open("/sys/bus/pci/drivers/xe", O_RDONLY);
> +	igt_assert_f(fd >= 0, "Can't open path\n");
> +
> +	return fd;
> +}
> +
> +static void driver_bind(void)
> +{
> +	int fd;
> +
> +	fd = driver_fd();
> +	igt_sysfs_write(fd, "bind", bus_addr, sizeof(bus_addr));
> +	close(fd);
> +}
> +
> +static void driver_unbind(void)
> +{
> +	int fd;
> +
> +	fd = driver_fd();
> +	igt_sysfs_write(fd, "unbind", bus_addr, sizeof(bus_addr));
> +	close(fd);
> +}

Did you see the functions xe_sysfs_driver_do in igt_sysfs.c? It seems to 
do the same thing as driver_bind/unbind here.

Thanks,
Louis Chauvet

> +
> +static void restore(int sig)
> +{
> +	/* Restore after survivability mode */
> +	driver_unbind();
> +	driver_bind();
> +}
> +
> +static void set_survivability_mode(int dir_fd, bool value)
> +{
> +	driver_unbind();
> +	igt_sysfs_set_boolean(dir_fd, "survivability_mode", value);
> +	driver_bind();
> +}
> +
> +static void check_survivability_mode(void)
> +{
> +	char path[PATH_MAX], buf[4096];
> +	int fd, len;
> +
> +	snprintf(path, PATH_MAX, "/sys/bus/pci/devices/%s", bus_addr);
> +	fd = open(path, O_RDONLY);
> +	igt_assert_f(fd >= 0, "Cannot open %s\n", path);
> +
> +	len = igt_sysfs_read(fd, "survivability_mode", buf, sizeof(buf) - 1);
> +	if (len > 0) {
> +		buf[len] = '\0';
> +		igt_info("Survivability Mode:\n%s", buf);
> +	}
> +	close(fd);
> +
> +	if (IS_BATTLEMAGE(dev_id))
> +		igt_assert_f(len > 0, "Survivability mode not set\n");
> +}
> +
> +/**
> + * SUBTEST: survivability-mode
> + * Description: Validate survivability mode by setting configfs
> + */
> +static void test_survivability_mode(int dir_fd)
> +{
> +	/* Enable survivability mode */
> +	set_survivability_mode(dir_fd, true);
> +
> +	check_survivability_mode();
> +}
> +
> +static int create_device_configfs(int configfs_fd, int fd)
> +{
> +	int dir_fd;
> +	struct pci_device *pci_dev;
> +
> +	pci_dev = igt_device_get_pci_device(fd);
> +	snprintf(bus_addr, sizeof(bus_addr), "%04x:%02x:%02x.%01x",
> +		 pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
> +
> +	dir_fd = igt_configfs_create_directory(configfs_fd, bus_addr);
> +	igt_assert(dir_fd);
> +
> +	return dir_fd;
> +}
> +
> +igt_main
> +{
> +	int fd, configfs_fd, dir_fd;
> +
> +	igt_fixture {
> +		fd = drm_open_driver(DRIVER_XE);
> +		dev_id = intel_get_drm_devid(fd);
> +		configfs_fd = igt_configfs_open("xe");
> +		igt_require(configfs_fd != -1);
> +		dir_fd = create_device_configfs(configfs_fd, fd);
> +	}
> +
> +	igt_describe("Validate survivability mode");
> +	igt_subtest("survivability-mode") {
> +		igt_install_exit_handler(restore);
> +		test_survivability_mode(dir_fd);
> +	}
> +
> +	igt_fixture {
> +		igt_configfs_remove_directory(configfs_fd, bus_addr);
> +		close(dir_fd);
> +		close(configfs_fd);
> +		close(fd);
> +	}
> +}
> diff --git a/tests/meson.build b/tests/meson.build
> index 2a63d888f..74684ea35 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -279,6 +279,7 @@ intel_xe_progs = [
>   	'xe_create',
>   	'xe_compute',
>   	'xe_compute_preempt',
> +        'xe_configfs',
>   	'xe_copy_basic',
>   	'xe_dma_buf_sync',
>   	'xe_debugfs',

-- 
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


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

* Re: [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs
  2025-04-11  7:53   ` Louis Chauvet
@ 2025-04-11 10:58     ` Riana Tauro
  2025-04-13 17:56       ` José Expósito
  0 siblings, 1 reply; 11+ messages in thread
From: Riana Tauro @ 2025-04-11 10:58 UTC (permalink / raw)
  To: Louis Chauvet, igt-dev
  Cc: anshuman.gupta, lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska, José Expósito

Hi Louis

On 4/11/2025 1:23 PM, Louis Chauvet wrote:
> Hi Riana,
> 
> Le 10/04/2025 à 08:07, Riana Tauro a écrit :
>> Add library functions to open configfs and create
>> and remove configfs directories.
> 
> Can you take a look at [1], something similar was proposed few weeks 
> ago? The main difference is that [1] checks that /sys/kernel/config is 
> actually a mount point.
I hadn't looked at this. Thank you for the link

@Jose is this close to merge? If not, can i send [2] and [3] as part of 
this series?

[2]https://lore.kernel.org/all/20250218165011.9123-3-jose.exposito89@gmail.com/
[3]https://lore.kernel.org/all/20250218165011.9123-4-jose.exposito89@gmail.com/> 

> +Cc: José Exposito
> 
> [1]:https://lore.kernel.org/all/20250218165011.9123-4- 
> jose.exposito89@gmail.com/
> 
>> Signed-off-by: Riana Tauro <riana.tauro@intel.com>
>> ---
>>   lib/igt_configfs.c | 88 ++++++++++++++++++++++++++++++++++++++++++++++
>>   lib/igt_configfs.h | 13 +++++++
>>   lib/meson.build    |  1 +
>>   3 files changed, 102 insertions(+)
>>   create mode 100644 lib/igt_configfs.c
>>   create mode 100644 lib/igt_configfs.h
>>
>> diff --git a/lib/igt_configfs.c b/lib/igt_configfs.c
>> new file mode 100644
>> index 000000000..57d59f1c4
>> --- /dev/null
>> +++ b/lib/igt_configfs.c
>> @@ -0,0 +1,88 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +#include <sys/mount.h>
>> +#include <sys/stat.h>
>> +
>> +#include <errno.h>
>> +#include <fcntl.h>
>> +#include <limits.h>
>> +
>> +#include "igt_configfs.h"
>> +#include "igt_core.h"
>> +
>> +static const char *igt_configfs_mount(void)
>> +{
>> +    struct stat st;
>> +
>> +    if (stat("/sys/kernel/debug", &st) == 0)
>> +        return "/sys/kernel/config";
>> +
>> +    if (mount("none", "/sys/kernel/config", "configfs", 0, 0))
>> +        return NULL;
>> +
>> +    return "/sys/kernel/config";
>> +}
>> +
>> +/**
>> + * igt_configfs_open: open configfs path
>> + * @name: name of the configfs directory
>> + *
>> + * Opens the configfs directory corresponding to the name
>> + *
>> + * Returns:
>> + * The directory fd, or -1 on failure.
>> + */
>> +int igt_configfs_open(const char *name)
>> +{
>> +    char path[PATH_MAX];
>> +    const char *configfs_path;
>> +
>> +    configfs_path = igt_configfs_mount();
>> +    igt_assert(configfs_path);
>> +
>> +    snprintf(path, sizeof(path), "%s/%s", configfs_path, name);
>> +
>> +    return open(path, O_RDONLY);
>> +}
> 
> The usage of file descriptors for folders is nice here!
> 
> @José, I think this may reduce the complexity of the vkms tests. At 
> least it will avoid having snprintf(%s/%s, vkms_root, vkms_item). What 
> do you think?
> 
>> +
>> +/**
>> + * igt_configfs_create_directory: creates configfs group
>> + * @fd: fd of configfs parent directory
>> + * @name: name of the directory to create
>> + *
>> + * creates a directory under configfs parent directory
>> + *
>> + * Returns: 0 on success, -errno otherwise
> 
> This seems wrong, as the function returns a file descriptor, did I miss 
> something?
> Missed this. Will fix it>> + */
>> +int igt_configfs_create_directory(int fd, const char *name)
>> +{
>> +    int ret;
>> +    int dirfd;
>> +
>> +    ret = mkdirat(fd, name, 0755);
>> +    if (ret)
>> +        return -errno;
>> +
>> +    dirfd = openat(fd, name, O_DIRECTORY);
>> +    if (dirfd < 0)
>> +        return -errno;
>> +
>> +    return dirfd;
>> +}
>> +
>> +/**
>> + * igt_configfs_remove_directory: removes configfs group
>> + * @fd: fd of configfs parent directory
>> + * @name: name of directory to create
>> + *
>> + * removes directory under configfs parent directory
>> + */
>> +void igt_configfs_remove_directory(int fd, const char *name)
>> +{
>> +    int ret = unlinkat(fd, name, AT_REMOVEDIR);
>> +
>> +    if (ret)
>> +        igt_warn("Unable to remove %s directory: %s\n", name, 
>> strerror(errno));
>> +}
> 
> I completely understand the point of those helpers, but I don't think 
> they are configfs-specific. The file descriptor is passed by argument, 
> so you could use it for any interface (configfs, debugfs, sysfs...).
> 
> I don't see any igt_fs.c, do you think it beneficial to create such file?

I thought of calling the igt_configfs_open here but that would not work 
for nested configfs directories.

This could be moved to igt_io and that can be renamed to igt_fs as that 
has only file read and write calls

Thank you
Riana Tauro>
> @José, do you think it make sense to also reuse igt_sysfs helpers for 
> the VKMS tests? (igt_sysfs_get/set_s32/u32/boolean only use a directory 
> fd + path, if you decide to use fd for vkms, it will avoid code 
> duplication)
> 
> Thanks a lot Riana for this implementation and new ideas.
> 
> Louis Chauvet
> 
>> diff --git a/lib/igt_configfs.h b/lib/igt_configfs.h
>> new file mode 100644
>> index 000000000..d839db49a
>> --- /dev/null
>> +++ b/lib/igt_configfs.h
>> @@ -0,0 +1,13 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +
>> +#ifndef IGT_CONFIGFS_H
>> +#define IGT_CONFIGFS_H
>> +
>> +int igt_configfs_open(const char *name);
>> +int igt_configfs_create_directory(int fd, const char *name);
>> +void igt_configfs_remove_directory(int fd, const char *name);
>> +
>> +#endif /* IGT_CONFIGFS_H */
>> diff --git a/lib/meson.build b/lib/meson.build
>> index d7bb72c57..f087947e7 100644
>> --- a/lib/meson.build
>> +++ b/lib/meson.build
>> @@ -19,6 +19,7 @@ lib_sources = [
>>       'igt_collection.c',
>>       'igt_color_encoding.c',
>>       'igt_facts.c',
>> +    'igt_configfs.c',
>>       'igt_crc.c',
>>       'igt_debugfs.c',
>>       'igt_device.c',
> 


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

* Re: [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs
  2025-04-11 10:58     ` Riana Tauro
@ 2025-04-13 17:56       ` José Expósito
  0 siblings, 0 replies; 11+ messages in thread
From: José Expósito @ 2025-04-13 17:56 UTC (permalink / raw)
  To: Riana Tauro
  Cc: Louis Chauvet, igt-dev, anshuman.gupta, lucas.demarchi,
	rodrigo.vivi, kamil.konieczny, katarzyna.piecielska

Hi Riana,

On Fri, Apr 11, 2025 at 04:28:00PM +0530, Riana Tauro wrote:
> Hi Louis
> 
> On 4/11/2025 1:23 PM, Louis Chauvet wrote:
> > Hi Riana,
> > 
> > Le 10/04/2025 à 08:07, Riana Tauro a écrit :
> > > Add library functions to open configfs and create
> > > and remove configfs directories.
> > 
> > Can you take a look at [1], something similar was proposed few weeks
> > ago? The main difference is that [1] checks that /sys/kernel/config is
> > actually a mount point.
> I hadn't looked at this. Thank you for the link
> 
> @Jose is this close to merge? If not, can i send [2] and [3] as part of this
> series?
> 
> [2]https://lore.kernel.org/all/20250218165011.9123-3-jose.exposito89@gmail.com/
> [3]https://lore.kernel.org/all/20250218165011.9123-4-jose.exposito89@gmail.com/>

Sure, feel free to send them as part of your series.

The VKMS changes required by my tests are not merged yet, so, most likely,
your series will be merged sooner.

Please CC me in v2 and I'll review it.

> > +Cc: José Exposito

Thanks for CCing me :)

> > [1]:https://lore.kernel.org/all/20250218165011.9123-4-
> > jose.exposito89@gmail.com/
> > 
> > > Signed-off-by: Riana Tauro <riana.tauro@intel.com>
> > > ---
> > >   lib/igt_configfs.c | 88 ++++++++++++++++++++++++++++++++++++++++++++++
> > >   lib/igt_configfs.h | 13 +++++++
> > >   lib/meson.build    |  1 +
> > >   3 files changed, 102 insertions(+)
> > >   create mode 100644 lib/igt_configfs.c
> > >   create mode 100644 lib/igt_configfs.h
> > > 
> > > diff --git a/lib/igt_configfs.c b/lib/igt_configfs.c
> > > new file mode 100644
> > > index 000000000..57d59f1c4
> > > --- /dev/null
> > > +++ b/lib/igt_configfs.c
> > > @@ -0,0 +1,88 @@
> > > +// SPDX-License-Identifier: MIT
> > > +/*
> > > + * Copyright © 2025 Intel Corporation
> > > + */
> > > +#include <sys/mount.h>
> > > +#include <sys/stat.h>
> > > +
> > > +#include <errno.h>
> > > +#include <fcntl.h>
> > > +#include <limits.h>
> > > +
> > > +#include "igt_configfs.h"
> > > +#include "igt_core.h"
> > > +
> > > +static const char *igt_configfs_mount(void)
> > > +{
> > > +    struct stat st;
> > > +
> > > +    if (stat("/sys/kernel/debug", &st) == 0)
> > > +        return "/sys/kernel/config";
> > > +
> > > +    if (mount("none", "/sys/kernel/config", "configfs", 0, 0))
> > > +        return NULL;
> > > +
> > > +    return "/sys/kernel/config";
> > > +}
> > > +
> > > +/**
> > > + * igt_configfs_open: open configfs path
> > > + * @name: name of the configfs directory
> > > + *
> > > + * Opens the configfs directory corresponding to the name
> > > + *
> > > + * Returns:
> > > + * The directory fd, or -1 on failure.
> > > + */
> > > +int igt_configfs_open(const char *name)
> > > +{
> > > +    char path[PATH_MAX];
> > > +    const char *configfs_path;
> > > +
> > > +    configfs_path = igt_configfs_mount();
> > > +    igt_assert(configfs_path);
> > > +
> > > +    snprintf(path, sizeof(path), "%s/%s", configfs_path, name);
> > > +
> > > +    return open(path, O_RDONLY);
> > > +}
> > 
> > The usage of file descriptors for folders is nice here!
> > 
> > @José, I think this may reduce the complexity of the vkms tests. At
> > least it will avoid having snprintf(%s/%s, vkms_root, vkms_item). What
> > do you think?

In v2, I wrapped all path related code in gettiers like
igt_vkms_get_device_enabled_path() or igt_vkms_get_plane_path(), and
all of those getters are just calling common code.

I don't think it'll reduce *test* code complexity, but if we end up using
these methods, I'll have to adapt lib/igt_vkms.c to use them.

> > > +
> > > +/**
> > > + * igt_configfs_create_directory: creates configfs group
> > > + * @fd: fd of configfs parent directory
> > > + * @name: name of the directory to create
> > > + *
> > > + * creates a directory under configfs parent directory
> > > + *
> > > + * Returns: 0 on success, -errno otherwise
> > 
> > This seems wrong, as the function returns a file descriptor, did I miss
> > something?
> > Missed this. Will fix it>> + */
> > > +int igt_configfs_create_directory(int fd, const char *name)
> > > +{
> > > +    int ret;
> > > +    int dirfd;
> > > +
> > > +    ret = mkdirat(fd, name, 0755);
> > > +    if (ret)
> > > +        return -errno;
> > > +
> > > +    dirfd = openat(fd, name, O_DIRECTORY);
> > > +    if (dirfd < 0)
> > > +        return -errno;
> > > +
> > > +    return dirfd;
> > > +}
> > > +
> > > +/**
> > > + * igt_configfs_remove_directory: removes configfs group
> > > + * @fd: fd of configfs parent directory
> > > + * @name: name of directory to create
> > > + *
> > > + * removes directory under configfs parent directory
> > > + */
> > > +void igt_configfs_remove_directory(int fd, const char *name)
> > > +{
> > > +    int ret = unlinkat(fd, name, AT_REMOVEDIR);
> > > +
> > > +    if (ret)
> > > +        igt_warn("Unable to remove %s directory: %s\n", name,
> > > strerror(errno));
> > > +}
> > 
> > I completely understand the point of those helpers, but I don't think
> > they are configfs-specific. The file descriptor is passed by argument,
> > so you could use it for any interface (configfs, debugfs, sysfs...).
> > 
> > I don't see any igt_fs.c, do you think it beneficial to create such file?
> 
> I thought of calling the igt_configfs_open here but that would not work for
> nested configfs directories.
> 
> This could be moved to igt_io and that can be renamed to igt_fs as that has
> only file read and write calls
> 
> Thank you
> Riana Tauro>
> > @José, do you think it make sense to also reuse igt_sysfs helpers for
> > the VKMS tests? (igt_sysfs_get/set_s32/u32/boolean only use a directory
> > fd + path, if you decide to use fd for vkms, it will avoid code
> > duplication)

Definetely, if we are adding equivalents for configfs, I have my own
write/read_int() and write/read_bool() functions that could be replaced by
them.

Thanks
Jose

> > Thanks a lot Riana for this implementation and new ideas.
> > 
> > Louis Chauvet
> > 
> > > diff --git a/lib/igt_configfs.h b/lib/igt_configfs.h
> > > new file mode 100644
> > > index 000000000..d839db49a
> > > --- /dev/null
> > > +++ b/lib/igt_configfs.h
> > > @@ -0,0 +1,13 @@
> > > +/* SPDX-License-Identifier: MIT */
> > > +/*
> > > + * Copyright © 2025 Intel Corporation
> > > + */
> > > +
> > > +#ifndef IGT_CONFIGFS_H
> > > +#define IGT_CONFIGFS_H
> > > +
> > > +int igt_configfs_open(const char *name);
> > > +int igt_configfs_create_directory(int fd, const char *name);
> > > +void igt_configfs_remove_directory(int fd, const char *name);
> > > +
> > > +#endif /* IGT_CONFIGFS_H */
> > > diff --git a/lib/meson.build b/lib/meson.build
> > > index d7bb72c57..f087947e7 100644
> > > --- a/lib/meson.build
> > > +++ b/lib/meson.build
> > > @@ -19,6 +19,7 @@ lib_sources = [
> > >       'igt_collection.c',
> > >       'igt_color_encoding.c',
> > >       'igt_facts.c',
> > > +    'igt_configfs.c',
> > >       'igt_crc.c',
> > >       'igt_debugfs.c',
> > >       'igt_device.c',
> > 
> 

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

* Re: [PATCH i-g-t 2/2] tests/intel/xe_configfs: Add test to validate survivability mode
  2025-04-11  7:53   ` Louis Chauvet
@ 2025-04-15  5:44     ` Riana Tauro
  0 siblings, 0 replies; 11+ messages in thread
From: Riana Tauro @ 2025-04-15  5:44 UTC (permalink / raw)
  To: Louis Chauvet, igt-dev
  Cc: anshuman.gupta, lucas.demarchi, rodrigo.vivi, kamil.konieczny,
	katarzyna.piecielska

Hi Louis

On 4/11/2025 1:23 PM, Louis Chauvet wrote:
> 
> 
> Le 10/04/2025 à 08:07, Riana Tauro a écrit :
>> The test validates if survivability mode is enabled on supported
>> platforms when configured using configfs attribute.
>>
>> Signed-off-by: Riana Tauro <riana.tauro@intel.com>
>> ---
>>   tests/intel/xe_configfs.c | 138 ++++++++++++++++++++++++++++++++++++++
>>   tests/meson.build         |   1 +
>>   2 files changed, 139 insertions(+)
>>   create mode 100644 tests/intel/xe_configfs.c
>>
>> diff --git a/tests/intel/xe_configfs.c b/tests/intel/xe_configfs.c
>> new file mode 100644
>> index 000000000..8954ed87c
>> --- /dev/null
>> +++ b/tests/intel/xe_configfs.c
>> @@ -0,0 +1,138 @@
>> +// SPDX-License-Identifier: MIT
>> +/*
>> + * Copyright © 2025 Intel Corporation
>> + */
>> +#include <limits.h>
>> +
>> +#include "igt.h"
>> +#include "igt_configfs.h"
>> +#include "igt_device.h"
>> +#include "igt_sysfs.h"
>> +
>> +/**
>> + * TEST: Check configfs userspace API
>> + * Category: Core
>> + * Mega feature: General Core features
>> + * Sub-category: uapi
>> + * Functionality: configfs
>> + * Description: validate configfs entries
>> + * Test category: functionality test
>> + */
>> +
>> +static char bus_addr[NAME_MAX];
>> +static uint32_t dev_id;
>> +
>> +static int driver_fd(void)
>> +{
>> +    int fd;
>> +
>> +    fd = open("/sys/bus/pci/drivers/xe", O_RDONLY);
>> +    igt_assert_f(fd >= 0, "Can't open path\n");
>> +
>> +    return fd;
>> +}
>> +
>> +static void driver_bind(void)
>> +{
>> +    int fd;
>> +
>> +    fd = driver_fd();
>> +    igt_sysfs_write(fd, "bind", bus_addr, sizeof(bus_addr));
>> +    close(fd);
>> +}
>> +
>> +static void driver_unbind(void)
>> +{
>> +    int fd;
>> +
>> +    fd = driver_fd();
>> +    igt_sysfs_write(fd, "unbind", bus_addr, sizeof(bus_addr));
>> +    close(fd);
>> +}
> 
> Did you see the functions xe_sysfs_driver_do in igt_sysfs.c? It seems to 
> do the same thing as driver_bind/unbind here.
> 
Didn't see this function. Thank you for pointing the appropriate function.
There is a new series that adds a common function in igt_kmod [1] and 
removes xe_sysfs_driver_do . Will use that once it gets merged

[1] 
https://lore.kernel.org/igt-dev/20250410-lib-kmod-v1-0-84b1ad0b8075@intel.com/T/

Thank you
Riana> Thanks,
> Louis Chauvet
> 
>> +
>> +static void restore(int sig)
>> +{
>> +    /* Restore after survivability mode */
>> +    driver_unbind();
>> +    driver_bind();
>> +}
>> +
>> +static void set_survivability_mode(int dir_fd, bool value)
>> +{
>> +    driver_unbind();
>> +    igt_sysfs_set_boolean(dir_fd, "survivability_mode", value);
>> +    driver_bind();
>> +}
>> +
>> +static void check_survivability_mode(void)
>> +{
>> +    char path[PATH_MAX], buf[4096];
>> +    int fd, len;
>> +
>> +    snprintf(path, PATH_MAX, "/sys/bus/pci/devices/%s", bus_addr);
>> +    fd = open(path, O_RDONLY);
>> +    igt_assert_f(fd >= 0, "Cannot open %s\n", path);
>> +
>> +    len = igt_sysfs_read(fd, "survivability_mode", buf, sizeof(buf) - 
>> 1);
>> +    if (len > 0) {
>> +        buf[len] = '\0';
>> +        igt_info("Survivability Mode:\n%s", buf);
>> +    }
>> +    close(fd);
>> +
>> +    if (IS_BATTLEMAGE(dev_id))
>> +        igt_assert_f(len > 0, "Survivability mode not set\n");
>> +}
>> +
>> +/**
>> + * SUBTEST: survivability-mode
>> + * Description: Validate survivability mode by setting configfs
>> + */
>> +static void test_survivability_mode(int dir_fd)
>> +{
>> +    /* Enable survivability mode */
>> +    set_survivability_mode(dir_fd, true);
>> +
>> +    check_survivability_mode();
>> +}
>> +
>> +static int create_device_configfs(int configfs_fd, int fd)
>> +{
>> +    int dir_fd;
>> +    struct pci_device *pci_dev;
>> +
>> +    pci_dev = igt_device_get_pci_device(fd);
>> +    snprintf(bus_addr, sizeof(bus_addr), "%04x:%02x:%02x.%01x",
>> +         pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
>> +
>> +    dir_fd = igt_configfs_create_directory(configfs_fd, bus_addr);
>> +    igt_assert(dir_fd);
>> +
>> +    return dir_fd;
>> +}
>> +
>> +igt_main
>> +{
>> +    int fd, configfs_fd, dir_fd;
>> +
>> +    igt_fixture {
>> +        fd = drm_open_driver(DRIVER_XE);
>> +        dev_id = intel_get_drm_devid(fd);
>> +        configfs_fd = igt_configfs_open("xe");
>> +        igt_require(configfs_fd != -1);
>> +        dir_fd = create_device_configfs(configfs_fd, fd);
>> +    }
>> +
>> +    igt_describe("Validate survivability mode");
>> +    igt_subtest("survivability-mode") {
>> +        igt_install_exit_handler(restore);
>> +        test_survivability_mode(dir_fd);
>> +    }
>> +
>> +    igt_fixture {
>> +        igt_configfs_remove_directory(configfs_fd, bus_addr);
>> +        close(dir_fd);
>> +        close(configfs_fd);
>> +        close(fd);
>> +    }
>> +}
>> diff --git a/tests/meson.build b/tests/meson.build
>> index 2a63d888f..74684ea35 100644
>> --- a/tests/meson.build
>> +++ b/tests/meson.build
>> @@ -279,6 +279,7 @@ intel_xe_progs = [
>>       'xe_create',
>>       'xe_compute',
>>       'xe_compute_preempt',
>> +        'xe_configfs',
>>       'xe_copy_basic',
>>       'xe_dma_buf_sync',
>>       'xe_debugfs',
>>

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

end of thread, other threads:[~2025-04-15  5:44 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-10  6:07 [PATCH i-g-t 0/2] Add test to validate survivability mode Riana Tauro
2025-04-10  6:07 ` [PATCH i-g-t 1/2] lib/igt_configfs: Add library for configfs Riana Tauro
2025-04-11  7:53   ` Louis Chauvet
2025-04-11 10:58     ` Riana Tauro
2025-04-13 17:56       ` José Expósito
2025-04-10  6:07 ` [PATCH i-g-t 2/2] tests/intel/xe_configfs: Add test to validate survivability mode Riana Tauro
2025-04-11  7:53   ` Louis Chauvet
2025-04-15  5:44     ` Riana Tauro
2025-04-10  6:55 ` ✓ Xe.CI.BAT: success for " Patchwork
2025-04-10  7:53 ` ✗ Xe.CI.Full: failure " Patchwork
2025-04-10  8:55 ` ✗ i915.CI.BAT: " Patchwork

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