* [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement
@ 2026-02-04 16:32 Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 1/7] lib/igt_sriov_device: Add helper to get VF PCI slot address Marcin Bernatowicz
` (10 more replies)
0 siblings, 11 replies; 23+ messages in thread
From: Marcin Bernatowicz @ 2026-02-04 16:32 UTC (permalink / raw)
To: igt-dev; +Cc: Marcin Bernatowicz
This series improves PCI driver management infrastructure in IGT
and updates the xe_sriov_flr test to rely on xe-vfio-pci FLR semantics.
It introduces generic PCI driver helpers for driver_override handling
and explicit bind/unbind operations.
Adds a small SR-IOV utility to resolve VF PCI slot addresses.
Fixes igt_kmod PCI bind/unbind logic to correctly handle module vs driver
name mismatches (e.g. xe_vfio_pci vs xe-vfio-pci), marking those helpers
as deprecated in favor of driver-level APIs.
The xe_sriov_flr test is updated to attach VFs to xe-vfio-pci
before initiating FLR, allowing the test to wait for FLR completion
via the driver.
V3 -> V2:
- Add --wait-flr-ms option to configure post FLR sleep time
- Add --no-xe-vfio-pci option to skip xe-vfio-pci load
- Skip xe-vfio-pci load/bind when IOMMU is off
V2 -> V1:
- Add igt_pci_get_bound_driver_name() to query the currently bound PCI
driver via the /sys/bus/pci/devices/<BDF>/driver symlink.
- Extend igt_pci_bind_driver_override() and
igt_pci_unbind_driver_override() with a timeout_ms parameter so callers
can wait for bind/unbind to actually complete, instead of relying on
drivers_probe write success. drivers_probe only initiates an async
reprobe, so a successful write does not mean bind/unbind succeeded -
verify the effective bound driver with a timeout.
- Unbind VFs only if they were successfully bound.
Marcin Bernatowicz (7):
lib/igt_sriov_device: Add helper to get VF PCI slot address
lib/igt_pci: Add generic PCI driver override and bind/unbind helpers
tests/intel/xe_sriov_flr: Attach VFs to xe-vfio-pci before initiating
FLR
lib/igt_kmod: Fix PCI bind/unbind for module/driver name mismatch
tests/intel/xe_sriov_flr: Add --wait-flr-ms option
tests/intel/xe_sriov_flr: Add --no-xe-vfio-pci option
tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off
lib/igt_kmod.c | 90 +++++-----
lib/igt_pci.c | 351 +++++++++++++++++++++++++++++++++++++
lib/igt_pci.h | 13 +-
lib/igt_sriov_device.c | 25 +++
lib/igt_sriov_device.h | 1 +
tests/intel/xe_sriov_flr.c | 147 +++++++++++++++-
6 files changed, 585 insertions(+), 42 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v3 i-g-t 1/7] lib/igt_sriov_device: Add helper to get VF PCI slot address
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
@ 2026-02-04 16:32 ` Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers Marcin Bernatowicz
` (9 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Marcin Bernatowicz @ 2026-02-04 16:32 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Lukasz Laguna, Adam Miszczak,
Jakub Kolakowski, Kamil Konieczny
Add igt_sriov_get_vf_pci_slot_alloc() to resolve the PCI slot address
of a VF by following the device/virtfnX symlink in the PF sysfs
directory, returning a newly allocated string or NULL on failure.
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
---
lib/igt_sriov_device.c | 25 +++++++++++++++++++++++++
lib/igt_sriov_device.h | 1 +
2 files changed, 26 insertions(+)
diff --git a/lib/igt_sriov_device.c b/lib/igt_sriov_device.c
index 788ffbfa1..1f4c3ac04 100644
--- a/lib/igt_sriov_device.c
+++ b/lib/igt_sriov_device.c
@@ -354,6 +354,31 @@ static char *__igt_sriov_get_vf_pci_slot_alloc(int pf_sysfs, unsigned int vf_num
return pci_slot_addr ? strdup(pci_slot_addr) : NULL;
}
+/**
+ * igt_sriov_get_vf_pci_slot_alloc:
+ * @pf: PF device file descriptor
+ * @vf_num: VF number (1-based); 0 means PF
+ *
+ * Resolves the symlink under the PF sysfs directory (device/virtfnX) to obtain
+ * the PCI slot address of the VF (or PF if @vf_num is 0).
+ *
+ * Returns: newly allocated PCI slot address string (e.g. "0000:3b:00.4"),
+ * or NULL on failure. Caller must free().
+ */
+char *igt_sriov_get_vf_pci_slot_alloc(int pf, unsigned int vf_num)
+{
+ char *pci_slot;
+ int sysfs;
+
+ sysfs = igt_sysfs_open(pf);
+ igt_assert_fd(sysfs);
+
+ pci_slot = __igt_sriov_get_vf_pci_slot_alloc(sysfs, vf_num);
+ close(sysfs);
+
+ return pci_slot;
+}
+
static bool __igt_sriov_bind_vf_drm_driver(int pf, unsigned int vf_num, bool bind)
{
char *pci_slot;
diff --git a/lib/igt_sriov_device.h b/lib/igt_sriov_device.h
index 84d29b1bb..a417b30d8 100644
--- a/lib/igt_sriov_device.h
+++ b/lib/igt_sriov_device.h
@@ -28,6 +28,7 @@ void igt_sriov_enable_driver_autoprobe(int pf);
void igt_sriov_disable_driver_autoprobe(int pf);
int igt_sriov_open_vf_drm_device(int pf, unsigned int vf_num);
bool igt_sriov_is_vf_drm_driver_probed(int pf, unsigned int vf_num);
+char *igt_sriov_get_vf_pci_slot_alloc(int pf, unsigned int vf_num);
void igt_sriov_bind_vf_drm_driver(int pf, unsigned int vf_num);
void igt_sriov_unbind_vf_drm_driver(int pf, unsigned int vf_num);
int igt_sriov_device_sysfs_open(int pf, unsigned int vf_num);
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 1/7] lib/igt_sriov_device: Add helper to get VF PCI slot address Marcin Bernatowicz
@ 2026-02-04 16:32 ` Marcin Bernatowicz
2026-02-09 10:16 ` Laguna, Lukasz
2026-02-04 16:32 ` [PATCH v3 i-g-t 3/7] tests/intel/xe_sriov_flr: Attach VFs to xe-vfio-pci before initiating FLR Marcin Bernatowicz
` (8 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Marcin Bernatowicz @ 2026-02-04 16:32 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
Kamil Konieczny, Lukasz Laguna
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 11679 bytes --]
Add generic helpers for controlling PCI driver binding via sysfs.
The new APIs provide driver- and device-centric primitives for:
- setting and clearing driver_override
- triggering PCI driver reprobe
- binding and unbinding devices to a specific PCI driver
- query the currently bound PCI driver
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
---
v2:
- Add igt_pci_get_bound_driver_name() to query the currently bound PCI
driver via the /sys/bus/pci/devices/<BDF>/driver symlink.
- Extend igt_pci_bind_driver_override() and igt_pci_unbind_driver_override()
with a timeout_ms parameter so callers can wait for bind/unbind to
actually complete, instead of relying on drivers_probe write success.
---
lib/igt_pci.c | 351 ++++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_pci.h | 13 +-
2 files changed, 363 insertions(+), 1 deletion(-)
diff --git a/lib/igt_pci.c b/lib/igt_pci.c
index 61aaf939d..80aaf07c5 100644
--- a/lib/igt_pci.c
+++ b/lib/igt_pci.c
@@ -3,9 +3,18 @@
* Copyright © 2022 Intel Corporation
*/
+#include <ctype.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <string.h>
+#include <unistd.h>
#include <pciaccess.h>
+#include "igt_aux.h"
#include "igt_core.h"
#include "igt_pci.h"
+#include "igt_sysfs.h"
static int find_pci_cap_offset_at(struct pci_device *dev, enum pci_cap_id cap_id,
int start_offset)
@@ -51,3 +60,345 @@ int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id)
{
return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
}
+
+static int open_pci_driver_dir(const char *driver)
+{
+ char path[PATH_MAX];
+
+ snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
+ return open(path, O_RDONLY | O_CLOEXEC);
+}
+
+/**
+ * igt_pci_device_unbind:
+ * @pci_slot: BDF like "0000:01:00.0"
+ *
+ * Unbind @pci_slot from its currently bound driver, if any.
+ * Returns 0 on success, or a negative errno-like value.
+ */
+int igt_pci_device_unbind(const char *pci_slot)
+{
+ char path[PATH_MAX];
+ int dirfd;
+ int ret;
+
+ snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver", pci_slot);
+ dirfd = open(path, O_RDONLY | O_CLOEXEC);
+ if (dirfd < 0)
+ return 0; /* already unbound */
+
+ ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
+ close(dirfd);
+
+ return ret;
+}
+
+/**
+ * igt_pci_driver_bind:
+ * @driver: PCI driver name under /sys/bus/pci/drivers/<driver>
+ * @pci_slot: device to bind
+ *
+ * Bind @pci_slot to @driver. Driver must be present/loaded.
+ * Returns 0 on success, or a negative errno-like value.
+ */
+int igt_pci_driver_bind(const char *driver, const char *pci_slot)
+{
+ int dirfd, ret;
+
+ dirfd = open_pci_driver_dir(driver);
+ if (dirfd < 0)
+ return -errno;
+
+ ret = igt_sysfs_set(dirfd, "bind", pci_slot) ? 0 : -errno;
+ close(dirfd);
+
+ return ret;
+}
+
+/**
+ * igt_pci_driver_unbind:
+ * @driver: PCI driver name
+ * @pci_slot: device to unbind
+ *
+ * Unbind @pci_slot from @driver.
+ * Returns 0 on success, or a negative errno-like value.
+ */
+int igt_pci_driver_unbind(const char *driver, const char *pci_slot)
+{
+ int dirfd, ret;
+
+ dirfd = open_pci_driver_dir(driver);
+ if (dirfd < 0)
+ return -errno;
+
+ ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
+ close(dirfd);
+
+ return ret;
+}
+
+/**
+ * igt_pci_driver_unbind_all:
+ * @driver: PCI driver name
+ *
+ * Unbind all devices currently bound to @driver.
+ * Returns 0 on success, or a negative errno-like value.
+ */
+int igt_pci_driver_unbind_all(const char *driver)
+{
+ char path[PATH_MAX];
+ DIR *dir;
+ struct dirent *de;
+ int driver_fd;
+
+ snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
+ dir = opendir(path);
+ if (!dir)
+ return -errno;
+
+ driver_fd = dirfd(dir);
+
+ while ((de = readdir(dir))) {
+ bool ok;
+
+ /* BDF symlinks are like "0000:01:00.0" and start with digit */
+ if (de->d_type != DT_LNK || !isdigit(de->d_name[0]))
+ continue;
+
+ ok = igt_sysfs_set(driver_fd, "unbind", de->d_name);
+ if (!ok) {
+ int err = -errno;
+
+ closedir(dir);
+ return err;
+ }
+ }
+
+ closedir(dir);
+ return 0;
+}
+
+/**
+ * igt_pci_set_driver_override:
+ * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
+ * @driver: PCI driver name to force-bind (e.g. "xe-vfio-pci"), or
+ * NULL / empty string to clear an existing override
+ *
+ * Set or clear the PCI driver_override for @pci_slot via sysfs.
+ *
+ * This does not trigger driver reprobe by itself. Call
+ * igt_pci_probe_drivers() afterwards to apply the override.
+ *
+ * Returns: 0 on success, negative errno on failure.
+ */
+int igt_pci_set_driver_override(const char *pci_slot, const char *driver)
+{
+ char devpath[PATH_MAX];
+ int dev;
+ bool ok;
+
+ snprintf(devpath, sizeof(devpath), "/sys/bus/pci/devices/%s", pci_slot);
+ dev = open(devpath, O_DIRECTORY | O_RDONLY);
+ if (dev < 0)
+ return -errno;
+
+ ok = igt_sysfs_set(dev, "driver_override", driver ? driver : "");
+ close(dev);
+
+ return ok ? 0 : -errno;
+}
+
+/**
+ * igt_pci_probe_drivers:
+ * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
+ *
+ * Trigger PCI driver reprobe for @pci_slot by writing to
+ * /sys/bus/pci/drivers_probe.
+ *
+ * This causes the kernel to attempt binding the device, honoring any
+ * driver_override previously set.
+ *
+ * Note: a successful write only means the reprobe request was accepted.
+ * It does not guarantee that a driver actually bound to the device.
+ *
+ * Returns: 0 on success, negative errno on failure.
+ */
+int igt_pci_probe_drivers(const char *pci_slot)
+{
+ int pci;
+ bool ok;
+
+ pci = open("/sys/bus/pci", O_DIRECTORY | O_RDONLY);
+ if (pci < 0)
+ return -errno;
+
+ ok = igt_sysfs_set(pci, "drivers_probe", pci_slot);
+ close(pci);
+
+ return ok ? 0 : -errno;
+}
+
+/**
+ * igt_pci_get_bound_driver_name:
+ * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
+ * @driver: destination buffer for the bound driver name
+ * @driver_len: size of @driver in bytes
+ *
+ * Read the currently bound PCI driver name for @pci_slot by inspecting the
+ * /sys/bus/pci/devices/<BDF>/driver symlink.
+ *
+ * Return values:
+ * 1: device is bound and @driver contains the driver name
+ * 0: device is unbound (no driver symlink)
+ * <0: negative errno-like value on error
+ */
+int igt_pci_get_bound_driver_name(const char *pci_slot, char *driver, size_t driver_len)
+{
+ char path[PATH_MAX];
+ char link[PATH_MAX];
+ const char *base;
+ ssize_t len;
+
+ if (driver && driver_len)
+ driver[0] = '\0';
+
+ snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver", pci_slot);
+ len = readlink(path, link, sizeof(link) - 1);
+ if (len < 0) {
+ if (errno == ENOENT)
+ return 0; /* unbound */
+
+ return -errno;
+ }
+
+ link[len] = '\0';
+ base = strrchr(link, '/');
+ base = base ? base + 1 : link;
+
+ if (driver && driver_len)
+ snprintf(driver, driver_len, "%s", base);
+
+ return 1;
+}
+
+/**
+ * igt_pci_bind_driver_override:
+ * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
+ * @driver: PCI driver name to bind (must not be NULL or empty)
+ * @timeout_ms: how long to wait for the device to become bound.
+ * If 0, don't wait (best-effort immediate check only).
+ *
+ * Bind @pci_slot to @driver using the driver_override mechanism.
+ *
+ * This helper sets driver_override and immediately triggers driver
+ * reprobe so that the device is bound to the requested driver.
+ *
+ * Returns: 0 on success, negative errno-like value on failure.
+ * A reprobe request can be accepted by sysfs while the driver probe
+ * fails later; this helper verifies the device ended up bound.
+ *
+ * On bind failure, returns a negative error and the failure reason may
+ * also be logged to dmesg by the kernel driver.
+ */
+int igt_pci_bind_driver_override(const char *pci_slot, const char *driver,
+ unsigned int timeout_ms)
+{
+ int ret;
+ char bound[64];
+ int bound_ret;
+ bool bound_ok;
+
+ if (!driver || !driver[0])
+ return -EINVAL;
+
+ ret = igt_pci_set_driver_override(pci_slot, driver);
+ if (ret)
+ return ret;
+
+ ret = igt_pci_probe_drivers(pci_slot);
+ if (ret)
+ return ret;
+
+ /*
+ * Writing to drivers_probe only tells us the kernel accepted the request.
+ * The actual driver probe may still fail (and only be reported via dmesg).
+ * Verify that the device ended up bound to the requested driver.
+ */
+ bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound, sizeof(bound));
+ if (bound_ret < 0)
+ return bound_ret;
+
+ if (timeout_ms == 0) {
+ /*
+ * No waiting requested. If the device is already bound, validate
+ * it is bound to the expected driver; otherwise treat as
+ * best-effort request-only success.
+ */
+ if (bound_ret > 0 && strcmp(bound, driver))
+ return -EBUSY;
+
+ return 0;
+ }
+
+ bound_ok = igt_wait((bound_ret =
+ igt_pci_get_bound_driver_name(pci_slot, bound, sizeof(bound))) != 0,
+ timeout_ms, 1);
+ if (!bound_ok)
+ return -EIO;
+
+ if (bound_ret < 0)
+ return bound_ret;
+
+ if (strcmp(bound, driver))
+ return -EBUSY;
+
+ return 0;
+}
+
+/**
+ * igt_pci_unbind_driver_override:
+ * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
+ * @timeout_ms: how long to wait for the device to become unbound.
+ * If 0, don't wait (best-effort immediate check only).
+ *
+ * Unbind @pci_slot from its currently bound driver (if any) and clear
+ * any driver_override setting.
+ *
+ * This is the inverse operation of igt_pci_bind_driver_override().
+ *
+ * Returns: 0 on success, negative errno on failure.
+ */
+int igt_pci_unbind_driver_override(const char *pci_slot, unsigned int timeout_ms)
+{
+ int ret;
+ int bound_ret;
+ char bound[64];
+ bool unbound_ok;
+
+ ret = igt_pci_device_unbind(pci_slot);
+ if (ret)
+ return ret;
+
+ ret = igt_pci_set_driver_override(pci_slot, "");
+ if (ret)
+ return ret;
+
+ bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound, sizeof(bound));
+ if (bound_ret < 0)
+ return bound_ret;
+
+ if (timeout_ms == 0)
+ return 0;
+
+ /* Verify the device actually ends up unbound (driver symlink removed). */
+ unbound_ok = igt_wait((bound_ret =
+ igt_pci_get_bound_driver_name(pci_slot, bound, sizeof(bound))) == 0,
+ timeout_ms, 1);
+ if (!unbound_ok)
+ return -EBUSY;
+
+ if (bound_ret < 0)
+ return bound_ret;
+
+ return 0;
+}
diff --git a/lib/igt_pci.h b/lib/igt_pci.h
index 92b9cc392..a66eeebf2 100644
--- a/lib/igt_pci.h
+++ b/lib/igt_pci.h
@@ -6,8 +6,9 @@
#ifndef __IGT_PCI_H__
#define __IGT_PCI_H__
-#include <stdint.h>
#include <endian.h>
+#include <stddef.h>
+#include <stdint.h>
/* forward declaration */
struct pci_device;
@@ -24,5 +25,15 @@ enum pci_cap_id {
#define PCI_SLOT_PWR_CTRL_PRESENT (1 << 1)
int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id);
+int igt_pci_device_unbind(const char *pci_slot);
+int igt_pci_driver_bind(const char *driver, const char *pci_slot);
+int igt_pci_driver_unbind(const char *driver, const char *pci_slot);
+int igt_pci_driver_unbind_all(const char *driver);
+int igt_pci_set_driver_override(const char *pci_slot, const char *driver);
+int igt_pci_probe_drivers(const char *pci_slot);
+int igt_pci_get_bound_driver_name(const char *pci_slot, char *driver, size_t driver_len);
+int igt_pci_bind_driver_override(const char *pci_slot, const char *driver,
+ unsigned int timeout_ms);
+int igt_pci_unbind_driver_override(const char *pci_slot, unsigned int timeout_ms);
#endif
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 i-g-t 3/7] tests/intel/xe_sriov_flr: Attach VFs to xe-vfio-pci before initiating FLR
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 1/7] lib/igt_sriov_device: Add helper to get VF PCI slot address Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers Marcin Bernatowicz
@ 2026-02-04 16:32 ` Marcin Bernatowicz
2026-02-09 10:17 ` Laguna, Lukasz
2026-02-04 16:32 ` [PATCH v3 i-g-t 4/7] lib/igt_kmod: Fix PCI bind/unbind for module/driver name mismatch Marcin Bernatowicz
` (7 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Marcin Bernatowicz @ 2026-02-04 16:32 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Michał Winiarski, Adam Miszczak,
Jakub Kolakowski, Lukasz Laguna
Attach all VFs to the xe-vfio-pci driver before running the FLR scenario.
This allows the test to rely on xe-vfio-pci’s FLR wait handling, which is
triggered when writing to the VF reset sysfs attribute.
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Suggested-by: Michał Winiarski <michal.winiarski@intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
---
v2:
- Unbind VFs only if they were successfully bound.
---
tests/intel/xe_sriov_flr.c | 65 ++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
index 12989d0f5..2f6b24cf0 100644
--- a/tests/intel/xe_sriov_flr.c
+++ b/tests/intel/xe_sriov_flr.c
@@ -9,6 +9,8 @@
#include "drmtest.h"
#include "igt_core.h"
#include "igt_device.h"
+#include "igt_kmod.h"
+#include "igt_pci.h"
#include "igt_sriov_device.h"
#include "intel_chipset.h"
#include "intel_vram.h"
@@ -57,6 +59,8 @@ static const char STOP_REASON_ABORT[] = "ABORT";
static const char STOP_REASON_FAIL[] = "FAIL";
static const char STOP_REASON_SKIP[] = "SKIP";
+#define DRIVER_OVERRIDE_TIMEOUT_MS 200
+
static struct g_mmio {
struct xe_mmio *mmio;
unsigned int num_vfs;
@@ -276,6 +280,47 @@ static void subchecks_report_results(struct subcheck *checks, int num_checks)
igt_skip_on(skips == num_checks);
}
+static bool vf_bind_driver_override(int pf_fd, unsigned int vf_id,
+ const char *driver)
+{
+ char *slot = igt_sriov_get_vf_pci_slot_alloc(pf_fd, vf_id);
+ int ret;
+ char bound[64] = "none";
+ int bound_ret;
+
+ igt_assert(slot);
+ igt_assert(driver);
+
+ ret = igt_pci_bind_driver_override(slot, driver, DRIVER_OVERRIDE_TIMEOUT_MS);
+ if (ret < 0) {
+ bound_ret = igt_pci_get_bound_driver_name(slot, bound, sizeof(bound));
+ if (bound_ret <= 0)
+ snprintf(bound, sizeof(bound), "%s", "none");
+
+ igt_warn_on_f(true,
+ "bind %s (VF%u) to %s ret=%d (currently bound: %s)\n",
+ slot, vf_id, driver, ret, bound);
+ }
+
+ free(slot);
+
+ return ret >= 0;
+}
+
+static void vf_unbind_driver_override(int pf_fd, unsigned int vf_id)
+{
+ char *slot = igt_sriov_get_vf_pci_slot_alloc(pf_fd, vf_id);
+ int ret;
+
+ igt_assert(slot);
+
+ ret = igt_pci_unbind_driver_override(slot, DRIVER_OVERRIDE_TIMEOUT_MS);
+ igt_warn_on_f(ret < 0, "unbind %s (VF%u) driver_override ret=%d\n",
+ slot, vf_id, ret);
+
+ free(slot);
+}
+
/**
* flr_exec_strategy - Function pointer for FLR execution strategy
* @pf_fd: File descriptor for the Physical Function (PF).
@@ -325,6 +370,8 @@ static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
{
const int wait_flr_ms = 200;
int i, vf_id, flr_vf_id = -1;
+ bool xe_vfio_loaded;
+ bool *vf_bound = NULL;
igt_sriov_disable_driver_autoprobe(pf_fd);
igt_sriov_enable_vfs(pf_fd, num_vfs);
@@ -335,6 +382,16 @@ static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
if (igt_warn_on(igt_pci_system_reinit()))
goto disable_vfs;
+ xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
+ if (xe_vfio_loaded) {
+ vf_bound = calloc(num_vfs + 1, sizeof(*vf_bound));
+ igt_assert(vf_bound);
+
+ igt_sriov_enable_driver_autoprobe(pf_fd);
+ for (vf_id = 1; vf_id <= num_vfs; vf_id++)
+ vf_bound[vf_id] = vf_bind_driver_override(pf_fd, vf_id, "xe-vfio-pci");
+ }
+
init_mmio(pf_fd, num_vfs);
for (i = 0; i < num_checks; ++i)
@@ -357,6 +414,14 @@ cleanup:
cleanup_mmio();
+ if (xe_vfio_loaded) {
+ for (vf_id = 1; vf_id <= num_vfs; vf_id++)
+ if (vf_bound && vf_bound[vf_id])
+ vf_unbind_driver_override(pf_fd, vf_id);
+ }
+
+ free(vf_bound);
+
disable_vfs:
igt_sriov_disable_vfs(pf_fd);
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 i-g-t 4/7] lib/igt_kmod: Fix PCI bind/unbind for module/driver name mismatch
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
` (2 preceding siblings ...)
2026-02-04 16:32 ` [PATCH v3 i-g-t 3/7] tests/intel/xe_sriov_flr: Attach VFs to xe-vfio-pci before initiating FLR Marcin Bernatowicz
@ 2026-02-04 16:32 ` Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 5/7] tests/intel/xe_sriov_flr: Add --wait-flr-ms option Marcin Bernatowicz
` (6 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Marcin Bernatowicz @ 2026-02-04 16:32 UTC (permalink / raw)
To: igt-dev; +Cc: Marcin Bernatowicz, Kamil Konieczny, Francois Dugast,
Lukasz Laguna
igt_kmod_bind() and igt_kmod_unbind() assumed that the PCI
driver name was identical to the module name, which is not true
for drivers such as xe_vfio_pci (module) vs xe-vfio-pci (driver).
Resolve the registered PCI driver name via
/sys/module/<module>/drivers/pci:* and forward bind/unbind operations
to the generic PCI driver helpers.
Mark these helpers as deprecated, as bind/unbind are fundamentally
driver-level operations. New code should prefer the igt_pci_driver_*
APIs, while these wrappers remain for backwards compatibility and
“unbind before module unload” workflows.
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Cc: Francois Dugast <francois.dugast@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
---
lib/igt_kmod.c | 90 ++++++++++++++++++++++++++++----------------------
1 file changed, 51 insertions(+), 39 deletions(-)
diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index d1d7a3840..008752f29 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -44,6 +44,7 @@
#include "igt_hook.h"
#include "igt_kmod.h"
#include "igt_ktap.h"
+#include "igt_pci.h"
#include "igt_sysfs.h"
#include "igt_taints.h"
@@ -598,43 +599,58 @@ int __igt_intel_driver_unload(char **who, const char *driver)
return 0;
}
+static char *kmod_pci_driver_from_module_alloc(const char *mod_name)
+{
+ char dirpath[PATH_MAX];
+ struct dirent *de;
+ DIR *d;
+
+ snprintf(dirpath, sizeof(dirpath), "/sys/module/%s/drivers", mod_name);
+ d = opendir(dirpath);
+ if (!d)
+ return NULL;
+
+ while ((de = readdir(d))) {
+ if (!strncmp(de->d_name, "pci:", 4)) {
+ char *drv = strdup(de->d_name + 4);
+
+ closedir(d);
+ return drv;
+ }
+ }
+
+ closedir(d);
+ return NULL;
+}
+
/**
* igt_kmod_unbind: Unbind driver from devices. Currently supports only PCI bus
* @mod_name: name of the module to unbind
* @pci_device: if provided, unbind only this device, otherwise unbind all devices
+ *
+ * Deprecated: bind/unbind is a driver operation. Prefer using:
+ * - igt_pci_driver_unbind()/igt_pci_driver_unbind_all()
+ * - igt_pci_device_unbind()
+ *
+ * This helper remains for backwards compatibility and for “unbind before
+ * module unload” workflows.
*/
int igt_kmod_unbind(const char *mod_name, const char *pci_device)
{
struct igt_hook *igt_hook = NULL;
- char path[PATH_MAX];
- struct dirent *de;
- int dirlen;
- DIR *dir;
-
- dirlen = snprintf(path, sizeof(path), "/sys/module/%s/drivers/pci:%s/",
- mod_name, mod_name);
- igt_assert(dirlen < sizeof(path));
-
- dir = opendir(path);
-
- /* Module not loaded, nothing to unbind */
- if (!dir)
- return 0;
-
- while ((de = readdir(dir))) {
- bool ret;
-
- if (de->d_type != DT_LNK || !isdigit(de->d_name[0]))
- continue;
+ char *driver;
+ int ret;
- if (pci_device && strcmp(pci_device, de->d_name) != 0)
- continue;
+ driver = kmod_pci_driver_from_module_alloc(mod_name);
+ if (!driver)
+ return 0; /* module not loaded / no pci driver */
- ret = igt_sysfs_set(dirfd(dir), "unbind", de->d_name);
- igt_assert(ret);
- }
+ if (pci_device)
+ ret = igt_pci_driver_unbind(driver, pci_device);
+ else
+ ret = igt_pci_driver_unbind_all(driver);
- closedir(dir);
+ free(driver);
igt_hook = igt_core_get_igt_hook();
igt_hook_event_notify(igt_hook, &(struct igt_hook_evt){
@@ -642,7 +658,7 @@ int igt_kmod_unbind(const char *mod_name, const char *pci_device)
.target_name = mod_name,
});
- return 0;
+ return ret;
}
/**
@@ -651,25 +667,21 @@ int igt_kmod_unbind(const char *mod_name, const char *pci_device)
* @pci_device: device to bind
*
* Module should already be loaded
+ *
+ * Deprecated: prefer igt_pci_driver_bind().
*/
int igt_kmod_bind(const char *mod_name, const char *pci_device)
{
- char path[PATH_MAX];
- int dirlen, dirfd;
+ char *driver;
int ret;
- dirlen = snprintf(path, sizeof(path), "/sys/module/%s/drivers/pci:%s/",
- mod_name, mod_name);
- igt_assert(dirlen < sizeof(path));
-
- dirfd = open(path, O_RDONLY | O_CLOEXEC);
- if (dirfd < 0)
- return dirfd;
-
- ret = igt_sysfs_set(dirfd, "bind", pci_device);
+ driver = kmod_pci_driver_from_module_alloc(mod_name);
+ if (!driver)
+ return -ENOENT;
- close(dirfd);
+ ret = igt_pci_driver_bind(driver, pci_device);
+ free(driver);
return ret;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 i-g-t 5/7] tests/intel/xe_sriov_flr: Add --wait-flr-ms option
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
` (3 preceding siblings ...)
2026-02-04 16:32 ` [PATCH v3 i-g-t 4/7] lib/igt_kmod: Fix PCI bind/unbind for module/driver name mismatch Marcin Bernatowicz
@ 2026-02-04 16:32 ` Marcin Bernatowicz
2026-02-09 10:18 ` Laguna, Lukasz
2026-02-04 16:32 ` [PATCH v3 i-g-t 6/7] tests/intel/xe_sriov_flr: Add --no-xe-vfio-pci option Marcin Bernatowicz
` (5 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Marcin Bernatowicz @ 2026-02-04 16:32 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Jakub Kolakowski, Lukasz Laguna,
Piotr Piórkowski
Make the post-FLR sleep configurable (default 200ms).
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
tests/intel/xe_sriov_flr.c | 36 ++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
index 2f6b24cf0..951628159 100644
--- a/tests/intel/xe_sriov_flr.c
+++ b/tests/intel/xe_sriov_flr.c
@@ -4,6 +4,7 @@
*/
#include <fcntl.h>
+#include <limits.h>
#include <pthread.h>
#include <sys/stat.h>
#include "drmtest.h"
@@ -61,6 +62,8 @@ static const char STOP_REASON_SKIP[] = "SKIP";
#define DRIVER_OVERRIDE_TIMEOUT_MS 200
+static int g_wait_flr_ms = 200;
+
static struct g_mmio {
struct xe_mmio *mmio;
unsigned int num_vfs;
@@ -368,7 +371,7 @@ typedef int (*flr_exec_strategy)(int pf_fd, int num_vfs,
static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
int num_checks, flr_exec_strategy exec_strategy)
{
- const int wait_flr_ms = 200;
+ const int wait_flr_ms = g_wait_flr_ms;
int i, vf_id, flr_vf_id = -1;
bool xe_vfio_loaded;
bool *vf_bound = NULL;
@@ -1088,7 +1091,36 @@ static void clear_tests(int pf_fd, int num_vfs, flr_exec_strategy exec_strategy)
verify_flr(pf_fd, num_vfs, checks, num_checks, exec_strategy);
}
-int igt_main()
+static int opt_handler(int opt, int opt_index, void *data)
+{
+ char *end = NULL;
+ long val;
+
+ switch (opt) {
+ case 'w':
+ errno = 0;
+ val = strtol(optarg, &end, 0);
+ if (errno || !end || *end != '\0' || val < 0 || val > INT_MAX)
+ return IGT_OPT_HANDLER_ERROR;
+ g_wait_flr_ms = (int)val;
+ igt_info("Using wait_flr_ms=%d\n", g_wait_flr_ms);
+ break;
+ default:
+ return IGT_OPT_HANDLER_ERROR;
+ }
+
+ return IGT_OPT_HANDLER_SUCCESS;
+}
+
+static const struct option long_options[] = {
+ { .name = "wait-flr-ms", .has_arg = true, .val = 'w', },
+ {},
+};
+
+static const char help_str[] =
+ " --wait-flr-ms=MS\tSleep MS milliseconds after VF reset sysfs write (default: 200)\n";
+
+int igt_main_args("w:", long_options, help_str, opt_handler, NULL)
{
int pf_fd;
bool autoprobe;
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 i-g-t 6/7] tests/intel/xe_sriov_flr: Add --no-xe-vfio-pci option
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
` (4 preceding siblings ...)
2026-02-04 16:32 ` [PATCH v3 i-g-t 5/7] tests/intel/xe_sriov_flr: Add --wait-flr-ms option Marcin Bernatowicz
@ 2026-02-04 16:32 ` Marcin Bernatowicz
2026-02-09 10:18 ` Laguna, Lukasz
2026-02-04 16:32 ` [PATCH v3 i-g-t 7/7] tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off Marcin Bernatowicz
` (4 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Marcin Bernatowicz @ 2026-02-04 16:32 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Jakub Kolakowski, Lukasz Laguna,
Piotr Piórkowski
Add --no-xe-vfio-pci to skip loading/binding VFs to xe-vfio-pci.
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
tests/intel/xe_sriov_flr.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
index 951628159..b73727787 100644
--- a/tests/intel/xe_sriov_flr.c
+++ b/tests/intel/xe_sriov_flr.c
@@ -63,6 +63,7 @@ static const char STOP_REASON_SKIP[] = "SKIP";
#define DRIVER_OVERRIDE_TIMEOUT_MS 200
static int g_wait_flr_ms = 200;
+static bool g_use_xe_vfio_pci = true;
static struct g_mmio {
struct xe_mmio *mmio;
@@ -385,7 +386,9 @@ static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
if (igt_warn_on(igt_pci_system_reinit()))
goto disable_vfs;
- xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
+ xe_vfio_loaded = false;
+ if (g_use_xe_vfio_pci)
+ xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
if (xe_vfio_loaded) {
vf_bound = calloc(num_vfs + 1, sizeof(*vf_bound));
igt_assert(vf_bound);
@@ -1097,6 +1100,10 @@ static int opt_handler(int opt, int opt_index, void *data)
long val;
switch (opt) {
+ case 'v':
+ g_use_xe_vfio_pci = false;
+ igt_info("xe-vfio-pci binding: disabled\n");
+ break;
case 'w':
errno = 0;
val = strtol(optarg, &end, 0);
@@ -1113,14 +1120,16 @@ static int opt_handler(int opt, int opt_index, void *data)
}
static const struct option long_options[] = {
+ { .name = "no-xe-vfio-pci", .has_arg = false, .val = 'v', },
{ .name = "wait-flr-ms", .has_arg = true, .val = 'w', },
{},
};
static const char help_str[] =
+ " --no-xe-vfio-pci\tDo not load/bind xe-vfio-pci for VFs\n"
" --wait-flr-ms=MS\tSleep MS milliseconds after VF reset sysfs write (default: 200)\n";
-int igt_main_args("w:", long_options, help_str, opt_handler, NULL)
+int igt_main_args("vw:", long_options, help_str, opt_handler, NULL)
{
int pf_fd;
bool autoprobe;
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v3 i-g-t 7/7] tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
` (5 preceding siblings ...)
2026-02-04 16:32 ` [PATCH v3 i-g-t 6/7] tests/intel/xe_sriov_flr: Add --no-xe-vfio-pci option Marcin Bernatowicz
@ 2026-02-04 16:32 ` Marcin Bernatowicz
2026-02-09 10:42 ` Laguna, Lukasz
2026-02-04 18:27 ` ✓ Xe.CI.BAT: success for PCI driver helpers and xe-vfio-pci FLR improvement (rev3) Patchwork
` (3 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Marcin Bernatowicz @ 2026-02-04 16:32 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Jakub Kolakowski, Lukasz Laguna,
Michał Winiarski, Piotr Piórkowski
When the IOMMU is disabled VFs typically lack an iommu_group, and
xe-vfio-pci binding may fail. Skip load/bind in that case.
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
tests/intel/xe_sriov_flr.c | 43 +++++++++++++++++++++++++++++++++++---
1 file changed, 40 insertions(+), 3 deletions(-)
diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
index b73727787..3fc84bbf9 100644
--- a/tests/intel/xe_sriov_flr.c
+++ b/tests/intel/xe_sriov_flr.c
@@ -13,6 +13,7 @@
#include "igt_kmod.h"
#include "igt_pci.h"
#include "igt_sriov_device.h"
+#include "igt_sysfs.h"
#include "intel_chipset.h"
#include "intel_vram.h"
#include "linux_scaffold.h"
@@ -325,6 +326,44 @@ static void vf_unbind_driver_override(int pf_fd, unsigned int vf_id)
free(slot);
}
+static bool vf_has_iommu_group(int pf_fd, unsigned int vf_id)
+{
+ int sysfs;
+ bool present;
+
+ sysfs = igt_sriov_device_sysfs_open(pf_fd, vf_id);
+ if (sysfs < 0)
+ return false;
+
+ present = igt_sysfs_has_attr(sysfs, "iommu_group");
+ close(sysfs);
+
+ return present;
+}
+
+static bool vfs_have_iommu_groups(int pf_fd, int num_vfs)
+{
+ for (int vf_id = 1; vf_id <= num_vfs; vf_id++)
+ if (!vf_has_iommu_group(pf_fd, vf_id))
+ return false;
+
+ return true;
+}
+
+static bool try_load_xe_vfio_pci(int pf_fd, int num_vfs)
+{
+ if (!g_use_xe_vfio_pci)
+ return false;
+
+ if (!vfs_have_iommu_groups(pf_fd, num_vfs)) {
+ igt_info("Disabling xe-vfio-pci binding: missing VF IOMMU group(s) (IOMMU off?)\n");
+ g_use_xe_vfio_pci = false;
+ return false;
+ }
+
+ return igt_kmod_load("xe_vfio_pci", NULL) >= 0;
+}
+
/**
* flr_exec_strategy - Function pointer for FLR execution strategy
* @pf_fd: File descriptor for the Physical Function (PF).
@@ -386,9 +425,7 @@ static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
if (igt_warn_on(igt_pci_system_reinit()))
goto disable_vfs;
- xe_vfio_loaded = false;
- if (g_use_xe_vfio_pci)
- xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
+ xe_vfio_loaded = try_load_xe_vfio_pci(pf_fd, num_vfs);
if (xe_vfio_loaded) {
vf_bound = calloc(num_vfs + 1, sizeof(*vf_bound));
igt_assert(vf_bound);
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* ✓ Xe.CI.BAT: success for PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
` (6 preceding siblings ...)
2026-02-04 16:32 ` [PATCH v3 i-g-t 7/7] tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off Marcin Bernatowicz
@ 2026-02-04 18:27 ` Patchwork
2026-02-04 18:41 ` ✓ i915.CI.BAT: " Patchwork
` (2 subsequent siblings)
10 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2026-02-04 18:27 UTC (permalink / raw)
To: Marcin Bernatowicz; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 1726 bytes --]
== Series Details ==
Series: PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
URL : https://patchwork.freedesktop.org/series/160140/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8736_BAT -> XEIGTPW_14492_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 11)
------------------------------
Missing (1): bat-bmg-3
Known issues
------------
Here are the changes found in XEIGTPW_14492_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_waitfence@engine:
- bat-dg2-oem2: [PASS][1] -> [FAIL][2] ([Intel XE#6519])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/bat-dg2-oem2/igt@xe_waitfence@engine.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/bat-dg2-oem2/igt@xe_waitfence@engine.html
#### Possible fixes ####
* igt@xe_pat@pat-index-xe2@render:
- bat-ptl-vm: [DMESG-WARN][3] ([Intel XE#7110]) -> [PASS][4] +1 other test pass
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/bat-ptl-vm/igt@xe_pat@pat-index-xe2@render.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/bat-ptl-vm/igt@xe_pat@pat-index-xe2@render.html
[Intel XE#6519]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6519
[Intel XE#7110]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7110
Build changes
-------------
* IGT: IGT_8736 -> IGTPW_14492
IGTPW_14492: 14492
IGT_8736: 8736
xe-4497-241994730989320c926da9f2d0a5ec80b48f993d: 241994730989320c926da9f2d0a5ec80b48f993d
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/index.html
[-- Attachment #2: Type: text/html, Size: 2310 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✓ i915.CI.BAT: success for PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
` (7 preceding siblings ...)
2026-02-04 18:27 ` ✓ Xe.CI.BAT: success for PCI driver helpers and xe-vfio-pci FLR improvement (rev3) Patchwork
@ 2026-02-04 18:41 ` Patchwork
2026-02-05 5:02 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-02-05 8:13 ` ✓ i915.CI.Full: success " Patchwork
10 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2026-02-04 18:41 UTC (permalink / raw)
To: Marcin Bernatowicz; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 2849 bytes --]
== Series Details ==
Series: PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
URL : https://patchwork.freedesktop.org/series/160140/
State : success
== Summary ==
CI Bug Log - changes from IGT_8736 -> IGTPW_14492
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/index.html
Participating hosts (43 -> 41)
------------------------------
Missing (2): bat-dg2-13 fi-snb-2520m
Known issues
------------
Here are the changes found in IGTPW_14492 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@workarounds:
- bat-arls-5: [PASS][1] -> [DMESG-FAIL][2] ([i915#12061]) +1 other test dmesg-fail
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/bat-arls-5/igt@i915_selftest@live@workarounds.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/bat-arls-5/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-mtlp-8: [DMESG-FAIL][3] ([i915#12061]) -> [PASS][4] +1 other test pass
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/bat-mtlp-8/igt@i915_selftest@live.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/bat-mtlp-8/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-dg2-9: [DMESG-FAIL][5] ([i915#12061]) -> [PASS][6] +1 other test pass
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/bat-dg2-9/igt@i915_selftest@live@workarounds.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/bat-dg2-9/igt@i915_selftest@live@workarounds.html
- bat-dg2-14: [DMESG-FAIL][7] ([i915#12061]) -> [PASS][8] +1 other test pass
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/bat-dg2-14/igt@i915_selftest@live@workarounds.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/bat-dg2-14/igt@i915_selftest@live@workarounds.html
* igt@kms_pm_rpm@basic-rte:
- bat-rpls-4: [DMESG-WARN][9] ([i915#13400]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/bat-rpls-4/igt@kms_pm_rpm@basic-rte.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/bat-rpls-4/igt@kms_pm_rpm@basic-rte.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#13400]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13400
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8736 -> IGTPW_14492
CI-20190529: 20190529
CI_DRM_17930: 241994730989320c926da9f2d0a5ec80b48f993d @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14492: 14492
IGT_8736: 8736
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/index.html
[-- Attachment #2: Type: text/html, Size: 3761 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✗ Xe.CI.FULL: failure for PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
` (8 preceding siblings ...)
2026-02-04 18:41 ` ✓ i915.CI.BAT: " Patchwork
@ 2026-02-05 5:02 ` Patchwork
2026-02-05 10:13 ` Bernatowicz, Marcin
2026-02-05 8:13 ` ✓ i915.CI.Full: success " Patchwork
10 siblings, 1 reply; 23+ messages in thread
From: Patchwork @ 2026-02-05 5:02 UTC (permalink / raw)
To: Marcin Bernatowicz; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 74200 bytes --]
== Series Details ==
Series: PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
URL : https://patchwork.freedesktop.org/series/160140/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8736_FULL -> XEIGTPW_14492_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_14492_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_14492_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 (2 -> 2)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_14492_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_async_flips@async-flip-dpms:
- shard-lnl: [PASS][1] -> [SKIP][2] +3 other tests skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-5/igt@kms_async_flips@async-flip-dpms.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@kms_async_flips@async-flip-dpms.html
* igt@xe_configfs@ctx-restore-post-bb:
- shard-lnl: [PASS][3] -> [DMESG-WARN][4] +3 other tests dmesg-warn
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-1/igt@xe_configfs@ctx-restore-post-bb.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@xe_configfs@ctx-restore-post-bb.html
Known issues
------------
Here are the changes found in XEIGTPW_14492_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@async-flip-with-page-flip-events-linear:
- shard-lnl: [PASS][5] -> [FAIL][6] ([Intel XE#5993]) +3 other tests fail
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-1/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-1/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html
* igt@kms_big_fb@linear-64bpp-rotate-270:
- shard-bmg: NOTRUN -> [SKIP][7] ([Intel XE#2327]) +1 other test skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@kms_big_fb@linear-64bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-64bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][8] ([Intel XE#1407]) +1 other test skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#1124]) +6 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
- shard-lnl: NOTRUN -> [SKIP][10] ([Intel XE#1124]) +7 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-7/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-bmg: NOTRUN -> [SKIP][11] ([Intel XE#610])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-bmg: [PASS][12] -> [SKIP][13] ([Intel XE#2314] / [Intel XE#2894])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p:
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#1512])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-7/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
- shard-bmg: NOTRUN -> [SKIP][15] ([Intel XE#2314] / [Intel XE#2894])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs@pipe-c-dp-2:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-9/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs@pipe-c-dp-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#2669] / [Intel XE#3433]) +3 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][18] ([Intel XE#3432]) +1 other test skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#2887]) +9 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#2887]) +9 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-7/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-rc-ccs.html
* igt@kms_chamelium_audio@hdmi-audio-edid:
- shard-bmg: NOTRUN -> [SKIP][21] ([Intel XE#2252]) +7 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_chamelium_audio@hdmi-audio-edid.html
* igt@kms_chamelium_color@ctm-max:
- shard-lnl: NOTRUN -> [SKIP][22] ([Intel XE#306])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_chamelium_color@ctm-max.html
- shard-bmg: NOTRUN -> [SKIP][23] ([Intel XE#2325])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@kms_chamelium_color@ctm-max.html
* igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
- shard-lnl: NOTRUN -> [SKIP][24] ([Intel XE#373]) +3 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
* igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [FAIL][25] ([Intel XE#6968]) +3 other tests fail
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-1/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d@pipe-b-edp-1.html
* igt@kms_color_pipeline@plane-lut3d-green-only@pipe-c-hdmi-a-3:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#6969]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_color_pipeline@plane-lut3d-green-only@pipe-c-hdmi-a-3.html
* igt@kms_color_pipeline@plane-lut3d-green-only@pipe-d-hdmi-a-3:
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#6969] / [Intel XE#7006])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_color_pipeline@plane-lut3d-green-only@pipe-d-hdmi-a-3.html
* igt@kms_content_protection@atomic-hdcp14:
- shard-bmg: NOTRUN -> [FAIL][28] ([Intel XE#3304]) +2 other tests fail
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-9/igt@kms_content_protection@atomic-hdcp14.html
* igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#6974]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-9/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html
- shard-lnl: NOTRUN -> [SKIP][30] ([Intel XE#6974])
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-lnl: NOTRUN -> [SKIP][31] ([Intel XE#307] / [Intel XE#6974])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@kms_content_protection@dp-mst-type-1.html
- shard-bmg: NOTRUN -> [SKIP][32] ([Intel XE#2390] / [Intel XE#6974])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@srm:
- shard-lnl: NOTRUN -> [SKIP][33] ([Intel XE#3278])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@kms_content_protection@srm.html
* igt@kms_content_protection@uevent-hdcp14:
- shard-lnl: NOTRUN -> [SKIP][34] ([Intel XE#6973])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@kms_content_protection@uevent-hdcp14.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-bmg: NOTRUN -> [SKIP][35] ([Intel XE#2321])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#2320]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
* igt@kms_cursor_crc@cursor-sliding-512x170:
- shard-lnl: NOTRUN -> [SKIP][37] ([Intel XE#2321])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@kms_cursor_crc@cursor-sliding-512x170.html
* igt@kms_cursor_crc@cursor-sliding-max-size:
- shard-lnl: NOTRUN -> [SKIP][38] ([Intel XE#1424])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_cursor_crc@cursor-sliding-max-size.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#2291])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
- shard-bmg: [PASS][40] -> [SKIP][41] ([Intel XE#2291]) +5 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
- shard-lnl: NOTRUN -> [SKIP][42] ([Intel XE#309]) +5 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [PASS][43] -> [FAIL][44] ([Intel XE#6715])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-4/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-lnl: NOTRUN -> [SKIP][45] ([Intel XE#1508])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-7/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dp_link_training@uhbr-mst:
- shard-bmg: NOTRUN -> [SKIP][46] ([Intel XE#4354])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@kms_dp_link_training@uhbr-mst.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc:
- shard-lnl: NOTRUN -> [SKIP][47] ([Intel XE#2244])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
- shard-bmg: NOTRUN -> [SKIP][48] ([Intel XE#2244])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#4156])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip@2x-flip-vs-dpms-on-nop:
- shard-bmg: [PASS][50] -> [SKIP][51] ([Intel XE#2316]) +3 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-2/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
* igt@kms_flip@2x-flip-vs-suspend:
- shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#1421]) +3 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@kms_flip@2x-flip-vs-suspend.html
* igt@kms_flip@flip-vs-expired-vblank@b-edp1:
- shard-lnl: [PASS][53] -> [FAIL][54] ([Intel XE#301])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
- shard-bmg: NOTRUN -> [SKIP][55] ([Intel XE#7178]) +2 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][56] ([Intel XE#1397] / [Intel XE#1745])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#1397])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling:
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#7178])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][59] ([Intel XE#6312])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][60] ([Intel XE#651]) +4 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][61] ([Intel XE#2311]) +13 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#2312]) +2 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#4141]) +7 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-onoff:
- shard-lnl: NOTRUN -> [SKIP][64] ([Intel XE#656]) +22 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#2313]) +17 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-argb161616f-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][66] ([Intel XE#7061]) +3 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_frontbuffer_tracking@psr-argb161616f-draw-blt.html
- shard-bmg: NOTRUN -> [SKIP][67] ([Intel XE#7061]) +3 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-8/igt@kms_frontbuffer_tracking@psr-argb161616f-draw-blt.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-lnl: NOTRUN -> [SKIP][68] ([Intel XE#7086])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-lnl: NOTRUN -> [SKIP][69] ([Intel XE#6901])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-bmg: NOTRUN -> [SKIP][70] ([Intel XE#2501])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-bmg: NOTRUN -> [SKIP][71] ([Intel XE#6912])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
- shard-lnl: NOTRUN -> [SKIP][72] ([Intel XE#6912])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier@pipe-b-plane-0:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#7130]) +24 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier@pipe-b-plane-0.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-b-plane-5:
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#7111] / [Intel XE#7131]) +1 other test skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier@pipe-a-plane-0:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#7130]) +12 other tests skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier@pipe-b-plane-5:
- shard-bmg: NOTRUN -> [SKIP][76] ([Intel XE#7111] / [Intel XE#7130]) +1 other test skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping:
- shard-lnl: NOTRUN -> [SKIP][77] ([Intel XE#7130] / [Intel XE#7131])
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping@pipe-a-plane-5:
- shard-lnl: NOTRUN -> [SKIP][78] ([Intel XE#7131]) +1 other test skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier-source-clamping@pipe-a-plane-5.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#7111] / [Intel XE#7130] / [Intel XE#7131]) +1 other test skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-a-plane-5:
- shard-bmg: NOTRUN -> [SKIP][80] ([Intel XE#7131]) +1 other test skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-a-plane-5.html
* igt@kms_plane_multiple@2x-tiling-x:
- shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#4596])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@kms_plane_multiple@2x-tiling-x.html
* igt@kms_plane_multiple@tiling-yf:
- shard-lnl: NOTRUN -> [SKIP][82] ([Intel XE#5020]) +1 other test skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@kms_plane_multiple@tiling-yf.html
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#5020])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a:
- shard-lnl: NOTRUN -> [SKIP][84] ([Intel XE#6886]) +7 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
- shard-bmg: NOTRUN -> [SKIP][85] ([Intel XE#6886]) +9 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
* igt@kms_pm_backlight@fade:
- shard-bmg: NOTRUN -> [SKIP][86] ([Intel XE#870])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@kms_pm_backlight@fade.html
* igt@kms_pm_dc@dc5-dpms:
- shard-lnl: [PASS][87] -> [FAIL][88] ([Intel XE#718])
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-6/igt@kms_pm_dc@dc5-dpms.html
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@kms_pm_dc@dc5-dpms.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-bmg: NOTRUN -> [SKIP][89] ([Intel XE#3309])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-bmg: NOTRUN -> [SKIP][90] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836]) +1 other test skip
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
- shard-bmg: NOTRUN -> [SKIP][91] ([Intel XE#1406] / [Intel XE#1489]) +5 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][92] ([Intel XE#1406] / [Intel XE#2893] / [Intel XE#4608]) +1 other test skip
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][93] ([Intel XE#1406] / [Intel XE#4608]) +3 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area@pipe-b-edp-1.html
* igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][94] ([Intel XE#1406] / [Intel XE#2893]) +2 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-lnl: NOTRUN -> [SKIP][95] ([Intel XE#1128] / [Intel XE#1406])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@kms_psr2_su@frontbuffer-xrgb8888.html
- shard-bmg: NOTRUN -> [SKIP][96] ([Intel XE#1406] / [Intel XE#2387])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr@fbc-psr2-primary-render@edp-1:
- shard-lnl: NOTRUN -> [SKIP][97] ([Intel XE#1406] / [Intel XE#4609])
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@kms_psr@fbc-psr2-primary-render@edp-1.html
* igt@kms_psr@pr-primary-blt:
- shard-lnl: NOTRUN -> [SKIP][98] ([Intel XE#1406]) +4 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@kms_psr@pr-primary-blt.html
* igt@kms_psr@psr-suspend:
- shard-bmg: NOTRUN -> [SKIP][99] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +7 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@kms_psr@psr-suspend.html
* igt@kms_rotation_crc@primary-rotation-270:
- shard-lnl: NOTRUN -> [SKIP][100] ([Intel XE#3414] / [Intel XE#3904])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@kms_rotation_crc@primary-rotation-270.html
- shard-bmg: NOTRUN -> [SKIP][101] ([Intel XE#3414] / [Intel XE#3904])
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@kms_rotation_crc@primary-rotation-270.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-bmg: NOTRUN -> [SKIP][102] ([Intel XE#2330])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_scaling_modes@scaling-mode-full:
- shard-bmg: NOTRUN -> [SKIP][103] ([Intel XE#2413])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@kms_scaling_modes@scaling-mode-full.html
* igt@kms_sharpness_filter@filter-modifiers:
- shard-bmg: NOTRUN -> [SKIP][104] ([Intel XE#6503])
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@kms_sharpness_filter@filter-modifiers.html
* igt@kms_vrr@flip-basic-fastset:
- shard-bmg: NOTRUN -> [SKIP][105] ([Intel XE#1499])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-8/igt@kms_vrr@flip-basic-fastset.html
* igt@kms_vrr@max-min@pipe-a-edp-1:
- shard-lnl: [PASS][106] -> [FAIL][107] ([Intel XE#4227]) +1 other test fail
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-2/igt@kms_vrr@max-min@pipe-a-edp-1.html
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@kms_vrr@max-min@pipe-a-edp-1.html
* igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-7:
- shard-bmg: [PASS][108] -> [FAIL][109] ([Intel XE#5937]) +28 other tests fail
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-7/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-7.html
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@sriov_basic@enable-vfs-autoprobe-off@numvfs-7.html
* igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system:
- shard-lnl: [PASS][110] -> [ABORT][111] ([Intel XE#7169]) +1 other test abort
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-1/igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system.html
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system.html
* igt@xe_compute@eu-busy-10s:
- shard-lnl: NOTRUN -> [SKIP][112] ([Intel XE#6592] / [Intel XE#6645])
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@xe_compute@eu-busy-10s.html
- shard-bmg: NOTRUN -> [SKIP][113] ([Intel XE#6599])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@xe_compute@eu-busy-10s.html
* igt@xe_eudebug@basic-vm-bind-extended:
- shard-lnl: NOTRUN -> [SKIP][114] ([Intel XE#4837]) +1 other test skip
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@xe_eudebug@basic-vm-bind-extended.html
* igt@xe_eudebug@basic-vm-bind-ufence:
- shard-bmg: NOTRUN -> [SKIP][115] ([Intel XE#4837]) +2 other tests skip
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@xe_eudebug@basic-vm-bind-ufence.html
* igt@xe_eudebug_online@pagefault-one-of-many:
- shard-lnl: NOTRUN -> [SKIP][116] ([Intel XE#6665])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@xe_eudebug_online@pagefault-one-of-many.html
* igt@xe_eudebug_online@single-step:
- shard-bmg: NOTRUN -> [SKIP][117] ([Intel XE#4837] / [Intel XE#6665]) +2 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@xe_eudebug_online@single-step.html
* igt@xe_eudebug_online@writes-caching-sram-bb-vram-target-vram:
- shard-lnl: NOTRUN -> [SKIP][118] ([Intel XE#4837] / [Intel XE#6665]) +2 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-7/igt@xe_eudebug_online@writes-caching-sram-bb-vram-target-vram.html
* igt@xe_evict@evict-small-multi-queue-priority-cm:
- shard-bmg: NOTRUN -> [SKIP][119] ([Intel XE#7140])
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@xe_evict@evict-small-multi-queue-priority-cm.html
* igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen:
- shard-lnl: NOTRUN -> [SKIP][120] ([Intel XE#688]) +9 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-bmg: NOTRUN -> [SKIP][121] ([Intel XE#2322]) +6 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-rebind:
- shard-lnl: NOTRUN -> [SKIP][122] ([Intel XE#1392]) +4 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-rebind.html
* igt@xe_exec_fault_mode@many-multi-queue-rebind:
- shard-lnl: NOTRUN -> [SKIP][123] ([Intel XE#7136]) +9 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@xe_exec_fault_mode@many-multi-queue-rebind.html
* igt@xe_exec_fault_mode@twice-multi-queue-userptr-rebind-prefetch:
- shard-bmg: NOTRUN -> [SKIP][124] ([Intel XE#7136]) +5 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-8/igt@xe_exec_fault_mode@twice-multi-queue-userptr-rebind-prefetch.html
* igt@xe_exec_multi_queue@many-queues-preempt-mode-fault-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][125] ([Intel XE#6874]) +15 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@xe_exec_multi_queue@many-queues-preempt-mode-fault-userptr-invalidate.html
* igt@xe_exec_multi_queue@one-queue-priority-smem:
- shard-bmg: NOTRUN -> [SKIP][126] ([Intel XE#6874]) +17 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@xe_exec_multi_queue@one-queue-priority-smem.html
* igt@xe_exec_system_allocator@many-64k-mmap-free-huge:
- shard-lnl: NOTRUN -> [SKIP][127] ([Intel XE#5007]) +1 other test skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@xe_exec_system_allocator@many-64k-mmap-free-huge.html
* igt@xe_exec_system_allocator@many-64k-mmap-new-huge:
- shard-bmg: NOTRUN -> [SKIP][128] ([Intel XE#5007]) +1 other test skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@xe_exec_system_allocator@many-64k-mmap-new-huge.html
* igt@xe_exec_system_allocator@many-large-mmap-free:
- shard-bmg: [PASS][129] -> [DMESG-FAIL][130] ([Intel XE#5213] / [Intel XE#5545] / [Intel XE#6652])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@xe_exec_system_allocator@many-large-mmap-free.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_system_allocator@many-large-mmap-free.html
* igt@xe_exec_system_allocator@many-stride-mmap-prefetch-shared:
- shard-bmg: NOTRUN -> [SKIP][131] ([Intel XE#6703]) +7 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_system_allocator@many-stride-mmap-prefetch-shared.html
* igt@xe_exec_system_allocator@process-many-large-execqueues-mmap-new-huge:
- shard-bmg: NOTRUN -> [SKIP][132] ([Intel XE#4943]) +10 other tests skip
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_system_allocator@process-many-large-execqueues-mmap-new-huge.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-malloc-prefetch-madvise:
- shard-bmg: [PASS][133] -> [SKIP][134] ([Intel XE#6703]) +46 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-10/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-malloc-prefetch-madvise.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-malloc-prefetch-madvise.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-large-malloc-race-nomemset:
- shard-bmg: NOTRUN -> [DMESG-FAIL][135] ([Intel XE#6652])
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_system_allocator@threads-shared-vm-many-large-malloc-race-nomemset.html
* igt@xe_exec_system_allocator@twice-mmap-huge:
- shard-lnl: NOTRUN -> [SKIP][136] ([Intel XE#4943]) +13 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@xe_exec_system_allocator@twice-mmap-huge.html
* igt@xe_exec_threads@threads-many-queues:
- shard-lnl: NOTRUN -> [FAIL][137] ([Intel XE#7166])
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@xe_exec_threads@threads-many-queues.html
* igt@xe_exec_threads@threads-multi-queue-cm-shared-vm-basic:
- shard-lnl: NOTRUN -> [SKIP][138] ([Intel XE#7138]) +3 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-7/igt@xe_exec_threads@threads-multi-queue-cm-shared-vm-basic.html
* igt@xe_exec_threads@threads-multi-queue-hang-fd-userptr-invalidate-race:
- shard-bmg: NOTRUN -> [SKIP][139] ([Intel XE#7138]) +3 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@xe_exec_threads@threads-multi-queue-hang-fd-userptr-invalidate-race.html
* igt@xe_live_ktest@xe_eudebug:
- shard-lnl: NOTRUN -> [SKIP][140] ([Intel XE#2833])
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@xe_live_ktest@xe_eudebug.html
* igt@xe_multigpu_svm@mgpu-coherency-prefetch:
- shard-lnl: NOTRUN -> [SKIP][141] ([Intel XE#6964]) +2 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@xe_multigpu_svm@mgpu-coherency-prefetch.html
* igt@xe_multigpu_svm@mgpu-latency-copy-basic:
- shard-bmg: NOTRUN -> [SKIP][142] ([Intel XE#6964]) +1 other test skip
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-9/igt@xe_multigpu_svm@mgpu-latency-copy-basic.html
* igt@xe_pat@pat-index-xelpg:
- shard-bmg: NOTRUN -> [SKIP][143] ([Intel XE#2236])
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-9/igt@xe_pat@pat-index-xelpg.html
- shard-lnl: NOTRUN -> [SKIP][144] ([Intel XE#979])
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@xe_pat@pat-index-xelpg.html
* igt@xe_pxp@display-black-pxp-fb:
- shard-bmg: NOTRUN -> [SKIP][145] ([Intel XE#4733]) +2 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@xe_pxp@display-black-pxp-fb.html
* igt@xe_query@multigpu-query-oa-units:
- shard-bmg: NOTRUN -> [SKIP][146] ([Intel XE#944])
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@xe_query@multigpu-query-oa-units.html
* igt@xe_query@multigpu-query-pxp-status:
- shard-lnl: NOTRUN -> [SKIP][147] ([Intel XE#944]) +1 other test skip
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-8/igt@xe_query@multigpu-query-pxp-status.html
* igt@xe_sriov_auto_provisioning@selfconfig-reprovision-increase-numvfs:
- shard-lnl: NOTRUN -> [SKIP][148] ([Intel XE#4130])
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-2/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-increase-numvfs.html
* igt@xe_sriov_flr@flr-vf1-clear:
- shard-lnl: NOTRUN -> [SKIP][149] ([Intel XE#3342]) +1 other test skip
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@xe_sriov_flr@flr-vf1-clear.html
- shard-bmg: NOTRUN -> [FAIL][150] ([Intel XE#6569])
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@xe_sriov_flr@flr-vf1-clear.html
#### Possible fixes ####
* igt@intel_hwmon@hwmon-write:
- shard-bmg: [FAIL][151] ([Intel XE#4665]) -> [PASS][152]
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-9/igt@intel_hwmon@hwmon-write.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@intel_hwmon@hwmon-write.html
* igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
- shard-lnl: [FAIL][153] ([Intel XE#6054]) -> [PASS][154] +3 other tests pass
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-2/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-bmg: [FAIL][155] ([Intel XE#5299]) -> [PASS][156]
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_flip@2x-flip-vs-panning:
- shard-bmg: [SKIP][157] ([Intel XE#2316]) -> [PASS][158] +4 other tests pass
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_flip@2x-flip-vs-panning.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_flip@2x-flip-vs-panning.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-bmg: [DMESG-WARN][159] ([Intel XE#3428] / [Intel XE#5208]) -> [PASS][160]
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-dp2-hdmi-a3:
- shard-bmg: [DMESG-WARN][161] ([Intel XE#3428]) -> [PASS][162] +3 other tests pass
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-dp2-hdmi-a3.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-dp2-hdmi-a3.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-bmg: [INCOMPLETE][163] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][164] +1 other test pass
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-10/igt@kms_flip@flip-vs-suspend-interruptible.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_hdr@static-toggle-dpms:
- shard-bmg: [SKIP][165] ([Intel XE#1503]) -> [PASS][166]
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_hdr@static-toggle-dpms.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-bmg: [SKIP][167] ([Intel XE#4596]) -> [PASS][168]
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_plane_multiple@2x-tiling-none.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_pm_dc@dc6-dpms:
- shard-lnl: [FAIL][169] ([Intel XE#718]) -> [PASS][170]
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-3/igt@kms_pm_dc@dc6-dpms.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_setmode@clone-exclusive-crtc:
- shard-bmg: [SKIP][171] ([Intel XE#1435]) -> [PASS][172] +1 other test pass
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_setmode@clone-exclusive-crtc.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@kms_setmode@clone-exclusive-crtc.html
* igt@xe_exec_system_allocator@once-large-malloc-bo-unmap:
- shard-bmg: [ABORT][173] ([Intel XE#7169]) -> [PASS][174]
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-1/igt@xe_exec_system_allocator@once-large-malloc-bo-unmap.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@xe_exec_system_allocator@once-large-malloc-bo-unmap.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma:
- shard-lnl: [FAIL][175] ([Intel XE#5625]) -> [PASS][176]
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-2/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-4/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html
* igt@xe_fault_injection@exec-queue-create-fail-xe_exec_queue_create:
- shard-bmg: [ABORT][177] -> [PASS][178]
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-9/igt@xe_fault_injection@exec-queue-create-fail-xe_exec_queue_create.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@xe_fault_injection@exec-queue-create-fail-xe_exec_queue_create.html
* igt@xe_module_load@load:
- shard-bmg: ([PASS][179], [PASS][180], [SKIP][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189], [PASS][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204]) ([Intel XE#2457]) -> ([PASS][205], [PASS][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [PASS][211], [PASS][212], [PASS][213], [PASS][214], [PASS][215], [PASS][216], [PASS][217], [PASS][218], [PASS][219], [PASS][220], [PASS][221], [PASS][222], [PASS][223], [PASS][224], [PASS][225], [PASS][226], [PASS][227], [PASS][228], [PASS][229])
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-10/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-1/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-9/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-4/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-1/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-4/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-7/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-7/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-7/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-1/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-2/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-10/igt@xe_module_load@load.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-10/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-2/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-9/igt@xe_module_load@load.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-9/igt@xe_module_load@load.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-2/igt@xe_module_load@load.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_module_load@load.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-9/igt@xe_module_load@load.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@xe_module_load@load.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-9/igt@xe_module_load@load.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-8/igt@xe_module_load@load.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-8/igt@xe_module_load@load.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@xe_module_load@load.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@xe_module_load@load.html
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@xe_module_load@load.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@xe_module_load@load.html
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@xe_module_load@load.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@xe_module_load@load.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@xe_module_load@load.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_module_load@load.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_module_load@load.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@xe_module_load@load.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-1/igt@xe_module_load@load.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@xe_module_load@load.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@xe_module_load@load.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@xe_module_load@load.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@xe_module_load@load.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@xe_module_load@load.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@xe_module_load@load.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-10/igt@xe_module_load@load.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@xe_module_load@load.html
* igt@xe_pm@s4-multiple-execs:
- shard-lnl: [ABORT][230] ([Intel XE#7169]) -> [PASS][231]
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-4/igt@xe_pm@s4-multiple-execs.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-5/igt@xe_pm@s4-multiple-execs.html
#### Warnings ####
* igt@kms_bw@linear-tiling-2-displays-3840x2160p:
- shard-bmg: [SKIP][232] ([Intel XE#367]) -> [SKIP][233] ([Intel XE#6703])
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-bmg: [SKIP][234] ([Intel XE#2652] / [Intel XE#787]) -> [SKIP][235] ([Intel XE#6703])
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs:
- shard-bmg: [SKIP][236] ([Intel XE#2887]) -> [SKIP][237] ([Intel XE#6703]) +2 other tests skip
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs.html
* igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate:
- shard-bmg: [SKIP][238] ([Intel XE#2252]) -> [SKIP][239] ([Intel XE#6703]) +1 other test skip
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-7/igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate.html
* igt@kms_content_protection@legacy:
- shard-bmg: [FAIL][240] ([Intel XE#1178] / [Intel XE#3304]) -> [SKIP][241] ([Intel XE#6703])
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@kms_content_protection@legacy.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@legacy-hdcp14:
- shard-bmg: [SKIP][242] ([Intel XE#7194]) -> [FAIL][243] ([Intel XE#3304])
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_content_protection@legacy-hdcp14.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@kms_content_protection@legacy-hdcp14.html
* igt@kms_content_protection@lic-type-0-hdcp14:
- shard-bmg: [FAIL][244] ([Intel XE#3304]) -> [SKIP][245] ([Intel XE#7194])
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@kms_content_protection@lic-type-0-hdcp14.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_content_protection@lic-type-0-hdcp14.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-blt:
- shard-bmg: [SKIP][246] ([Intel XE#2311]) -> [ABORT][247] ([Intel XE#7169])
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-blt.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move:
- shard-bmg: [SKIP][248] ([Intel XE#2312]) -> [SKIP][249] ([Intel XE#2311]) +7 other tests skip
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][250] ([Intel XE#4141]) -> [SKIP][251] ([Intel XE#6703])
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][252] ([Intel XE#2312]) -> [SKIP][253] ([Intel XE#4141]) +7 other tests skip
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
- shard-bmg: [SKIP][254] ([Intel XE#4141]) -> [SKIP][255] ([Intel XE#2312]) +6 other tests skip
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-onoff:
- shard-bmg: [SKIP][256] ([Intel XE#2311]) -> [SKIP][257] ([Intel XE#6703])
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-onoff.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render:
- shard-bmg: [SKIP][258] ([Intel XE#2311]) -> [SKIP][259] ([Intel XE#2312]) +4 other tests skip
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-msflip-blt:
- shard-bmg: [SKIP][260] ([Intel XE#2312]) -> [SKIP][261] ([Intel XE#2313]) +6 other tests skip
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-msflip-blt.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
- shard-bmg: [SKIP][262] ([Intel XE#2313]) -> [SKIP][263] ([Intel XE#6703]) +1 other test skip
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-move:
- shard-bmg: [SKIP][264] ([Intel XE#2312]) -> [SKIP][265] ([Intel XE#6703])
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-move.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt:
- shard-bmg: [SKIP][266] ([Intel XE#2313]) -> [SKIP][267] ([Intel XE#2312]) +11 other tests skip
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_hdr@brightness-with-hdr:
- shard-bmg: [SKIP][268] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][269] ([Intel XE#3544])
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-3/igt@kms_hdr@brightness-with-hdr.html
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-4/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-bmg: [SKIP][270] ([Intel XE#5021]) -> [SKIP][271] ([Intel XE#4596])
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-10/igt@kms_plane_multiple@2x-tiling-y.html
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-5/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_pm_backlight@brightness-with-dpms:
- shard-bmg: [SKIP][272] ([Intel XE#2938]) -> [SKIP][273] ([Intel XE#6703])
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-1/igt@kms_pm_backlight@brightness-with-dpms.html
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_pm_backlight@brightness-with-dpms.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-bmg: [SKIP][274] ([Intel XE#1406] / [Intel XE#1489]) -> [SKIP][275] ([Intel XE#1406] / [Intel XE#6703])
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr@psr-cursor-plane-move:
- shard-bmg: [SKIP][276] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) -> [SKIP][277] ([Intel XE#1406] / [Intel XE#6703]) +1 other test skip
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-9/igt@kms_psr@psr-cursor-plane-move.html
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_psr@psr-cursor-plane-move.html
* igt@kms_sharpness_filter@filter-tap:
- shard-bmg: [SKIP][278] ([Intel XE#6503]) -> [SKIP][279] ([Intel XE#6703])
[278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-4/igt@kms_sharpness_filter@filter-tap.html
[279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@kms_sharpness_filter@filter-tap.html
* igt@xe_eudebug@basic-vm-bind-ufence-reconnect:
- shard-bmg: [SKIP][280] ([Intel XE#4837]) -> [SKIP][281] ([Intel XE#6557] / [Intel XE#6703])
[280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-10/igt@xe_eudebug@basic-vm-bind-ufence-reconnect.html
[281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_eudebug@basic-vm-bind-ufence-reconnect.html
* igt@xe_eudebug_online@pagefault-write-stress:
- shard-bmg: [SKIP][282] ([Intel XE#6665] / [Intel XE#6681]) -> [SKIP][283] ([Intel XE#6703])
[282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@xe_eudebug_online@pagefault-write-stress.html
[283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_eudebug_online@pagefault-write-stress.html
* igt@xe_exec_basic@multigpu-no-exec-null-defer-bind:
- shard-bmg: [SKIP][284] ([Intel XE#2322]) -> [SKIP][285] ([Intel XE#6703])
[284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-8/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
[285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
* igt@xe_exec_multi_queue@many-execs-close-fd-smem:
- shard-bmg: [SKIP][286] ([Intel XE#6874]) -> [SKIP][287] ([Intel XE#6703]) +1 other test skip
[286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-2/igt@xe_exec_multi_queue@many-execs-close-fd-smem.html
[287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_multi_queue@many-execs-close-fd-smem.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-mmap-new-huge:
- shard-bmg: [SKIP][288] ([Intel XE#4943]) -> [SKIP][289] ([Intel XE#6703]) +2 other tests skip
[288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-2/igt@xe_exec_system_allocator@threads-shared-vm-many-mmap-new-huge.html
[289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_system_allocator@threads-shared-vm-many-mmap-new-huge.html
* igt@xe_exec_threads@threads-multi-queue-mixed-fd-basic:
- shard-bmg: [SKIP][290] ([Intel XE#7138]) -> [SKIP][291] ([Intel XE#6703])
[290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-9/igt@xe_exec_threads@threads-multi-queue-mixed-fd-basic.html
[291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_exec_threads@threads-multi-queue-mixed-fd-basic.html
* igt@xe_pxp@pxp-termination-key-update-post-suspend:
- shard-bmg: [SKIP][292] ([Intel XE#4733]) -> [SKIP][293] ([Intel XE#6703])
[292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-bmg-5/igt@xe_pxp@pxp-termination-key-update-post-suspend.html
[293]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-bmg-2/igt@xe_pxp@pxp-termination-key-update-post-suspend.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1128
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[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#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#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#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
[Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[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#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2501
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
[Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[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#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
[Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
[Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3428
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433
[Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
[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#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#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[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#4665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4665
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
[Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
[Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
[Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
[Intel XE#5213]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5213
[Intel XE#5299]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5299
[Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
[Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
[Intel XE#5937]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5937
[Intel XE#5993]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5993
[Intel XE#6054]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6054
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#6557]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6557
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
[Intel XE#6592]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6592
[Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
[Intel XE#6645]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6645
[Intel XE#6652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6652
[Intel XE#6665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6665
[Intel XE#6681]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6681
[Intel XE#6703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6703
[Intel XE#6715]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6715
[Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
[Intel XE#6901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6901
[Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#6968]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6968
[Intel XE#6969]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6969
[Intel XE#6973]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6973
[Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
[Intel XE#7006]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7006
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7086]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7086
[Intel XE#7111]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7111
[Intel XE#7130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7130
[Intel XE#7131]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7131
[Intel XE#7136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7136
[Intel XE#7138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7138
[Intel XE#7140]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7140
[Intel XE#7166]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7166
[Intel XE#7169]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7169
[Intel XE#7174]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7174
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#7194]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7194
[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#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
Build changes
-------------
* IGT: IGT_8736 -> IGTPW_14492
IGTPW_14492: 14492
IGT_8736: 8736
xe-4497-241994730989320c926da9f2d0a5ec80b48f993d: 241994730989320c926da9f2d0a5ec80b48f993d
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/index.html
[-- Attachment #2: Type: text/html, Size: 87822 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✓ i915.CI.Full: success for PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
` (9 preceding siblings ...)
2026-02-05 5:02 ` ✗ Xe.CI.FULL: failure " Patchwork
@ 2026-02-05 8:13 ` Patchwork
10 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2026-02-05 8:13 UTC (permalink / raw)
To: Marcin Bernatowicz; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 125678 bytes --]
== Series Details ==
Series: PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
URL : https://patchwork.freedesktop.org/series/160140/
State : success
== Summary ==
CI Bug Log - changes from IGT_8736_full -> IGTPW_14492_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/index.html
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
New tests
---------
New tests have been introduced between IGT_8736_full and IGTPW_14492_full:
### New IGT tests (15) ###
* igt@gem_exec_balancer@2x-flip-vs-panning-interruptible:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@dsc-with-output-formats:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@evict-active-interruptible:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@fbc-2p-scndscrn-pri-indfb-draw-mmap-gtt:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@fbc-psr-sprite-blt:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@fbc-rgb565-draw-mmap-wc:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@freq-suspend:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@gem-execbuf-stress:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@invalid-get-prop:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@multigpu-basic-process:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@single-wait-all-for-submit-available-signaled:
- Statuses :
- Exec time: [None] s
* igt@gem_exec_balancer@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- Statuses :
- Exec time: [None] s
* igt@kms_cursor_crc@cursor-offscreen-256x85@pipe-a-dp-3:
- Statuses : 1 pass(s)
- Exec time: [2.57] s
* igt@kms_cursor_crc@cursor-rapid-movement-128x128@pipe-a-dp-3:
- Statuses : 1 pass(s)
- Exec time: [0.49] s
Known issues
------------
Here are the changes found in IGTPW_14492_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@device_reset@cold-reset-bound:
- shard-tglu-1: NOTRUN -> [SKIP][1] ([i915#11078])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@device_reset@cold-reset-bound.html
* igt@device_reset@unbind-reset-rebind:
- shard-dg1: NOTRUN -> [ABORT][2] ([i915#11814] / [i915#11815])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-14/igt@device_reset@unbind-reset-rebind.html
* igt@drm_buddy@drm_buddy:
- shard-glk: NOTRUN -> [DMESG-WARN][3] ([i915#15095]) +1 other test dmesg-warn
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk2/igt@drm_buddy@drm_buddy.html
* igt@gem_busy@semaphore:
- shard-dg2: NOTRUN -> [SKIP][4] ([i915#3936])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-1/igt@gem_busy@semaphore.html
- shard-dg1: NOTRUN -> [SKIP][5] ([i915#3936])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@gem_busy@semaphore.html
* igt@gem_ccs@suspend-resume:
- shard-dg2: [PASS][6] -> [INCOMPLETE][7] ([i915#13356]) +1 other test incomplete
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-8/igt@gem_ccs@suspend-resume.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@gem_ccs@suspend-resume.html
- shard-tglu-1: NOTRUN -> [SKIP][8] ([i915#9323])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@gem_ccs@suspend-resume.html
* igt@gem_create@create-ext-set-pat:
- shard-tglu: NOTRUN -> [SKIP][9] ([i915#8562])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-2/igt@gem_create@create-ext-set-pat.html
* igt@gem_ctx_sseu@invalid-sseu:
- shard-rkl: NOTRUN -> [SKIP][10] ([i915#280])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@gem_ctx_sseu@invalid-sseu.html
* igt@gem_eio@in-flight-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][11] ([i915#13390])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk2/igt@gem_eio@in-flight-suspend.html
* igt@gem_eio@kms:
- shard-rkl: [PASS][12] -> [DMESG-WARN][13] ([i915#13363])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-5/igt@gem_eio@kms.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gem_eio@kms.html
- shard-tglu: [PASS][14] -> [DMESG-WARN][15] ([i915#13363])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-tglu-4/igt@gem_eio@kms.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-5/igt@gem_eio@kms.html
* igt@gem_exec_balancer@full:
- shard-mtlp: [PASS][16] -> [ABORT][17] ([i915#13562])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-mtlp-3/igt@gem_exec_balancer@full.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-2/igt@gem_exec_balancer@full.html
* igt@gem_exec_balancer@invalid-bonds:
- shard-dg2: NOTRUN -> [SKIP][18] ([i915#4036])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-8/igt@gem_exec_balancer@invalid-bonds.html
- shard-dg1: NOTRUN -> [SKIP][19] ([i915#4036])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@gem_exec_balancer@invalid-bonds.html
- shard-mtlp: NOTRUN -> [SKIP][20] ([i915#4036])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-8/igt@gem_exec_balancer@invalid-bonds.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-tglu-1: NOTRUN -> [SKIP][21] ([i915#4525]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_balancer@parallel-keep-submit-fence:
- shard-glk10: NOTRUN -> [SKIP][22] +147 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk10/igt@gem_exec_balancer@parallel-keep-submit-fence.html
* igt@gem_exec_balancer@parallel-ordering:
- shard-rkl: NOTRUN -> [SKIP][23] ([i915#4525]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@gem_exec_balancer@parallel-ordering.html
* igt@gem_exec_reloc@basic-gtt-cpu-noreloc:
- shard-rkl: NOTRUN -> [SKIP][24] ([i915#14544] / [i915#3281]) +2 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-cpu-noreloc.html
* igt@gem_exec_reloc@basic-write-cpu:
- shard-dg2: NOTRUN -> [SKIP][25] ([i915#3281]) +3 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-6/igt@gem_exec_reloc@basic-write-cpu.html
- shard-dg1: NOTRUN -> [SKIP][26] ([i915#3281]) +3 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-13/igt@gem_exec_reloc@basic-write-cpu.html
- shard-mtlp: NOTRUN -> [SKIP][27] ([i915#3281]) +1 other test skip
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-3/igt@gem_exec_reloc@basic-write-cpu.html
* igt@gem_exec_reloc@basic-write-wc-noreloc:
- shard-rkl: NOTRUN -> [SKIP][28] ([i915#3281]) +8 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@gem_exec_reloc@basic-write-wc-noreloc.html
* igt@gem_huc_copy@huc-copy:
- shard-tglu: NOTRUN -> [SKIP][29] ([i915#2190])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-9/igt@gem_huc_copy@huc-copy.html
- shard-glk: NOTRUN -> [SKIP][30] ([i915#2190])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk6/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@heavy-verify-random:
- shard-rkl: NOTRUN -> [SKIP][31] ([i915#4613]) +4 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@gem_lmem_swapping@heavy-verify-random.html
* igt@gem_lmem_swapping@massive:
- shard-glk: NOTRUN -> [SKIP][32] ([i915#4613])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk5/igt@gem_lmem_swapping@massive.html
* igt@gem_lmem_swapping@parallel-random-verify:
- shard-tglu-1: NOTRUN -> [SKIP][33] ([i915#4613]) +1 other test skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@gem_lmem_swapping@parallel-random-verify.html
* igt@gem_lmem_swapping@verify-random-ccs:
- shard-dg1: NOTRUN -> [SKIP][34] ([i915#12193])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@gem_lmem_swapping@verify-random-ccs.html
- shard-tglu: NOTRUN -> [SKIP][35] ([i915#4613]) +1 other test skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-3/igt@gem_lmem_swapping@verify-random-ccs.html
- shard-mtlp: NOTRUN -> [SKIP][36] ([i915#4613])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-7/igt@gem_lmem_swapping@verify-random-ccs.html
* igt@gem_lmem_swapping@verify-random-ccs@lmem0:
- shard-dg1: NOTRUN -> [SKIP][37] ([i915#4565])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@gem_lmem_swapping@verify-random-ccs@lmem0.html
* igt@gem_mmap_gtt@basic-read-write-distinct:
- shard-dg2: NOTRUN -> [SKIP][38] ([i915#4077]) +5 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@gem_mmap_gtt@basic-read-write-distinct.html
- shard-dg1: NOTRUN -> [SKIP][39] ([i915#4077]) +5 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-14/igt@gem_mmap_gtt@basic-read-write-distinct.html
* igt@gem_mmap_gtt@basic-short:
- shard-mtlp: NOTRUN -> [SKIP][40] ([i915#4077]) +2 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-2/igt@gem_mmap_gtt@basic-short.html
* igt@gem_mmap_offset@clear-via-pagefault:
- shard-mtlp: [PASS][41] -> [ABORT][42] ([i915#14809]) +1 other test abort
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-mtlp-4/igt@gem_mmap_offset@clear-via-pagefault.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-6/igt@gem_mmap_offset@clear-via-pagefault.html
* igt@gem_mmap_wc@close:
- shard-dg2: NOTRUN -> [SKIP][43] ([i915#4083]) +3 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-5/igt@gem_mmap_wc@close.html
* igt@gem_mmap_wc@write-read:
- shard-dg1: NOTRUN -> [SKIP][44] ([i915#4083]) +3 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@gem_mmap_wc@write-read.html
- shard-mtlp: NOTRUN -> [SKIP][45] ([i915#4083]) +1 other test skip
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-4/igt@gem_mmap_wc@write-read.html
* igt@gem_partial_pwrite_pread@reads-display:
- shard-mtlp: NOTRUN -> [SKIP][46] ([i915#3282]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-7/igt@gem_partial_pwrite_pread@reads-display.html
* igt@gem_partial_pwrite_pread@write-display:
- shard-dg2: NOTRUN -> [SKIP][47] ([i915#3282]) +2 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@gem_partial_pwrite_pread@write-display.html
- shard-dg1: NOTRUN -> [SKIP][48] ([i915#3282]) +3 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@gem_partial_pwrite_pread@write-display.html
* igt@gem_pread@exhaustion:
- shard-glk10: NOTRUN -> [WARN][49] ([i915#2658])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk10/igt@gem_pread@exhaustion.html
* igt@gem_pxp@protected-raw-src-copy-not-readible:
- shard-dg2: NOTRUN -> [SKIP][50] ([i915#4270]) +1 other test skip
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-8/igt@gem_pxp@protected-raw-src-copy-not-readible.html
- shard-dg1: NOTRUN -> [SKIP][51] ([i915#4270]) +1 other test skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-14/igt@gem_pxp@protected-raw-src-copy-not-readible.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled-ccs:
- shard-dg2: NOTRUN -> [SKIP][52] ([i915#5190] / [i915#8428]) +2 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-5/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-ccs.html
* igt@gem_render_copy@yf-tiled-ccs-to-y-tiled-ccs:
- shard-mtlp: NOTRUN -> [SKIP][53] ([i915#8428])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-2/igt@gem_render_copy@yf-tiled-ccs-to-y-tiled-ccs.html
* igt@gem_set_tiling_vs_blt@untiled-to-tiled:
- shard-dg2: NOTRUN -> [SKIP][54] ([i915#4079])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html
- shard-dg1: NOTRUN -> [SKIP][55] ([i915#4079])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html
* igt@gem_set_tiling_vs_pwrite:
- shard-rkl: NOTRUN -> [SKIP][56] ([i915#3282]) +10 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@gem_set_tiling_vs_pwrite.html
* igt@gem_softpin@noreloc-s3:
- shard-rkl: [PASS][57] -> [INCOMPLETE][58] ([i915#13809])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-5/igt@gem_softpin@noreloc-s3.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gem_softpin@noreloc-s3.html
* igt@gem_tiled_pread_basic@basic:
- shard-rkl: NOTRUN -> [SKIP][59] ([i915#15656])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@gem_tiled_pread_basic@basic.html
* igt@gem_userptr_blits@readonly-pwrite-unsync:
- shard-tglu: NOTRUN -> [SKIP][60] ([i915#3297])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-5/igt@gem_userptr_blits@readonly-pwrite-unsync.html
* igt@gem_userptr_blits@readonly-unsync:
- shard-rkl: NOTRUN -> [SKIP][61] ([i915#14544] / [i915#3297])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gem_userptr_blits@readonly-unsync.html
* igt@gem_userptr_blits@unsync-unmap:
- shard-tglu-1: NOTRUN -> [SKIP][62] ([i915#3297])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@gem_userptr_blits@unsync-unmap.html
* igt@gem_workarounds@suspend-resume-context:
- shard-rkl: NOTRUN -> [ABORT][63] ([i915#15131])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@gem_workarounds@suspend-resume-context.html
* igt@gem_workarounds@suspend-resume-fd:
- shard-glk: [PASS][64] -> [INCOMPLETE][65] ([i915#13356] / [i915#14586])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-glk5/igt@gem_workarounds@suspend-resume-fd.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk5/igt@gem_workarounds@suspend-resume-fd.html
* igt@gen7_exec_parse@batch-without-end:
- shard-dg2: NOTRUN -> [SKIP][66] +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@gen7_exec_parse@batch-without-end.html
* igt@gen9_exec_parse@allowed-all:
- shard-tglu: NOTRUN -> [SKIP][67] ([i915#2527] / [i915#2856])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-2/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@bb-start-far:
- shard-rkl: NOTRUN -> [SKIP][68] ([i915#2527]) +1 other test skip
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@gen9_exec_parse@bb-start-far.html
* igt@gen9_exec_parse@unaligned-access:
- shard-tglu-1: NOTRUN -> [SKIP][69] ([i915#2527] / [i915#2856]) +1 other test skip
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@gen9_exec_parse@unaligned-access.html
* igt@i915_module_load@fault-injection@intel_connector_register:
- shard-tglu: NOTRUN -> [ABORT][70] ([i915#15342]) +1 other test abort
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-3/igt@i915_module_load@fault-injection@intel_connector_register.html
* igt@i915_module_load@fault-injection@uc_fw_rsa_data_create:
- shard-tglu: NOTRUN -> [SKIP][71] ([i915#15479]) +4 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-3/igt@i915_module_load@fault-injection@uc_fw_rsa_data_create.html
* igt@i915_module_load@resize-bar:
- shard-rkl: NOTRUN -> [SKIP][72] ([i915#6412])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@i915_module_load@resize-bar.html
* igt@i915_pm_freq_api@freq-reset:
- shard-rkl: NOTRUN -> [SKIP][73] ([i915#14544] / [i915#8399])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@i915_pm_freq_api@freq-reset.html
* igt@i915_pm_freq_api@freq-suspend@gt0:
- shard-dg2: [PASS][74] -> [INCOMPLETE][75] ([i915#13356] / [i915#13820]) +1 other test incomplete
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-8/igt@i915_pm_freq_api@freq-suspend@gt0.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-1/igt@i915_pm_freq_api@freq-suspend@gt0.html
* igt@i915_pm_rps@basic-api:
- shard-dg1: NOTRUN -> [SKIP][76] ([i915#11681] / [i915#6621])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@i915_pm_rps@basic-api.html
- shard-dg2: NOTRUN -> [SKIP][77] ([i915#11681] / [i915#6621])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-3/igt@i915_pm_rps@basic-api.html
* igt@i915_pm_rps@thresholds-idle-park:
- shard-dg2: NOTRUN -> [SKIP][78] ([i915#11681])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-6/igt@i915_pm_rps@thresholds-idle-park.html
- shard-dg1: NOTRUN -> [SKIP][79] ([i915#11681])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@i915_pm_rps@thresholds-idle-park.html
* igt@i915_query@hwconfig_table:
- shard-tglu-1: NOTRUN -> [SKIP][80] ([i915#6245])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@i915_query@hwconfig_table.html
* igt@i915_query@query-topology-known-pci-ids:
- shard-tglu-1: NOTRUN -> [SKIP][81] +27 other tests skip
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@i915_query@query-topology-known-pci-ids.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-rkl: [PASS][82] -> [INCOMPLETE][83] ([i915#4817])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-8/igt@i915_suspend@fence-restore-tiled2untiled.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@i915_suspend@fence-restore-untiled:
- shard-rkl: NOTRUN -> [INCOMPLETE][84] ([i915#4817])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@i915_suspend@fence-restore-untiled.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-tglu-1: NOTRUN -> [SKIP][85] ([i915#1769] / [i915#3555])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-rkl: NOTRUN -> [SKIP][86] ([i915#5286]) +3 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-180:
- shard-dg1: NOTRUN -> [SKIP][87] ([i915#4538] / [i915#5286]) +2 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-rkl: NOTRUN -> [SKIP][88] ([i915#14544] / [i915#5286]) +1 other test skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-tglu: NOTRUN -> [SKIP][89] ([i915#5286]) +2 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-10/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-tglu-1: NOTRUN -> [SKIP][90] ([i915#5286]) +1 other test skip
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@linear-8bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][91] ([i915#3638]) +3 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_big_fb@linear-8bpp-rotate-270.html
- shard-dg1: NOTRUN -> [SKIP][92] ([i915#3638]) +1 other test skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@kms_big_fb@linear-8bpp-rotate-270.html
* igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip:
- shard-tglu-1: NOTRUN -> [SKIP][93] ([i915#3828])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-270:
- shard-dg2: NOTRUN -> [SKIP][94] ([i915#4538] / [i915#5190]) +3 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-8/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-180:
- shard-rkl: NOTRUN -> [SKIP][95] +14 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html
- shard-dg1: NOTRUN -> [SKIP][96] ([i915#4538]) +1 other test skip
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html
- shard-mtlp: NOTRUN -> [SKIP][97] +1 other test skip
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-7/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html
* igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][98] ([i915#10307] / [i915#10434] / [i915#6095])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
- shard-tglu: NOTRUN -> [SKIP][99] ([i915#12313])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-7/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
* igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2:
- shard-glk: NOTRUN -> [SKIP][100] +312 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk6/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
- shard-rkl: NOTRUN -> [SKIP][101] ([i915#12313])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc:
- shard-tglu: NOTRUN -> [SKIP][102] ([i915#6095]) +44 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-2/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][103] ([i915#12313])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-d-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][104] ([i915#6095]) +226 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-13/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-d-hdmi-a-3.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
- shard-rkl: NOTRUN -> [SKIP][105] ([i915#12805])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs:
- shard-glk10: NOTRUN -> [INCOMPLETE][106] ([i915#15582]) +1 other test incomplete
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk10/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][107] ([i915#6095]) +4 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-1/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-b-edp-1.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][108] ([i915#6095]) +41 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][109] ([i915#10307] / [i915#6095]) +114 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][110] ([i915#6095]) +24 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][111] ([i915#14098] / [i915#6095]) +50 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][112] ([i915#14544] / [i915#6095]) +2 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][113] ([i915#14098] / [i915#14544] / [i915#6095]) +1 other test skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][114] ([i915#6095]) +76 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_cdclk@mode-transition:
- shard-tglu: NOTRUN -> [SKIP][115] ([i915#3742])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-4/igt@kms_cdclk@mode-transition.html
* igt@kms_chamelium_color@ctm-max:
- shard-rkl: NOTRUN -> [SKIP][116] ([i915#14544]) +1 other test skip
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_chamelium_color@ctm-max.html
* igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k:
- shard-rkl: NOTRUN -> [SKIP][117] ([i915#11151] / [i915#7828]) +5 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k.html
* igt@kms_chamelium_frames@hdmi-crc-fast:
- shard-tglu: NOTRUN -> [SKIP][118] ([i915#11151] / [i915#7828]) +2 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-8/igt@kms_chamelium_frames@hdmi-crc-fast.html
* igt@kms_chamelium_hpd@common-hpd-after-suspend:
- shard-dg2: NOTRUN -> [SKIP][119] ([i915#11151] / [i915#7828]) +2 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-5/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
- shard-dg1: NOTRUN -> [SKIP][120] ([i915#11151] / [i915#7828]) +2 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
- shard-mtlp: NOTRUN -> [SKIP][121] ([i915#11151] / [i915#7828])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-7/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
* igt@kms_chamelium_hpd@dp-hpd-storm:
- shard-tglu-1: NOTRUN -> [SKIP][122] ([i915#11151] / [i915#7828]) +3 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_chamelium_hpd@dp-hpd-storm.html
* igt@kms_chamelium_hpd@vga-hpd:
- shard-rkl: NOTRUN -> [SKIP][123] ([i915#11151] / [i915#14544] / [i915#7828])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_chamelium_hpd@vga-hpd.html
* igt@kms_color@deep-color:
- shard-dg2: [PASS][124] -> [SKIP][125] ([i915#12655] / [i915#3555])
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-11/igt@kms_color@deep-color.html
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@kms_color@deep-color.html
* igt@kms_content_protection@atomic-dpms:
- shard-rkl: NOTRUN -> [SKIP][126] ([i915#6944] / [i915#7118] / [i915#9424])
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@atomic-hdcp14:
- shard-tglu: NOTRUN -> [SKIP][127] ([i915#6944])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-3/igt@kms_content_protection@atomic-hdcp14.html
* igt@kms_content_protection@content-type-change:
- shard-rkl: NOTRUN -> [SKIP][128] ([i915#14544] / [i915#6944] / [i915#9424])
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
- shard-tglu-1: NOTRUN -> [SKIP][129] ([i915#15330]) +1 other test skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html
* igt@kms_content_protection@dp-mst-type-1-suspend-resume:
- shard-dg2: NOTRUN -> [SKIP][130] ([i915#15330])
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html
- shard-dg1: NOTRUN -> [SKIP][131] ([i915#15330])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html
* igt@kms_content_protection@srm:
- shard-tglu: NOTRUN -> [SKIP][132] ([i915#6944] / [i915#7116] / [i915#7118])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-8/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-offscreen-32x10:
- shard-dg2: NOTRUN -> [SKIP][133] ([i915#3555])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-8/igt@kms_cursor_crc@cursor-offscreen-32x10.html
- shard-dg1: NOTRUN -> [SKIP][134] ([i915#3555]) +2 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@kms_cursor_crc@cursor-offscreen-32x10.html
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- shard-tglu-1: NOTRUN -> [SKIP][135] ([i915#3555]) +1 other test skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-32x32.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-rkl: NOTRUN -> [SKIP][136] ([i915#13049])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-random-128x42:
- shard-mtlp: NOTRUN -> [SKIP][137] ([i915#8814])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-4/igt@kms_cursor_crc@cursor-random-128x42.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-tglu-1: NOTRUN -> [SKIP][138] ([i915#13049])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_cursor_crc@cursor-random-512x170.html
- shard-dg1: NOTRUN -> [SKIP][139] ([i915#13049])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x32:
- shard-rkl: NOTRUN -> [SKIP][140] ([i915#3555]) +3 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x512:
- shard-tglu: NOTRUN -> [SKIP][141] ([i915#13049]) +1 other test skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-2/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-64x64:
- shard-dg1: [PASS][142] -> [DMESG-WARN][143] ([i915#4423]) +3 other tests dmesg-warn
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-13/igt@kms_cursor_crc@cursor-rapid-movement-64x64.html
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@kms_cursor_crc@cursor-rapid-movement-64x64.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-rkl: [PASS][144] -> [FAIL][145] ([i915#13566])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-128x42.html
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [FAIL][146] ([i915#13566])
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html
- shard-tglu: [PASS][147] -> [FAIL][148] ([i915#13566]) +1 other test fail
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-tglu-8/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-7/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
- shard-dg2: NOTRUN -> [SKIP][149] ([i915#13046] / [i915#5354])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-tglu: NOTRUN -> [SKIP][150] ([i915#4103])
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-dg2: NOTRUN -> [SKIP][151] ([i915#4103] / [i915#4213])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
- shard-dg1: NOTRUN -> [SKIP][152] ([i915#4103] / [i915#4213])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_display_modes@extended-mode-basic:
- shard-tglu: NOTRUN -> [SKIP][153] ([i915#13691])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-8/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][154] ([i915#3804])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_dp_aux_dev:
- shard-tglu-1: NOTRUN -> [SKIP][155] ([i915#1257])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_dp_aux_dev.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-dg2: [PASS][156] -> [SKIP][157] ([i915#13749])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-11/igt@kms_dp_link_training@non-uhbr-sst.html
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dsc@dsc-basic:
- shard-tglu-1: NOTRUN -> [SKIP][158] ([i915#3555] / [i915#3840])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_dsc@dsc-basic.html
* igt@kms_dsc@dsc-with-bpc:
- shard-dg2: NOTRUN -> [SKIP][159] ([i915#3555] / [i915#3840])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@kms_dsc@dsc-with-bpc.html
- shard-dg1: NOTRUN -> [SKIP][160] ([i915#3555] / [i915#3840])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@kms_dsc@dsc-with-bpc.html
- shard-mtlp: NOTRUN -> [SKIP][161] ([i915#3555] / [i915#3840])
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-3/igt@kms_dsc@dsc-with-bpc.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-rkl: NOTRUN -> [SKIP][162] ([i915#3555] / [i915#3840]) +1 other test skip
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-tglu: NOTRUN -> [SKIP][163] ([i915#3555] / [i915#3840]) +1 other test skip
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-7/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-rkl: [PASS][164] -> [INCOMPLETE][165] ([i915#9878])
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_fbcon_fbt@fbc-suspend.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_feature_discovery@dp-mst:
- shard-dg2: NOTRUN -> [SKIP][166] ([i915#9337])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-8/igt@kms_feature_discovery@dp-mst.html
- shard-dg1: NOTRUN -> [SKIP][167] ([i915#9337])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@kms_feature_discovery@dp-mst.html
* igt@kms_feature_discovery@psr2:
- shard-rkl: NOTRUN -> [SKIP][168] ([i915#658])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-absolute-wf_vblank:
- shard-tglu-1: NOTRUN -> [SKIP][169] ([i915#3637] / [i915#9934]) +4 other tests skip
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_flip@2x-absolute-wf_vblank.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
- shard-tglu: NOTRUN -> [SKIP][170] ([i915#3637] / [i915#9934]) +2 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-10/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html
* igt@kms_flip@2x-flip-vs-dpms-on-nop:
- shard-rkl: NOTRUN -> [SKIP][171] ([i915#14544] / [i915#9934])
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
* igt@kms_flip@2x-flip-vs-panning-vs-hang:
- shard-rkl: NOTRUN -> [SKIP][172] ([i915#9934]) +1 other test skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_flip@2x-flip-vs-panning-vs-hang.html
* igt@kms_flip@2x-flip-vs-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][173] ([i915#12745] / [i915#4839])
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk9/igt@kms_flip@2x-flip-vs-suspend.html
* igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2:
- shard-glk: NOTRUN -> [INCOMPLETE][174] ([i915#4839])
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk9/igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-dg2: NOTRUN -> [SKIP][175] ([i915#9934]) +1 other test skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_flip@2x-plain-flip-fb-recreate.html
- shard-dg1: NOTRUN -> [SKIP][176] ([i915#9934]) +1 other test skip
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@flip-vs-suspend:
- shard-glk10: NOTRUN -> [INCOMPLETE][177] ([i915#12745] / [i915#4839])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk10/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@flip-vs-suspend@a-hdmi-a1:
- shard-glk10: NOTRUN -> [INCOMPLETE][178] ([i915#12745])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk10/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-tglu: NOTRUN -> [SKIP][179] ([i915#15643]) +1 other test skip
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling:
- shard-rkl: NOTRUN -> [SKIP][180] ([i915#15643]) +1 other test skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-linear-to-32bpp-linear-reflect-x:
- shard-dg2: NOTRUN -> [SKIP][181] ([i915#15645])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-32bpp-linear-reflect-x.html
- shard-dg1: NOTRUN -> [SKIP][182] ([i915#15645])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-32bpp-linear-reflect-x.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling:
- shard-dg2: NOTRUN -> [SKIP][183] ([i915#15643]) +1 other test skip
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html
- shard-dg1: NOTRUN -> [SKIP][184] ([i915#15643])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-14/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
- shard-dg2: NOTRUN -> [SKIP][185] ([i915#15643] / [i915#5190])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-mtlp: NOTRUN -> [SKIP][186] ([i915#15643])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][187] ([i915#8708]) +5 other tests skip
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render:
- shard-rkl: NOTRUN -> [SKIP][188] ([i915#1825]) +34 other tests skip
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][189] ([i915#10056])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk2/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][190] ([i915#15102])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
- shard-rkl: NOTRUN -> [SKIP][191] ([i915#15102]) +2 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
- shard-dg1: NOTRUN -> [SKIP][192] ([i915#15102]) +1 other test skip
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][193] ([i915#10433] / [i915#15102] / [i915#3458])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
- shard-rkl: NOTRUN -> [SKIP][194] ([i915#15102] / [i915#3023]) +16 other tests skip
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
- shard-dg1: NOTRUN -> [SKIP][195] ([i915#15102] / [i915#3458]) +6 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-rkl: NOTRUN -> [SKIP][196] ([i915#14544] / [i915#1825]) +3 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][197] ([i915#15574]) +2 other tests skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-mmap-gtt.html
- shard-snb: NOTRUN -> [SKIP][198] +72 other tests skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-snb7/igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-mmap-gtt.html
- shard-mtlp: NOTRUN -> [SKIP][199] ([i915#15574]) +1 other test skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-1/igt@kms_frontbuffer_tracking@fbcpsr-abgr161616f-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy:
- shard-tglu: NOTRUN -> [SKIP][200] ([i915#15102]) +10 other tests skip
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-7/igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
- shard-tglu: NOTRUN -> [SKIP][201] ([i915#5439])
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-10/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite:
- shard-rkl: NOTRUN -> [SKIP][202] ([i915#14544] / [i915#15102])
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
- shard-tglu-1: NOTRUN -> [SKIP][203] ([i915#15102]) +9 other tests skip
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][204] ([i915#15102] / [i915#3458]) +3 other tests skip
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite:
- shard-rkl: NOTRUN -> [SKIP][205] ([i915#14544] / [i915#15102] / [i915#3023])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][206] ([i915#8708]) +4 other tests skip
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-render:
- shard-mtlp: NOTRUN -> [SKIP][207] ([i915#1825]) +3 other tests skip
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-tglu: NOTRUN -> [SKIP][208] +33 other tests skip
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-pgflip-blt:
- shard-dg2: NOTRUN -> [SKIP][209] ([i915#5354]) +5 other tests skip
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][210] ([i915#8708])
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-blt:
- shard-tglu-1: NOTRUN -> [SKIP][211] ([i915#15574]) +2 other tests skip
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-render:
- shard-dg2: NOTRUN -> [SKIP][212] ([i915#15574]) +2 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-render.html
- shard-rkl: NOTRUN -> [SKIP][213] ([i915#15574]) +3 other tests skip
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-render.html
- shard-tglu: NOTRUN -> [SKIP][214] ([i915#15574]) +1 other test skip
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-2/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-render.html
* igt@kms_joiner@basic-big-joiner:
- shard-rkl: NOTRUN -> [SKIP][215] ([i915#15460])
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_joiner@basic-big-joiner.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-tglu: NOTRUN -> [SKIP][216] ([i915#13688])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-6/igt@kms_joiner@basic-max-non-joiner.html
- shard-mtlp: NOTRUN -> [SKIP][217] ([i915#13688])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-3/igt@kms_joiner@basic-max-non-joiner.html
- shard-dg2: NOTRUN -> [SKIP][218] ([i915#13688])
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@kms_joiner@basic-max-non-joiner.html
- shard-rkl: NOTRUN -> [SKIP][219] ([i915#13688])
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_joiner@basic-max-non-joiner.html
- shard-dg1: NOTRUN -> [SKIP][220] ([i915#13688])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][221] ([i915#15459])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes:
- shard-dg1: NOTRUN -> [SKIP][222] +10 other tests skip
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [INCOMPLETE][223] ([i915#12756] / [i915#13409] / [i915#13476]) +1 other test incomplete
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk9/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier:
- shard-tglu: NOTRUN -> [SKIP][224] ([i915#15608] / [i915#8825]) +5 other tests skip
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-4/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier.html
* igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-b-plane-7:
- shard-tglu-1: NOTRUN -> [SKIP][225] ([i915#15608] / [i915#8825]) +3 other tests skip
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-b-plane-7.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier@pipe-a-plane-0:
- shard-tglu-1: NOTRUN -> [SKIP][226] ([i915#15608]) +19 other tests skip
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier:
- shard-rkl: NOTRUN -> [SKIP][227] ([i915#15608] / [i915#8825]) +5 other tests skip
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html
- shard-dg1: NOTRUN -> [SKIP][228] ([i915#15608] / [i915#8825]) +1 other test skip
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-16/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier@pipe-b-plane-0:
- shard-rkl: NOTRUN -> [SKIP][229] ([i915#15608]) +18 other tests skip
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier@pipe-b-plane-0.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping:
- shard-rkl: NOTRUN -> [SKIP][230] ([i915#15608] / [i915#15609] / [i915#8825])
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping.html
- shard-tglu-1: NOTRUN -> [SKIP][231] ([i915#15608] / [i915#15609] / [i915#8825])
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-a-plane-5:
- shard-rkl: NOTRUN -> [SKIP][232] ([i915#15609]) +6 other tests skip
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-a-plane-5.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-a-plane-7:
- shard-tglu-1: NOTRUN -> [SKIP][233] ([i915#15609])
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-a-plane-7.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-b-plane-5:
- shard-rkl: NOTRUN -> [SKIP][234] ([i915#15609] / [i915#8825])
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-b-plane-7:
- shard-tglu-1: NOTRUN -> [SKIP][235] ([i915#15609] / [i915#8825])
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping@pipe-b-plane-7.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping:
- shard-dg1: NOTRUN -> [SKIP][236] ([i915#15608] / [i915#15609] / [i915#8825])
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping.html
- shard-dg2: NOTRUN -> [SKIP][237] ([i915#15608] / [i915#15609] / [i915#8825])
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-a-plane-0:
- shard-dg2: NOTRUN -> [SKIP][238] ([i915#15608]) +3 other tests skip
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-a-plane-5:
- shard-dg2: NOTRUN -> [SKIP][239] ([i915#15609])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-a-plane-5.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-a-plane-7:
- shard-dg1: NOTRUN -> [SKIP][240] ([i915#15609])
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-a-plane-7.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-3:
- shard-dg1: NOTRUN -> [SKIP][241] ([i915#15608]) +12 other tests skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-3.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-5:
- shard-dg2: NOTRUN -> [SKIP][242] ([i915#15609] / [i915#8825])
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-7:
- shard-dg1: NOTRUN -> [SKIP][243] ([i915#15609] / [i915#8825])
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping@pipe-b-plane-7.html
* igt@kms_plane@pixel-format-yf-tiled-modifier@pipe-a-plane-7:
- shard-tglu: NOTRUN -> [SKIP][244] ([i915#15608]) +22 other tests skip
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-4/igt@kms_plane@pixel-format-yf-tiled-modifier@pipe-a-plane-7.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-rkl: NOTRUN -> [SKIP][245] ([i915#13958])
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_plane_multiple@2x-tiling-4.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-dg2: NOTRUN -> [SKIP][246] ([i915#13958])
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_plane_multiple@2x-tiling-none.html
- shard-dg1: NOTRUN -> [SKIP][247] ([i915#13958])
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c:
- shard-tglu: NOTRUN -> [SKIP][248] ([i915#15329]) +9 other tests skip
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
- shard-mtlp: NOTRUN -> [SKIP][249] ([i915#15329] / [i915#6953])
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b:
- shard-mtlp: NOTRUN -> [SKIP][250] ([i915#15329]) +3 other tests skip
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
* igt@kms_pm_backlight@bad-brightness:
- shard-tglu-1: NOTRUN -> [SKIP][251] ([i915#9812])
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_pm_backlight@bad-brightness.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-rkl: NOTRUN -> [SKIP][252] ([i915#5354]) +1 other test skip
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc6-psr:
- shard-tglu: NOTRUN -> [SKIP][253] ([i915#9685])
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-6/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-rkl: [PASS][254] -> [SKIP][255] ([i915#15073]) +2 other tests skip
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-5/igt@kms_pm_rpm@dpms-lpsp.html
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-dg2: NOTRUN -> [SKIP][256] ([i915#15073])
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
- shard-dg1: NOTRUN -> [SKIP][257] ([i915#15073])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-dg1: [PASS][258] -> [SKIP][259] ([i915#15073]) +2 other tests skip
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-14/igt@kms_pm_rpm@modeset-lpsp-stress.html
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-13/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_pm_rpm@package-g7:
- shard-tglu-1: NOTRUN -> [SKIP][260] ([i915#15403])
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_pm_rpm@package-g7.html
* igt@kms_pm_rpm@system-suspend-idle:
- shard-dg2: [PASS][261] -> [INCOMPLETE][262] ([i915#14419])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-4/igt@kms_pm_rpm@system-suspend-idle.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-6/igt@kms_pm_rpm@system-suspend-idle.html
* igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
- shard-rkl: NOTRUN -> [SKIP][263] ([i915#11520]) +9 other tests skip
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
- shard-glk: NOTRUN -> [SKIP][264] ([i915#11520]) +7 other tests skip
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk2/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
- shard-dg2: NOTRUN -> [SKIP][265] ([i915#11520]) +2 other tests skip
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-6/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
- shard-snb: NOTRUN -> [SKIP][266] ([i915#11520]) +1 other test skip
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-snb4/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
- shard-tglu: NOTRUN -> [SKIP][267] ([i915#11520]) +3 other tests skip
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-2/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
- shard-mtlp: NOTRUN -> [SKIP][268] ([i915#12316])
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-3/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
* igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf:
- shard-glk10: NOTRUN -> [SKIP][269] ([i915#11520]) +1 other test skip
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk10/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
- shard-tglu-1: NOTRUN -> [SKIP][270] ([i915#11520]) +3 other tests skip
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
- shard-dg1: NOTRUN -> [SKIP][271] ([i915#11520]) +2 other tests skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-13/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-dg2: NOTRUN -> [SKIP][272] ([i915#9683])
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-1/igt@kms_psr2_su@frontbuffer-xrgb8888.html
- shard-tglu-1: NOTRUN -> [SKIP][273] ([i915#9683])
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_psr2_su@frontbuffer-xrgb8888.html
- shard-dg1: NOTRUN -> [SKIP][274] ([i915#9683])
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@kms_psr2_su@frontbuffer-xrgb8888.html
- shard-mtlp: NOTRUN -> [SKIP][275] ([i915#4348])
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-4/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-rkl: NOTRUN -> [SKIP][276] ([i915#9683]) +1 other test skip
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@fbc-psr-basic:
- shard-dg2: NOTRUN -> [SKIP][277] ([i915#1072] / [i915#9732]) +9 other tests skip
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-6/igt@kms_psr@fbc-psr-basic.html
* igt@kms_psr@fbc-psr-cursor-plane-onoff:
- shard-mtlp: NOTRUN -> [SKIP][278] ([i915#9688]) +3 other tests skip
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-4/igt@kms_psr@fbc-psr-cursor-plane-onoff.html
* igt@kms_psr@pr-cursor-plane-onoff:
- shard-dg1: NOTRUN -> [SKIP][279] ([i915#1072] / [i915#9732]) +9 other tests skip
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@kms_psr@pr-cursor-plane-onoff.html
* igt@kms_psr@psr-sprite-mmap-cpu:
- shard-tglu-1: NOTRUN -> [SKIP][280] ([i915#9732]) +9 other tests skip
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_psr@psr-sprite-mmap-cpu.html
* igt@kms_psr@psr2-cursor-plane-onoff:
- shard-tglu: NOTRUN -> [SKIP][281] ([i915#9732]) +12 other tests skip
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-7/igt@kms_psr@psr2-cursor-plane-onoff.html
* igt@kms_psr@psr2-primary-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][282] ([i915#1072] / [i915#9732]) +20 other tests skip
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_psr@psr2-primary-mmap-gtt.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-rkl: NOTRUN -> [SKIP][283] ([i915#14544] / [i915#5289])
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
- shard-dg1: NOTRUN -> [SKIP][284] ([i915#5289])
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
- shard-tglu: NOTRUN -> [SKIP][285] ([i915#5289])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
- shard-mtlp: NOTRUN -> [SKIP][286] ([i915#5289])
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
- shard-dg2: NOTRUN -> [SKIP][287] ([i915#5190])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-rkl: NOTRUN -> [SKIP][288] ([i915#5289]) +2 other tests skip
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_rotation_crc@sprite-rotation-90:
- shard-dg2: NOTRUN -> [SKIP][289] ([i915#12755])
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-5/igt@kms_rotation_crc@sprite-rotation-90.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-tglu: NOTRUN -> [SKIP][290] ([i915#3555]) +2 other tests skip
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-10/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-tglu: NOTRUN -> [SKIP][291] ([i915#8623])
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-3/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
- shard-glk: NOTRUN -> [INCOMPLETE][292] ([i915#12276])
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk5/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
* igt@kms_vrr@flip-basic:
- shard-dg2: NOTRUN -> [SKIP][293] ([i915#15243] / [i915#3555]) +1 other test skip
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-7/igt@kms_vrr@flip-basic.html
* igt@kms_vrr@flipline:
- shard-mtlp: NOTRUN -> [SKIP][294] ([i915#3555] / [i915#8808])
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-6/igt@kms_vrr@flipline.html
- shard-rkl: NOTRUN -> [SKIP][295] ([i915#15243] / [i915#3555])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@kms_vrr@flipline.html
* igt@kms_vrr@max-min:
- shard-rkl: NOTRUN -> [SKIP][296] ([i915#9906])
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_vrr@max-min.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-dg2: NOTRUN -> [SKIP][297] ([i915#9906])
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-4/igt@kms_vrr@seamless-rr-switch-vrr.html
- shard-tglu-1: NOTRUN -> [SKIP][298] ([i915#9906])
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-vrr.html
- shard-dg1: NOTRUN -> [SKIP][299] ([i915#9906])
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@perf@unprivileged-single-ctx-counters:
- shard-rkl: NOTRUN -> [SKIP][300] ([i915#2433])
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@perf@unprivileged-single-ctx-counters.html
* igt@perf_pmu@event-wait:
- shard-mtlp: NOTRUN -> [SKIP][301] ([i915#8807])
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-6/igt@perf_pmu@event-wait.html
* igt@perf_pmu@event-wait@rcs0:
- shard-mtlp: NOTRUN -> [SKIP][302] ([i915#3555] / [i915#8807])
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-6/igt@perf_pmu@event-wait@rcs0.html
* igt@perf_pmu@rc6-all-gts:
- shard-tglu-1: NOTRUN -> [SKIP][303] ([i915#8516])
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@perf_pmu@rc6-all-gts.html
* igt@sriov_basic@enable-vfs-autoprobe-off:
- shard-dg2: NOTRUN -> [SKIP][304] ([i915#9917])
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@sriov_basic@enable-vfs-autoprobe-off.html
- shard-dg1: NOTRUN -> [SKIP][305] ([i915#9917])
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-12/igt@sriov_basic@enable-vfs-autoprobe-off.html
* igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-7:
- shard-tglu-1: NOTRUN -> [FAIL][306] ([i915#12910]) +9 other tests fail
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-1/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-7.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-tglu: NOTRUN -> [FAIL][307] ([i915#12910])
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-4/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
#### Possible fixes ####
* igt@gem_eio@hibernate:
- shard-rkl: [ABORT][308] ([i915#7975]) -> [PASS][309]
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-1/igt@gem_eio@hibernate.html
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@gem_eio@hibernate.html
* igt@gem_exec_suspend@basic-s3:
- shard-rkl: [INCOMPLETE][310] ([i915#13356]) -> [PASS][311] +1 other test pass
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@gem_exec_suspend@basic-s3.html
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@gem_exec_suspend@basic-s3.html
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-tglu: [WARN][312] ([i915#13790] / [i915#2681]) -> [PASS][313] +1 other test pass
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-fence.html
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-mtlp: [FAIL][314] ([i915#5138]) -> [PASS][315] +1 other test pass
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-dg1: [DMESG-WARN][316] ([i915#4423]) -> [PASS][317] +2 other tests pass
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-12/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-14/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_color@deep-color:
- shard-rkl: [SKIP][318] ([i915#12655] / [i915#3555]) -> [PASS][319]
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-4/igt@kms_color@deep-color.html
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@kms_color@deep-color.html
* igt@kms_cursor_crc@cursor-random-256x85:
- shard-rkl: [FAIL][320] ([i915#13566]) -> [PASS][321] +2 other tests pass
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-2/igt@kms_cursor_crc@cursor-random-256x85.html
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_cursor_crc@cursor-random-256x85.html
* igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1:
- shard-tglu: [FAIL][322] ([i915#13566]) -> [PASS][323] +1 other test pass
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-tglu-5/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1.html
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-tglu-10/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-dg2: [FAIL][324] ([i915#4767]) -> [PASS][325]
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-5/igt@kms_fbcon_fbt@fbc-suspend.html
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-snb: [TIMEOUT][326] ([i915#14033] / [i915#14350]) -> [PASS][327]
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-snb6/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-snb7/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1:
- shard-snb: [TIMEOUT][328] ([i915#14033]) -> [PASS][329]
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-snb6/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-snb7/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html
* igt@kms_force_connector_basic@prune-stale-modes:
- shard-mtlp: [SKIP][330] -> [PASS][331] +1 other test pass
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-mtlp-1/igt@kms_force_connector_basic@prune-stale-modes.html
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-rkl: [SKIP][332] ([i915#3555] / [i915#8228]) -> [PASS][333] +1 other test pass
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_hdr@invalid-metadata-sizes.html
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a:
- shard-rkl: [INCOMPLETE][334] ([i915#14412]) -> [PASS][335] +1 other test pass
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-3/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
* igt@kms_plane_multiple@tiling-4@pipe-a-edp-1:
- shard-mtlp: [FAIL][336] -> [PASS][337] +1 other test pass
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-mtlp-6/igt@kms_plane_multiple@tiling-4@pipe-a-edp-1.html
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-mtlp-8/igt@kms_plane_multiple@tiling-4@pipe-a-edp-1.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-dg1: [SKIP][338] ([i915#15073]) -> [PASS][339]
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-13/igt@kms_pm_rpm@dpms-lpsp.html
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-14/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-rkl: [SKIP][340] ([i915#15073]) -> [PASS][341] +1 other test pass
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp.html
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-rkl: [SKIP][342] ([i915#14544] / [i915#15073]) -> [PASS][343]
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1:
- shard-glk: [INCOMPLETE][344] ([i915#12276]) -> [PASS][345]
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-glk5/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-glk5/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html
* igt@kms_vrr@negative-basic:
- shard-dg2: [SKIP][346] ([i915#3555] / [i915#9906]) -> [PASS][347]
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-1/igt@kms_vrr@negative-basic.html
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_vrr@negative-basic.html
* igt@perf_pmu@rc6-suspend:
- shard-rkl: [ABORT][348] ([i915#15131]) -> [PASS][349]
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-1/igt@perf_pmu@rc6-suspend.html
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@perf_pmu@rc6-suspend.html
#### Warnings ####
* igt@api_intel_bb@blit-reloc-keep-cache:
- shard-rkl: [SKIP][350] ([i915#14544] / [i915#8411]) -> [SKIP][351] ([i915#8411])
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@api_intel_bb@blit-reloc-keep-cache.html
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@api_intel_bb@blit-reloc-keep-cache.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-rkl: [SKIP][352] ([i915#3555] / [i915#9323]) -> [SKIP][353] ([i915#14544] / [i915#3555] / [i915#9323]) +1 other test skip
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-2/igt@gem_ccs@ctrl-surf-copy.html
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_ccs@large-ctrl-surf-copy:
- shard-snb: [INCOMPLETE][354] -> [SKIP][355]
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-snb5/igt@gem_ccs@large-ctrl-surf-copy.html
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-snb1/igt@gem_ccs@large-ctrl-surf-copy.html
* igt@gem_ccs@suspend-resume:
- shard-rkl: [SKIP][356] ([i915#14544] / [i915#9323]) -> [SKIP][357] ([i915#9323]) +1 other test skip
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@gem_ccs@suspend-resume.html
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@gem_ccs@suspend-resume.html
* igt@gem_exec_balancer@parallel-balancer:
- shard-rkl: [SKIP][358] ([i915#4525]) -> [SKIP][359] ([i915#14544] / [i915#4525]) +1 other test skip
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-3/igt@gem_exec_balancer@parallel-balancer.html
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gem_exec_balancer@parallel-balancer.html
* igt@gem_exec_reloc@basic-wc-active:
- shard-rkl: [SKIP][360] ([i915#3281]) -> [SKIP][361] ([i915#14544] / [i915#3281]) +1 other test skip
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@gem_exec_reloc@basic-wc-active.html
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gem_exec_reloc@basic-wc-active.html
* igt@gem_exec_reloc@basic-write-read-active:
- shard-rkl: [SKIP][362] ([i915#14544] / [i915#3281]) -> [SKIP][363] ([i915#3281]) +4 other tests skip
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@gem_exec_reloc@basic-write-read-active.html
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@gem_exec_reloc@basic-write-read-active.html
* igt@gem_lmem_swapping@parallel-random-engines:
- shard-rkl: [SKIP][364] ([i915#14544] / [i915#4613]) -> [SKIP][365] ([i915#4613])
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@gem_lmem_swapping@parallel-random-engines.html
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_lmem_swapping@verify-random:
- shard-rkl: [SKIP][366] ([i915#4613]) -> [SKIP][367] ([i915#14544] / [i915#4613]) +1 other test skip
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-2/igt@gem_lmem_swapping@verify-random.html
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gem_lmem_swapping@verify-random.html
* igt@gem_partial_pwrite_pread@reads-uncached:
- shard-rkl: [SKIP][368] ([i915#14544] / [i915#3282]) -> [SKIP][369] ([i915#3282])
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@gem_partial_pwrite_pread@reads-uncached.html
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@gem_partial_pwrite_pread@reads-uncached.html
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-rkl: [SKIP][370] ([i915#14544] / [i915#3297]) -> [SKIP][371] ([i915#3297])
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@gem_userptr_blits@dmabuf-unsync.html
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gen9_exec_parse@basic-rejected-ctx-param:
- shard-rkl: [SKIP][372] ([i915#14544] / [i915#2527]) -> [SKIP][373] ([i915#2527])
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@gen9_exec_parse@basic-rejected-ctx-param.html
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@gen9_exec_parse@basic-rejected-ctx-param.html
* igt@gen9_exec_parse@bb-chained:
- shard-rkl: [SKIP][374] ([i915#2527]) -> [SKIP][375] ([i915#14544] / [i915#2527])
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@gen9_exec_parse@bb-chained.html
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@gen9_exec_parse@bb-chained.html
* igt@i915_pm_rc6_residency@media-rc6-accuracy:
- shard-rkl: [SKIP][376] -> [SKIP][377] ([i915#14544]) +6 other tests skip
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-3/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
* igt@i915_query@test-query-geometry-subslices:
- shard-rkl: [SKIP][378] ([i915#5723]) -> [SKIP][379] ([i915#14544] / [i915#5723])
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-5/igt@i915_query@test-query-geometry-subslices.html
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@i915_query@test-query-geometry-subslices.html
* igt@i915_suspend@sysfs-reader:
- shard-rkl: [INCOMPLETE][380] ([i915#4817]) -> [ABORT][381] ([i915#15140])
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@i915_suspend@sysfs-reader.html
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@i915_suspend@sysfs-reader.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-rkl: [SKIP][382] ([i915#14544] / [i915#5286]) -> [SKIP][383] ([i915#5286]) +2 other tests skip
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-270:
- shard-rkl: [SKIP][384] ([i915#3638]) -> [SKIP][385] ([i915#14544] / [i915#3638])
[384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-5/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
[385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-270:
- shard-dg1: [SKIP][386] ([i915#3638] / [i915#4423]) -> [SKIP][387] ([i915#3638])
[386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-12/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
[387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-13/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
* igt@kms_ccs@bad-rotation-90-yf-tiled-ccs:
- shard-rkl: [SKIP][388] ([i915#14098] / [i915#6095]) -> [SKIP][389] ([i915#14098] / [i915#14544] / [i915#6095]) +7 other tests skip
[388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_ccs@bad-rotation-90-yf-tiled-ccs.html
[389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_ccs@bad-rotation-90-yf-tiled-ccs.html
* igt@kms_ccs@bad-rotation-90-yf-tiled-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][390] ([i915#6095]) -> [SKIP][391] ([i915#14544] / [i915#6095]) +5 other tests skip
[390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_ccs@bad-rotation-90-yf-tiled-ccs@pipe-b-hdmi-a-2.html
[391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_ccs@bad-rotation-90-yf-tiled-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2:
- shard-rkl: [SKIP][392] ([i915#14544] / [i915#6095]) -> [SKIP][393] ([i915#6095]) +6 other tests skip
[392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html
[393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: [SKIP][394] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][395] ([i915#14098] / [i915#6095]) +12 other tests skip
[394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html
[395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_chamelium_frames@dp-crc-multiple:
- shard-rkl: [SKIP][396] ([i915#11151] / [i915#7828]) -> [SKIP][397] ([i915#11151] / [i915#14544] / [i915#7828]) +1 other test skip
[396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_chamelium_frames@dp-crc-multiple.html
[397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_chamelium_frames@dp-crc-multiple.html
* igt@kms_chamelium_frames@hdmi-crc-fast:
- shard-rkl: [SKIP][398] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][399] ([i915#11151] / [i915#7828]) +3 other tests skip
[398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_chamelium_frames@hdmi-crc-fast.html
[399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_chamelium_frames@hdmi-crc-fast.html
* igt@kms_content_protection@atomic-dpms-hdcp14:
- shard-rkl: [SKIP][400] ([i915#14544] / [i915#6944]) -> [SKIP][401] ([i915#6944]) +1 other test skip
[400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_content_protection@atomic-dpms-hdcp14.html
[401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@kms_content_protection@atomic-dpms-hdcp14.html
* igt@kms_content_protection@legacy:
- shard-dg2: [FAIL][402] ([i915#7173]) -> [SKIP][403] ([i915#6944] / [i915#7118] / [i915#9424])
[402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-11/igt@kms_content_protection@legacy.html
[403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-3/igt@kms_content_protection@legacy.html
- shard-rkl: [SKIP][404] ([i915#6944] / [i915#7118] / [i915#9424]) -> [SKIP][405] ([i915#14544] / [i915#6944] / [i915#7118] / [i915#9424])
[404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-2/igt@kms_content_protection@legacy.html
[405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@lic-type-1:
- shard-rkl: [SKIP][406] ([i915#14544] / [i915#6944] / [i915#9424]) -> [SKIP][407] ([i915#6944] / [i915#9424])
[406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_content_protection@lic-type-1.html
[407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_content_protection@lic-type-1.html
* igt@kms_cursor_crc@cursor-onscreen-32x10:
- shard-rkl: [SKIP][408] ([i915#14544] / [i915#3555]) -> [SKIP][409] ([i915#3555])
[408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-32x10.html
[409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-32x10.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x512:
- shard-rkl: [SKIP][410] ([i915#13049] / [i915#14544]) -> [SKIP][411] ([i915#13049])
[410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
[411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
- shard-rkl: [SKIP][412] ([i915#14544]) -> [SKIP][413] +8 other tests skip
[412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
[413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
* igt@kms_display_modes@extended-mode-basic:
- shard-rkl: [SKIP][414] ([i915#13691] / [i915#14544]) -> [SKIP][415] ([i915#13691])
[414]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_display_modes@extended-mode-basic.html
[415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-rkl: [SKIP][416] ([i915#14544] / [i915#3555] / [i915#3804]) -> [SKIP][417] ([i915#3555] / [i915#3804])
[416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dsc@dsc-with-formats:
- shard-rkl: [SKIP][418] ([i915#14544] / [i915#3555] / [i915#3840]) -> [SKIP][419] ([i915#3555] / [i915#3840])
[418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_dsc@dsc-with-formats.html
[419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@kms_dsc@dsc-with-formats.html
* igt@kms_flip@2x-blocking-wf_vblank:
- shard-rkl: [SKIP][420] ([i915#14544] / [i915#9934]) -> [SKIP][421] ([i915#9934]) +4 other tests skip
[420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_flip@2x-blocking-wf_vblank.html
[421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@kms_flip@2x-blocking-wf_vblank.html
* igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-rkl: [SKIP][422] ([i915#9934]) -> [SKIP][423] ([i915#14544] / [i915#9934]) +1 other test skip
[422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_flip@2x-flip-vs-expired-vblank.html
[423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_flip@2x-flip-vs-expired-vblank.html
* igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render:
- shard-rkl: [SKIP][424] ([i915#14544] / [i915#15574]) -> [SKIP][425] ([i915#15574])
[424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render.html
[425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite:
- shard-rkl: [SKIP][426] ([i915#15102]) -> [SKIP][427] ([i915#14544] / [i915#15102]) +1 other test skip
[426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite.html
[427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render:
- shard-rkl: [SKIP][428] ([i915#14544] / [i915#15102]) -> [SKIP][429] ([i915#15102])
[428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html
[429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move:
- shard-rkl: [SKIP][430] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][431] ([i915#15102] / [i915#3023]) +7 other tests skip
[430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html
[431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render:
- shard-dg1: [SKIP][432] -> [SKIP][433] ([i915#4423])
[432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
[433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-rkl: [SKIP][434] ([i915#14544] / [i915#9766]) -> [SKIP][435] ([i915#9766])
[434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
[435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
- shard-rkl: [SKIP][436] ([i915#15102] / [i915#3023]) -> [SKIP][437] ([i915#14544] / [i915#15102] / [i915#3023]) +3 other tests skip
[436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
[437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render:
- shard-rkl: [SKIP][438] ([i915#14544] / [i915#1825]) -> [SKIP][439] ([i915#1825]) +17 other tests skip
[438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render.html
[439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc:
- shard-dg1: [SKIP][440] ([i915#8708]) -> [SKIP][441] ([i915#4423] / [i915#8708])
[440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-14/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html
[441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt:
- shard-rkl: [SKIP][442] ([i915#1825]) -> [SKIP][443] ([i915#14544] / [i915#1825]) +8 other tests skip
[442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt.html
[443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu:
- shard-dg1: [SKIP][444] ([i915#4423]) -> [SKIP][445]
[444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html
[445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-mmap-wc:
- shard-dg1: [SKIP][446] ([i915#15574] / [i915#4423]) -> [SKIP][447] ([i915#15574])
[446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-mmap-wc.html
[447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary:
- shard-dg2: [SKIP][448] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][449] ([i915#15102] / [i915#3458]) +2 other tests skip
[448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
[449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
* igt@kms_hdr@brightness-with-hdr:
- shard-rkl: [SKIP][450] ([i915#12713]) -> [SKIP][451] ([i915#13331] / [i915#14544])
[450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-4/igt@kms_hdr@brightness-with-hdr.html
[451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_panel_fitting@legacy:
- shard-rkl: [SKIP][452] ([i915#14544] / [i915#6301]) -> [SKIP][453] ([i915#6301])
[452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_panel_fitting@legacy.html
[453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_panel_fitting@legacy.html
* igt@kms_pipe_stress@stress-xrgb8888-4tiled:
- shard-rkl: [SKIP][454] ([i915#14544] / [i915#14712]) -> [SKIP][455] ([i915#14712])
[454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
[455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
* igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping:
- shard-rkl: [SKIP][456] ([i915#15608] / [i915#15609] / [i915#8825]) -> [SKIP][457] ([i915#14544] / [i915#15608] / [i915#15609] / [i915#8825]) +1 other test skip
[456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-4/igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping.html
[457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier:
- shard-rkl: [SKIP][458] ([i915#14544] / [i915#15608] / [i915#8825]) -> [SKIP][459] ([i915#15608] / [i915#8825]) +1 other test skip
[458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier.html
[459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier@pipe-a-plane-0:
- shard-rkl: [SKIP][460] ([i915#14544] / [i915#15608]) -> [SKIP][461] ([i915#15608])
[460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier@pipe-a-plane-0.html
[461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-a-plane-0:
- shard-rkl: [SKIP][462] ([i915#15608]) -> [SKIP][463] ([i915#14544] / [i915#15608]) +2 other tests skip
[462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-2/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-a-plane-0.html
[463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-a-plane-0.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-b-plane-5:
- shard-rkl: [SKIP][464] ([i915#15608] / [i915#8825]) -> [SKIP][465] ([i915#14544] / [i915#15608] / [i915#8825]) +1 other test skip
[464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-2/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-b-plane-5.html
[465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-modifier@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping@pipe-b-plane-5:
- shard-rkl: [SKIP][466] ([i915#15609] / [i915#8825]) -> [SKIP][467] ([i915#14544] / [i915#15609] / [i915#8825]) +1 other test skip
[466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping@pipe-b-plane-5.html
[467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping@pipe-b-plane-5.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b:
- shard-rkl: [SKIP][468] ([i915#14544] / [i915#15329]) -> [SKIP][469] ([i915#15329]) +3 other tests skip
[468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
[469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation:
- shard-rkl: [SKIP][470] ([i915#15329] / [i915#3555]) -> [SKIP][471] ([i915#14544] / [i915#15329] / [i915#3555])
[470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html
[471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b:
- shard-rkl: [SKIP][472] ([i915#15329]) -> [SKIP][473] ([i915#14544] / [i915#15329]) +2 other tests skip
[472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b.html
[473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-rkl: [SKIP][474] ([i915#14544] / [i915#3828]) -> [SKIP][475] ([i915#3828])
[474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_pm_dc@dc5-retention-flops.html
[475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-7/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-rkl: [SKIP][476] ([i915#15073]) -> [SKIP][477] ([i915#14544] / [i915#15073])
[476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_pm_rpm@modeset-lpsp-stress.html
[477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf:
- shard-dg1: [SKIP][478] ([i915#11520]) -> [SKIP][479] ([i915#11520] / [i915#4423])
[478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-dg1-17/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf.html
[479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-dg1-17/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
- shard-rkl: [SKIP][480] ([i915#11520] / [i915#14544]) -> [SKIP][481] ([i915#11520]) +2 other tests skip
[480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html
[481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-2/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-sf:
- shard-rkl: [SKIP][482] ([i915#11520]) -> [SKIP][483] ([i915#11520] / [i915#14544]) +1 other test skip
[482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-2/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-sf.html
[483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_su@page_flip-p010:
- shard-rkl: [SKIP][484] ([i915#9683]) -> [SKIP][485] ([i915#14544] / [i915#9683])
[484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-3/igt@kms_psr2_su@page_flip-p010.html
[485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr@fbc-psr-cursor-blt:
- shard-rkl: [SKIP][486] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][487] ([i915#1072] / [i915#9732]) +9 other tests skip
[486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_psr@fbc-psr-cursor-blt.html
[487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-3/igt@kms_psr@fbc-psr-cursor-blt.html
* igt@kms_psr@psr-sprite-render:
- shard-rkl: [SKIP][488] ([i915#1072] / [i915#9732]) -> [SKIP][489] ([i915#1072] / [i915#14544] / [i915#9732]) +5 other tests skip
[488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-4/igt@kms_psr@psr-sprite-render.html
[489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_psr@psr-sprite-render.html
* igt@kms_scaling_modes@scaling-mode-center:
- shard-rkl: [SKIP][490] ([i915#3555]) -> [SKIP][491] ([i915#14544] / [i915#3555]) +1 other test skip
[490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-7/igt@kms_scaling_modes@scaling-mode-center.html
[491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-6/igt@kms_scaling_modes@scaling-mode-center.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-rkl: [SKIP][492] ([i915#14544] / [i915#8623]) -> [SKIP][493] ([i915#8623])
[492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@kms_tiled_display@basic-test-pattern.html
[493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-5/igt@kms_tiled_display@basic-test-pattern.html
* igt@perf@gen8-unprivileged-single-ctx-counters:
- shard-rkl: [SKIP][494] ([i915#14544] / [i915#2436]) -> [SKIP][495] ([i915#2436])
[494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@perf@gen8-unprivileged-single-ctx-counters.html
[495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-4/igt@perf@gen8-unprivileged-single-ctx-counters.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-rkl: [SKIP][496] ([i915#14544] / [i915#9917]) -> [SKIP][497] ([i915#9917])
[496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8736/shard-rkl-6/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
[497]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/shard-rkl-8/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
[i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
[i915#11814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11814
[i915#11815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11815
[i915#12193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12193
[i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
[i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
[i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
[i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
[i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
[i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
[i915#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756
[i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
[i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
[i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#13331]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13331
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13363]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13363
[i915#13390]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13390
[i915#13409]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13409
[i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476
[i915#13562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13562
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13688
[i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691
[i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
[i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
[i915#13809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13809
[i915#13820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13820
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[i915#14033]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14033
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14350]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14350
[i915#14412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14412
[i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14586
[i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
[i915#14809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14809
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15095
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
[i915#15140]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15140
[i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
[i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
[i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
[i915#15342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15342
[i915#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403
[i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
[i915#15460]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15460
[i915#15479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15479
[i915#15574]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15574
[i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
[i915#15608]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15608
[i915#15609]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15609
[i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
[i915#15645]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15645
[i915#15656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15656
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
[i915#2436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2436
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
[i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
[i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#3936]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3936
[i915#4036]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4036
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4348
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4565
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4767
[i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8807]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8807
[i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808
[i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
[i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
[i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
[i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8736 -> IGTPW_14492
CI-20190529: 20190529
CI_DRM_17930: 241994730989320c926da9f2d0a5ec80b48f993d @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14492: 14492
IGT_8736: 8736
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14492/index.html
[-- Attachment #2: Type: text/html, Size: 171099 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: ✗ Xe.CI.FULL: failure for PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
2026-02-05 5:02 ` ✗ Xe.CI.FULL: failure " Patchwork
@ 2026-02-05 10:13 ` Bernatowicz, Marcin
0 siblings, 0 replies; 23+ messages in thread
From: Bernatowicz, Marcin @ 2026-02-05 10:13 UTC (permalink / raw)
To: igt-dev, lgci.bug.filing
On 2/5/2026 6:02 AM, Patchwork wrote:
> == Series Details ==
>
> Series: PCI driver helpers and xe-vfio-pci FLR improvement (rev3)
> URL : https://patchwork.freedesktop.org/series/160140/
> State : failure
>
> == Summary ==
>
> CI Bug Log - changes from XEIGT_8736_FULL -> XEIGTPW_14492_FULL
> ====================================================
>
> Summary
> -------
>
> **FAILURE**
>
> Serious unknown changes coming with XEIGTPW_14492_FULL absolutely need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the changes
> introduced in XEIGTPW_14492_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 (2 -> 2)
> ------------------------------
>
> No changes in participating hosts
>
> Possible new issues
> -------------------
>
> Here are the unknown changes that may have been introduced in XEIGTPW_14492_FULL:
>
> ### IGT changes ###
>
> #### Possible regressions ####
>
> * igt@kms_async_flips@async-flip-dpms:
> - shard-lnl: [PASS][1] -> [SKIP][2] +3 other tests skip
> [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-5/igt@kms_async_flips@async-flip-dpms.html
> [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@kms_async_flips@async-flip-dpms.html
>
> * igt@xe_configfs@ctx-restore-post-bb:
> - shard-lnl: [PASS][3] -> [DMESG-WARN][4] +3 other tests dmesg-warn
> [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8736/shard-lnl-1/igt@xe_configfs@ctx-restore-post-bb.html
> [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/shard-lnl-6/igt@xe_configfs@ctx-restore-post-bb.html
Not related to the change.
---
marcin
[...]
>
> Known issues
> ------------
[...]
>
> Build changes
> -------------
>
> * IGT: IGT_8736 -> IGTPW_14492
>
> IGTPW_14492: 14492
> IGT_8736: 8736
> xe-4497-241994730989320c926da9f2d0a5ec80b48f993d: 241994730989320c926da9f2d0a5ec80b48f993d
>
> == Logs ==
>
> For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14492/index.html
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers
2026-02-04 16:32 ` [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers Marcin Bernatowicz
@ 2026-02-09 10:16 ` Laguna, Lukasz
2026-02-10 10:19 ` Bernatowicz, Marcin
0 siblings, 1 reply; 23+ messages in thread
From: Laguna, Lukasz @ 2026-02-09 10:16 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Adam Miszczak, Jakub Kolakowski, Kamil Konieczny
On 2/4/2026 17:32, Marcin Bernatowicz wrote:
> Add generic helpers for controlling PCI driver binding via sysfs.
>
> The new APIs provide driver- and device-centric primitives for:
> - setting and clearing driver_override
> - triggering PCI driver reprobe
> - binding and unbinding devices to a specific PCI driver
> - query the currently bound PCI driver
>
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
>
> ---
> v2:
> - Add igt_pci_get_bound_driver_name() to query the currently bound PCI
> driver via the /sys/bus/pci/devices/<BDF>/driver symlink.
> - Extend igt_pci_bind_driver_override() and igt_pci_unbind_driver_override()
> with a timeout_ms parameter so callers can wait for bind/unbind to
> actually complete, instead of relying on drivers_probe write success.
>
> ---
> lib/igt_pci.c | 351 ++++++++++++++++++++++++++++++++++++++++++++++++++
> lib/igt_pci.h | 13 +-
> 2 files changed, 363 insertions(+), 1 deletion(-)
>
> diff --git a/lib/igt_pci.c b/lib/igt_pci.c
> index 61aaf939d..80aaf07c5 100644
> --- a/lib/igt_pci.c
> +++ b/lib/igt_pci.c
> @@ -3,9 +3,18 @@
> * Copyright © 2022 Intel Corporation
> */
>
> +#include <ctype.h>
> +#include <dirent.h>
> +#include <errno.h>
> +#include <fcntl.h>
> +#include <limits.h>
> +#include <string.h>
> +#include <unistd.h>
> #include <pciaccess.h>
> +#include "igt_aux.h"
> #include "igt_core.h"
> #include "igt_pci.h"
> +#include "igt_sysfs.h"
>
> static int find_pci_cap_offset_at(struct pci_device *dev, enum pci_cap_id cap_id,
> int start_offset)
> @@ -51,3 +60,345 @@ int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id)
> {
> return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
> }
> +
> +static int open_pci_driver_dir(const char *driver)
> +{
> + char path[PATH_MAX];
> +
> + snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
> + return open(path, O_RDONLY | O_CLOEXEC);
> +}
> +
> +/**
> + * igt_pci_device_unbind:
> + * @pci_slot: BDF like "0000:01:00.0"
> + *
> + * Unbind @pci_slot from its currently bound driver, if any.
> + * Returns 0 on success, or a negative errno-like value.
> + */
> +int igt_pci_device_unbind(const char *pci_slot)
> +{
> + char path[PATH_MAX];
> + int dirfd;
> + int ret;
> +
> + snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver", pci_slot);
> + dirfd = open(path, O_RDONLY | O_CLOEXEC);
> + if (dirfd < 0)
> + return 0; /* already unbound */
> +
> + ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
> + close(dirfd);
> +
> + return ret;
> +}
> +
> +/**
> + * igt_pci_driver_bind:
> + * @driver: PCI driver name under /sys/bus/pci/drivers/<driver>
> + * @pci_slot: device to bind
> + *
> + * Bind @pci_slot to @driver. Driver must be present/loaded.
> + * Returns 0 on success, or a negative errno-like value.
> + */
> +int igt_pci_driver_bind(const char *driver, const char *pci_slot)
> +{
> + int dirfd, ret;
> +
> + dirfd = open_pci_driver_dir(driver);
> + if (dirfd < 0)
> + return -errno;
> +
> + ret = igt_sysfs_set(dirfd, "bind", pci_slot) ? 0 : -errno;
> + close(dirfd);
> +
> + return ret;
> +}
> +
> +/**
> + * igt_pci_driver_unbind:
> + * @driver: PCI driver name
> + * @pci_slot: device to unbind
> + *
> + * Unbind @pci_slot from @driver.
> + * Returns 0 on success, or a negative errno-like value.
> + */
> +int igt_pci_driver_unbind(const char *driver, const char *pci_slot)
> +{
> + int dirfd, ret;
> +
> + dirfd = open_pci_driver_dir(driver);
> + if (dirfd < 0)
> + return -errno;
> +
> + ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
> + close(dirfd);
> +
> + return ret;
> +}
> +
> +/**
> + * igt_pci_driver_unbind_all:
> + * @driver: PCI driver name
> + *
> + * Unbind all devices currently bound to @driver.
> + * Returns 0 on success, or a negative errno-like value.
> + */
> +int igt_pci_driver_unbind_all(const char *driver)
> +{
> + char path[PATH_MAX];
> + DIR *dir;
> + struct dirent *de;
> + int driver_fd;
> +
> + snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
> + dir = opendir(path);
> + if (!dir)
> + return -errno;
> +
> + driver_fd = dirfd(dir);
> +
> + while ((de = readdir(dir))) {
> + bool ok;
> +
> + /* BDF symlinks are like "0000:01:00.0" and start with digit */
> + if (de->d_type != DT_LNK || !isdigit(de->d_name[0]))
> + continue;
> +
> + ok = igt_sysfs_set(driver_fd, "unbind", de->d_name);
> + if (!ok) {
> + int err = -errno;
> +
> + closedir(dir);
> + return err;
> + }
> + }
> +
> + closedir(dir);
> + return 0;
> +}
> +
> +/**
> + * igt_pci_set_driver_override:
> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
> + * @driver: PCI driver name to force-bind (e.g. "xe-vfio-pci"), or
> + * NULL / empty string to clear an existing override
> + *
> + * Set or clear the PCI driver_override for @pci_slot via sysfs.
> + *
> + * This does not trigger driver reprobe by itself. Call
> + * igt_pci_probe_drivers() afterwards to apply the override.
> + *
> + * Returns: 0 on success, negative errno on failure.
> + */
> +int igt_pci_set_driver_override(const char *pci_slot, const char *driver)
> +{
> + char devpath[PATH_MAX];
> + int dev;
> + bool ok;
> +
> + snprintf(devpath, sizeof(devpath), "/sys/bus/pci/devices/%s", pci_slot);
> + dev = open(devpath, O_DIRECTORY | O_RDONLY);
> + if (dev < 0)
> + return -errno;
> +
> + ok = igt_sysfs_set(dev, "driver_override", driver ? driver : "");
> + close(dev);
> +
> + return ok ? 0 : -errno;
> +}
> +
> +/**
> + * igt_pci_probe_drivers:
> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
> + *
> + * Trigger PCI driver reprobe for @pci_slot by writing to
> + * /sys/bus/pci/drivers_probe.
> + *
> + * This causes the kernel to attempt binding the device, honoring any
> + * driver_override previously set.
> + *
> + * Note: a successful write only means the reprobe request was accepted.
> + * It does not guarantee that a driver actually bound to the device.
> + *
> + * Returns: 0 on success, negative errno on failure.
> + */
> +int igt_pci_probe_drivers(const char *pci_slot)
> +{
> + int pci;
> + bool ok;
> +
> + pci = open("/sys/bus/pci", O_DIRECTORY | O_RDONLY);
> + if (pci < 0)
> + return -errno;
> +
> + ok = igt_sysfs_set(pci, "drivers_probe", pci_slot);
> + close(pci);
> +
> + return ok ? 0 : -errno;
> +}
> +
> +/**
> + * igt_pci_get_bound_driver_name:
> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
> + * @driver: destination buffer for the bound driver name
> + * @driver_len: size of @driver in bytes
> + *
> + * Read the currently bound PCI driver name for @pci_slot by inspecting the
> + * /sys/bus/pci/devices/<BDF>/driver symlink.
> + *
> + * Return values:
> + * 1: device is bound and @driver contains the driver name
> + * 0: device is unbound (no driver symlink)
> + * <0: negative errno-like value on error
> + */
> +int igt_pci_get_bound_driver_name(const char *pci_slot, char *driver, size_t driver_len)
> +{
> + char path[PATH_MAX];
> + char link[PATH_MAX];
> + const char *base;
> + ssize_t len;
> +
> + if (driver && driver_len)
> + driver[0] = '\0';
> +
> + snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver", pci_slot);
> + len = readlink(path, link, sizeof(link) - 1);
> + if (len < 0) {
> + if (errno == ENOENT)
> + return 0; /* unbound */
> +
> + return -errno;
> + }
> +
> + link[len] = '\0';
> + base = strrchr(link, '/');
> + base = base ? base + 1 : link;
> +
> + if (driver && driver_len)
You can check the input params at the beginning of the function and
return error if they are invalid.
> + snprintf(driver, driver_len, "%s", base);
> +
> + return 1;
> +}
> +
> +/**
> + * igt_pci_bind_driver_override:
> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
> + * @driver: PCI driver name to bind (must not be NULL or empty)
> + * @timeout_ms: how long to wait for the device to become bound.
> + * If 0, don't wait (best-effort immediate check only).
> + *
> + * Bind @pci_slot to @driver using the driver_override mechanism.
> + *
> + * This helper sets driver_override and immediately triggers driver
> + * reprobe so that the device is bound to the requested driver.
> + *
> + * Returns: 0 on success, negative errno-like value on failure.
> + * A reprobe request can be accepted by sysfs while the driver probe
> + * fails later; this helper verifies the device ended up bound.
> + *
> + * On bind failure, returns a negative error and the failure reason may
> + * also be logged to dmesg by the kernel driver.
> + */
> +int igt_pci_bind_driver_override(const char *pci_slot, const char *driver,
> + unsigned int timeout_ms)
> +{
> + int ret;
> + char bound[64];
> + int bound_ret;
> + bool bound_ok;
> +
> + if (!driver || !driver[0])
> + return -EINVAL;
> +
> + ret = igt_pci_set_driver_override(pci_slot, driver);
> + if (ret)
> + return ret;
> +
> + ret = igt_pci_probe_drivers(pci_slot);
> + if (ret)
> + return ret;
> +
> + /*
> + * Writing to drivers_probe only tells us the kernel accepted the request.
> + * The actual driver probe may still fail (and only be reported via dmesg).
> + * Verify that the device ended up bound to the requested driver.
> + */
> + bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound, sizeof(bound));
> + if (bound_ret < 0)
> + return bound_ret;
> +
> + if (timeout_ms == 0) {
> + /*
> + * No waiting requested. If the device is already bound, validate
> + * it is bound to the expected driver; otherwise treat as
> + * best-effort request-only success.
> + */
> + if (bound_ret > 0 && strcmp(bound, driver))
> + return -EBUSY;
> +
> + return 0;
> + }
> +
> + bound_ok = igt_wait((bound_ret =
> + igt_pci_get_bound_driver_name(pci_slot, bound, sizeof(bound))) != 0,
> + timeout_ms, 1);
> + if (!bound_ok)
> + return -EIO;
> +
> + if (bound_ret < 0)
> + return bound_ret;
> +
> + if (strcmp(bound, driver))
> + return -EBUSY;
> +
> + return 0;
> +}
> +
> +/**
> + * igt_pci_unbind_driver_override:
> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
> + * @timeout_ms: how long to wait for the device to become unbound.
> + * If 0, don't wait (best-effort immediate check only).
> + *
> + * Unbind @pci_slot from its currently bound driver (if any) and clear
> + * any driver_override setting.
> + *
> + * This is the inverse operation of igt_pci_bind_driver_override().
> + *
> + * Returns: 0 on success, negative errno on failure.
> + */
> +int igt_pci_unbind_driver_override(const char *pci_slot, unsigned int timeout_ms)
> +{
> + int ret;
> + int bound_ret;
> + char bound[64];
> + bool unbound_ok;
> +
> + ret = igt_pci_device_unbind(pci_slot);
> + if (ret)
> + return ret;
> +
> + ret = igt_pci_set_driver_override(pci_slot, "");
> + if (ret)
> + return ret;
> +
> + bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound, sizeof(bound));
> + if (bound_ret < 0)
> + return bound_ret;
> +
> + if (timeout_ms == 0)
> + return 0;
> +
> + /* Verify the device actually ends up unbound (driver symlink removed). */
> + unbound_ok = igt_wait((bound_ret =
> + igt_pci_get_bound_driver_name(pci_slot, bound, sizeof(bound))) == 0,
> + timeout_ms, 1);
> + if (!unbound_ok)
> + return -EBUSY;
> +
> + if (bound_ret < 0)
> + return bound_ret;
> +
> + return 0;
> +}
> diff --git a/lib/igt_pci.h b/lib/igt_pci.h
> index 92b9cc392..a66eeebf2 100644
> --- a/lib/igt_pci.h
> +++ b/lib/igt_pci.h
> @@ -6,8 +6,9 @@
> #ifndef __IGT_PCI_H__
> #define __IGT_PCI_H__
>
> -#include <stdint.h>
> #include <endian.h>
> +#include <stddef.h>
> +#include <stdint.h>
>
> /* forward declaration */
> struct pci_device;
> @@ -24,5 +25,15 @@ enum pci_cap_id {
> #define PCI_SLOT_PWR_CTRL_PRESENT (1 << 1)
>
> int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id);
> +int igt_pci_device_unbind(const char *pci_slot);
> +int igt_pci_driver_bind(const char *driver, const char *pci_slot);
> +int igt_pci_driver_unbind(const char *driver, const char *pci_slot);
> +int igt_pci_driver_unbind_all(const char *driver);
> +int igt_pci_set_driver_override(const char *pci_slot, const char *driver);
> +int igt_pci_probe_drivers(const char *pci_slot);
> +int igt_pci_get_bound_driver_name(const char *pci_slot, char *driver, size_t driver_len);
> +int igt_pci_bind_driver_override(const char *pci_slot, const char *driver,
> + unsigned int timeout_ms);
> +int igt_pci_unbind_driver_override(const char *pci_slot, unsigned int timeout_ms);
>
> #endif
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 3/7] tests/intel/xe_sriov_flr: Attach VFs to xe-vfio-pci before initiating FLR
2026-02-04 16:32 ` [PATCH v3 i-g-t 3/7] tests/intel/xe_sriov_flr: Attach VFs to xe-vfio-pci before initiating FLR Marcin Bernatowicz
@ 2026-02-09 10:17 ` Laguna, Lukasz
0 siblings, 0 replies; 23+ messages in thread
From: Laguna, Lukasz @ 2026-02-09 10:17 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Michał Winiarski, Adam Miszczak, Jakub Kolakowski
On 2/4/2026 17:32, Marcin Bernatowicz wrote:
> Attach all VFs to the xe-vfio-pci driver before running the FLR scenario.
> This allows the test to rely on xe-vfio-pci’s FLR wait handling, which is
> triggered when writing to the VF reset sysfs attribute.
>
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Suggested-by: Michał Winiarski <michal.winiarski@intel.com>
> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
>
> ---
> v2:
> - Unbind VFs only if they were successfully bound.
>
> ---
> tests/intel/xe_sriov_flr.c | 65 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 65 insertions(+)
>
> diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
> index 12989d0f5..2f6b24cf0 100644
> --- a/tests/intel/xe_sriov_flr.c
> +++ b/tests/intel/xe_sriov_flr.c
> @@ -9,6 +9,8 @@
> #include "drmtest.h"
> #include "igt_core.h"
> #include "igt_device.h"
> +#include "igt_kmod.h"
> +#include "igt_pci.h"
> #include "igt_sriov_device.h"
> #include "intel_chipset.h"
> #include "intel_vram.h"
> @@ -57,6 +59,8 @@ static const char STOP_REASON_ABORT[] = "ABORT";
> static const char STOP_REASON_FAIL[] = "FAIL";
> static const char STOP_REASON_SKIP[] = "SKIP";
>
> +#define DRIVER_OVERRIDE_TIMEOUT_MS 200
> +
> static struct g_mmio {
> struct xe_mmio *mmio;
> unsigned int num_vfs;
> @@ -276,6 +280,47 @@ static void subchecks_report_results(struct subcheck *checks, int num_checks)
> igt_skip_on(skips == num_checks);
> }
>
> +static bool vf_bind_driver_override(int pf_fd, unsigned int vf_id,
> + const char *driver)
> +{
> + char *slot = igt_sriov_get_vf_pci_slot_alloc(pf_fd, vf_id);
> + int ret;
> + char bound[64] = "none";
> + int bound_ret;
> +
> + igt_assert(slot);
> + igt_assert(driver);
> +
> + ret = igt_pci_bind_driver_override(slot, driver, DRIVER_OVERRIDE_TIMEOUT_MS);
> + if (ret < 0) {
> + bound_ret = igt_pci_get_bound_driver_name(slot, bound, sizeof(bound));
> + if (bound_ret <= 0)
> + snprintf(bound, sizeof(bound), "%s", "none");
> +
> + igt_warn_on_f(true,
> + "bind %s (VF%u) to %s ret=%d (currently bound: %s)\n",
> + slot, vf_id, driver, ret, bound);
> + }
> +
> + free(slot);
> +
> + return ret >= 0;
> +}
> +
> +static void vf_unbind_driver_override(int pf_fd, unsigned int vf_id)
> +{
> + char *slot = igt_sriov_get_vf_pci_slot_alloc(pf_fd, vf_id);
> + int ret;
> +
> + igt_assert(slot);
> +
> + ret = igt_pci_unbind_driver_override(slot, DRIVER_OVERRIDE_TIMEOUT_MS);
> + igt_warn_on_f(ret < 0, "unbind %s (VF%u) driver_override ret=%d\n",
> + slot, vf_id, ret);
> +
> + free(slot);
> +}
> +
> /**
> * flr_exec_strategy - Function pointer for FLR execution strategy
> * @pf_fd: File descriptor for the Physical Function (PF).
> @@ -325,6 +370,8 @@ static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
> {
> const int wait_flr_ms = 200;
> int i, vf_id, flr_vf_id = -1;
> + bool xe_vfio_loaded;
> + bool *vf_bound = NULL;
>
> igt_sriov_disable_driver_autoprobe(pf_fd);
> igt_sriov_enable_vfs(pf_fd, num_vfs);
> @@ -335,6 +382,16 @@ static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
> if (igt_warn_on(igt_pci_system_reinit()))
> goto disable_vfs;
>
> + xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
> + if (xe_vfio_loaded) {
> + vf_bound = calloc(num_vfs + 1, sizeof(*vf_bound));
> + igt_assert(vf_bound);
> +
> + igt_sriov_enable_driver_autoprobe(pf_fd);
> + for (vf_id = 1; vf_id <= num_vfs; vf_id++)
> + vf_bound[vf_id] = vf_bind_driver_override(pf_fd, vf_id, "xe-vfio-pci");
> + }
> +
> init_mmio(pf_fd, num_vfs);
>
> for (i = 0; i < num_checks; ++i)
> @@ -357,6 +414,14 @@ cleanup:
>
> cleanup_mmio();
>
> + if (xe_vfio_loaded) {
> + for (vf_id = 1; vf_id <= num_vfs; vf_id++)
> + if (vf_bound && vf_bound[vf_id])
> + vf_unbind_driver_override(pf_fd, vf_id);
> + }
> +
> + free(vf_bound);
> +
> disable_vfs:
> igt_sriov_disable_vfs(pf_fd);
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 5/7] tests/intel/xe_sriov_flr: Add --wait-flr-ms option
2026-02-04 16:32 ` [PATCH v3 i-g-t 5/7] tests/intel/xe_sriov_flr: Add --wait-flr-ms option Marcin Bernatowicz
@ 2026-02-09 10:18 ` Laguna, Lukasz
0 siblings, 0 replies; 23+ messages in thread
From: Laguna, Lukasz @ 2026-02-09 10:18 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev; +Cc: Jakub Kolakowski, Piotr Piórkowski
On 2/4/2026 17:32, Marcin Bernatowicz wrote:
> Make the post-FLR sleep configurable (default 200ms).
>
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
> ---
> tests/intel/xe_sriov_flr.c | 36 ++++++++++++++++++++++++++++++++++--
> 1 file changed, 34 insertions(+), 2 deletions(-)
>
> diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
> index 2f6b24cf0..951628159 100644
> --- a/tests/intel/xe_sriov_flr.c
> +++ b/tests/intel/xe_sriov_flr.c
> @@ -4,6 +4,7 @@
> */
>
> #include <fcntl.h>
> +#include <limits.h>
> #include <pthread.h>
> #include <sys/stat.h>
> #include "drmtest.h"
> @@ -61,6 +62,8 @@ static const char STOP_REASON_SKIP[] = "SKIP";
>
> #define DRIVER_OVERRIDE_TIMEOUT_MS 200
>
> +static int g_wait_flr_ms = 200;
> +
> static struct g_mmio {
> struct xe_mmio *mmio;
> unsigned int num_vfs;
> @@ -368,7 +371,7 @@ typedef int (*flr_exec_strategy)(int pf_fd, int num_vfs,
> static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
> int num_checks, flr_exec_strategy exec_strategy)
> {
> - const int wait_flr_ms = 200;
> + const int wait_flr_ms = g_wait_flr_ms;
> int i, vf_id, flr_vf_id = -1;
> bool xe_vfio_loaded;
> bool *vf_bound = NULL;
> @@ -1088,7 +1091,36 @@ static void clear_tests(int pf_fd, int num_vfs, flr_exec_strategy exec_strategy)
> verify_flr(pf_fd, num_vfs, checks, num_checks, exec_strategy);
> }
>
> -int igt_main()
> +static int opt_handler(int opt, int opt_index, void *data)
> +{
> + char *end = NULL;
> + long val;
> +
> + switch (opt) {
> + case 'w':
> + errno = 0;
> + val = strtol(optarg, &end, 0);
> + if (errno || !end || *end != '\0' || val < 0 || val > INT_MAX)
> + return IGT_OPT_HANDLER_ERROR;
> + g_wait_flr_ms = (int)val;
> + igt_info("Using wait_flr_ms=%d\n", g_wait_flr_ms);
> + break;
> + default:
> + return IGT_OPT_HANDLER_ERROR;
> + }
> +
> + return IGT_OPT_HANDLER_SUCCESS;
> +}
> +
> +static const struct option long_options[] = {
> + { .name = "wait-flr-ms", .has_arg = true, .val = 'w', },
> + {},
> +};
> +
> +static const char help_str[] =
> + " --wait-flr-ms=MS\tSleep MS milliseconds after VF reset sysfs write (default: 200)\n";
> +
> +int igt_main_args("w:", long_options, help_str, opt_handler, NULL)
> {
> int pf_fd;
> bool autoprobe;
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 6/7] tests/intel/xe_sriov_flr: Add --no-xe-vfio-pci option
2026-02-04 16:32 ` [PATCH v3 i-g-t 6/7] tests/intel/xe_sriov_flr: Add --no-xe-vfio-pci option Marcin Bernatowicz
@ 2026-02-09 10:18 ` Laguna, Lukasz
0 siblings, 0 replies; 23+ messages in thread
From: Laguna, Lukasz @ 2026-02-09 10:18 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev; +Cc: Jakub Kolakowski, Piotr Piórkowski
On 2/4/2026 17:32, Marcin Bernatowicz wrote:
> Add --no-xe-vfio-pci to skip loading/binding VFs to xe-vfio-pci.
>
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
> ---
> tests/intel/xe_sriov_flr.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
> index 951628159..b73727787 100644
> --- a/tests/intel/xe_sriov_flr.c
> +++ b/tests/intel/xe_sriov_flr.c
> @@ -63,6 +63,7 @@ static const char STOP_REASON_SKIP[] = "SKIP";
> #define DRIVER_OVERRIDE_TIMEOUT_MS 200
>
> static int g_wait_flr_ms = 200;
> +static bool g_use_xe_vfio_pci = true;
>
> static struct g_mmio {
> struct xe_mmio *mmio;
> @@ -385,7 +386,9 @@ static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
> if (igt_warn_on(igt_pci_system_reinit()))
> goto disable_vfs;
>
> - xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
> + xe_vfio_loaded = false;
> + if (g_use_xe_vfio_pci)
> + xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
> if (xe_vfio_loaded) {
> vf_bound = calloc(num_vfs + 1, sizeof(*vf_bound));
> igt_assert(vf_bound);
> @@ -1097,6 +1100,10 @@ static int opt_handler(int opt, int opt_index, void *data)
> long val;
>
> switch (opt) {
> + case 'v':
> + g_use_xe_vfio_pci = false;
> + igt_info("xe-vfio-pci binding: disabled\n");
> + break;
> case 'w':
> errno = 0;
> val = strtol(optarg, &end, 0);
> @@ -1113,14 +1120,16 @@ static int opt_handler(int opt, int opt_index, void *data)
> }
>
> static const struct option long_options[] = {
> + { .name = "no-xe-vfio-pci", .has_arg = false, .val = 'v', },
> { .name = "wait-flr-ms", .has_arg = true, .val = 'w', },
> {},
> };
>
> static const char help_str[] =
> + " --no-xe-vfio-pci\tDo not load/bind xe-vfio-pci for VFs\n"
> " --wait-flr-ms=MS\tSleep MS milliseconds after VF reset sysfs write (default: 200)\n";
>
> -int igt_main_args("w:", long_options, help_str, opt_handler, NULL)
> +int igt_main_args("vw:", long_options, help_str, opt_handler, NULL)
> {
> int pf_fd;
> bool autoprobe;
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 7/7] tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off
2026-02-04 16:32 ` [PATCH v3 i-g-t 7/7] tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off Marcin Bernatowicz
@ 2026-02-09 10:42 ` Laguna, Lukasz
2026-02-10 11:23 ` Bernatowicz, Marcin
0 siblings, 1 reply; 23+ messages in thread
From: Laguna, Lukasz @ 2026-02-09 10:42 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Jakub Kolakowski, Michał Winiarski, Piotr Piórkowski
On 2/4/2026 17:32, Marcin Bernatowicz wrote:
> When the IOMMU is disabled VFs typically lack an iommu_group, and
> xe-vfio-pci binding may fail. Skip load/bind in that case.
I'm not sure if checking for IOMMU groups is enough.
I think it's possible that the device has the IOMMU group and vfio-pci
still fail to bind if e.g. CONFIG_VFIO_IOMMU_TYPE1 is disabled.
We have a control on the environment where test is executed, so I'm not
sure if this patch is needed. We prefer to use the approach with
xe-vfio-pci, so if it fails because of the system configuration than I
think it would be better to fix the configuration.
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Michał Winiarski <michal.winiarski@intel.com>
> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
> ---
> tests/intel/xe_sriov_flr.c | 43 +++++++++++++++++++++++++++++++++++---
> 1 file changed, 40 insertions(+), 3 deletions(-)
>
> diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
> index b73727787..3fc84bbf9 100644
> --- a/tests/intel/xe_sriov_flr.c
> +++ b/tests/intel/xe_sriov_flr.c
> @@ -13,6 +13,7 @@
> #include "igt_kmod.h"
> #include "igt_pci.h"
> #include "igt_sriov_device.h"
> +#include "igt_sysfs.h"
> #include "intel_chipset.h"
> #include "intel_vram.h"
> #include "linux_scaffold.h"
> @@ -325,6 +326,44 @@ static void vf_unbind_driver_override(int pf_fd, unsigned int vf_id)
> free(slot);
> }
>
> +static bool vf_has_iommu_group(int pf_fd, unsigned int vf_id)
> +{
> + int sysfs;
> + bool present;
> +
> + sysfs = igt_sriov_device_sysfs_open(pf_fd, vf_id);
> + if (sysfs < 0)
> + return false;
> +
> + present = igt_sysfs_has_attr(sysfs, "iommu_group");
> + close(sysfs);
> +
> + return present;
> +}
> +
> +static bool vfs_have_iommu_groups(int pf_fd, int num_vfs)
> +{
> + for (int vf_id = 1; vf_id <= num_vfs; vf_id++)
> + if (!vf_has_iommu_group(pf_fd, vf_id))
> + return false;
> +
> + return true;
> +}
> +
> +static bool try_load_xe_vfio_pci(int pf_fd, int num_vfs)
> +{
> + if (!g_use_xe_vfio_pci)
> + return false;
> +
> + if (!vfs_have_iommu_groups(pf_fd, num_vfs)) {
> + igt_info("Disabling xe-vfio-pci binding: missing VF IOMMU group(s) (IOMMU off?)\n");
> + g_use_xe_vfio_pci = false;
> + return false;
> + }
> +
> + return igt_kmod_load("xe_vfio_pci", NULL) >= 0;
> +}
> +
> /**
> * flr_exec_strategy - Function pointer for FLR execution strategy
> * @pf_fd: File descriptor for the Physical Function (PF).
> @@ -386,9 +425,7 @@ static void verify_flr(int pf_fd, int num_vfs, struct subcheck *checks,
> if (igt_warn_on(igt_pci_system_reinit()))
> goto disable_vfs;
>
> - xe_vfio_loaded = false;
> - if (g_use_xe_vfio_pci)
> - xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
> + xe_vfio_loaded = try_load_xe_vfio_pci(pf_fd, num_vfs);
> if (xe_vfio_loaded) {
> vf_bound = calloc(num_vfs + 1, sizeof(*vf_bound));
> igt_assert(vf_bound);
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers
2026-02-09 10:16 ` Laguna, Lukasz
@ 2026-02-10 10:19 ` Bernatowicz, Marcin
2026-02-11 6:39 ` Laguna, Lukasz
0 siblings, 1 reply; 23+ messages in thread
From: Bernatowicz, Marcin @ 2026-02-10 10:19 UTC (permalink / raw)
To: Laguna, Lukasz, igt-dev; +Cc: Adam Miszczak, Jakub Kolakowski, Kamil Konieczny
On 2/9/2026 11:16 AM, Laguna, Lukasz wrote:
>
> On 2/4/2026 17:32, Marcin Bernatowicz wrote:
>> Add generic helpers for controlling PCI driver binding via sysfs.
>>
>> The new APIs provide driver- and device-centric primitives for:
>> - setting and clearing driver_override
>> - triggering PCI driver reprobe
>> - binding and unbinding devices to a specific PCI driver
>> - query the currently bound PCI driver
>>
>> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
>> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
>> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
>> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
>> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
>>
>> ---
>> v2:
>> - Add igt_pci_get_bound_driver_name() to query the currently bound PCI
>> driver via the /sys/bus/pci/devices/<BDF>/driver symlink.
>> - Extend igt_pci_bind_driver_override() and
>> igt_pci_unbind_driver_override()
>> with a timeout_ms parameter so callers can wait for bind/unbind to
>> actually complete, instead of relying on drivers_probe write success.
>>
>> ---
>> lib/igt_pci.c | 351 ++++++++++++++++++++++++++++++++++++++++++++++++++
>> lib/igt_pci.h | 13 +-
>> 2 files changed, 363 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/igt_pci.c b/lib/igt_pci.c
>> index 61aaf939d..80aaf07c5 100644
>> --- a/lib/igt_pci.c
>> +++ b/lib/igt_pci.c
>> @@ -3,9 +3,18 @@
>> * Copyright © 2022 Intel Corporation
>> */
>> +#include <ctype.h>
>> +#include <dirent.h>
>> +#include <errno.h>
>> +#include <fcntl.h>
>> +#include <limits.h>
>> +#include <string.h>
>> +#include <unistd.h>
>> #include <pciaccess.h>
>> +#include "igt_aux.h"
>> #include "igt_core.h"
>> #include "igt_pci.h"
>> +#include "igt_sysfs.h"
>> static int find_pci_cap_offset_at(struct pci_device *dev, enum
>> pci_cap_id cap_id,
>> int start_offset)
>> @@ -51,3 +60,345 @@ int find_pci_cap_offset(struct pci_device *dev,
>> enum pci_cap_id cap_id)
>> {
>> return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
>> }
>> +
>> +static int open_pci_driver_dir(const char *driver)
>> +{
>> + char path[PATH_MAX];
>> +
>> + snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
>> + return open(path, O_RDONLY | O_CLOEXEC);
>> +}
>> +
>> +/**
>> + * igt_pci_device_unbind:
>> + * @pci_slot: BDF like "0000:01:00.0"
>> + *
>> + * Unbind @pci_slot from its currently bound driver, if any.
>> + * Returns 0 on success, or a negative errno-like value.
>> + */
>> +int igt_pci_device_unbind(const char *pci_slot)
>> +{
>> + char path[PATH_MAX];
>> + int dirfd;
>> + int ret;
>> +
>> + snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver",
>> pci_slot);
>> + dirfd = open(path, O_RDONLY | O_CLOEXEC);
>> + if (dirfd < 0)
>> + return 0; /* already unbound */
>> +
>> + ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
>> + close(dirfd);
>> +
>> + return ret;
>> +}
>> +
>> +/**
>> + * igt_pci_driver_bind:
>> + * @driver: PCI driver name under /sys/bus/pci/drivers/<driver>
>> + * @pci_slot: device to bind
>> + *
>> + * Bind @pci_slot to @driver. Driver must be present/loaded.
>> + * Returns 0 on success, or a negative errno-like value.
>> + */
>> +int igt_pci_driver_bind(const char *driver, const char *pci_slot)
>> +{
>> + int dirfd, ret;
>> +
>> + dirfd = open_pci_driver_dir(driver);
>> + if (dirfd < 0)
>> + return -errno;
>> +
>> + ret = igt_sysfs_set(dirfd, "bind", pci_slot) ? 0 : -errno;
>> + close(dirfd);
>> +
>> + return ret;
>> +}
>> +
>> +/**
>> + * igt_pci_driver_unbind:
>> + * @driver: PCI driver name
>> + * @pci_slot: device to unbind
>> + *
>> + * Unbind @pci_slot from @driver.
>> + * Returns 0 on success, or a negative errno-like value.
>> + */
>> +int igt_pci_driver_unbind(const char *driver, const char *pci_slot)
>> +{
>> + int dirfd, ret;
>> +
>> + dirfd = open_pci_driver_dir(driver);
>> + if (dirfd < 0)
>> + return -errno;
>> +
>> + ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
>> + close(dirfd);
>> +
>> + return ret;
>> +}
>> +
>> +/**
>> + * igt_pci_driver_unbind_all:
>> + * @driver: PCI driver name
>> + *
>> + * Unbind all devices currently bound to @driver.
>> + * Returns 0 on success, or a negative errno-like value.
>> + */
>> +int igt_pci_driver_unbind_all(const char *driver)
>> +{
>> + char path[PATH_MAX];
>> + DIR *dir;
>> + struct dirent *de;
>> + int driver_fd;
>> +
>> + snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
>> + dir = opendir(path);
>> + if (!dir)
>> + return -errno;
>> +
>> + driver_fd = dirfd(dir);
>> +
>> + while ((de = readdir(dir))) {
>> + bool ok;
>> +
>> + /* BDF symlinks are like "0000:01:00.0" and start with digit */
>> + if (de->d_type != DT_LNK || !isdigit(de->d_name[0]))
>> + continue;
>> +
>> + ok = igt_sysfs_set(driver_fd, "unbind", de->d_name);
>> + if (!ok) {
>> + int err = -errno;
>> +
>> + closedir(dir);
>> + return err;
>> + }
>> + }
>> +
>> + closedir(dir);
>> + return 0;
>> +}
>> +
>> +/**
>> + * igt_pci_set_driver_override:
>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>> + * @driver: PCI driver name to force-bind (e.g. "xe-vfio-pci"), or
>> + * NULL / empty string to clear an existing override
>> + *
>> + * Set or clear the PCI driver_override for @pci_slot via sysfs.
>> + *
>> + * This does not trigger driver reprobe by itself. Call
>> + * igt_pci_probe_drivers() afterwards to apply the override.
>> + *
>> + * Returns: 0 on success, negative errno on failure.
>> + */
>> +int igt_pci_set_driver_override(const char *pci_slot, const char
>> *driver)
>> +{
>> + char devpath[PATH_MAX];
>> + int dev;
>> + bool ok;
>> +
>> + snprintf(devpath, sizeof(devpath), "/sys/bus/pci/devices/%s",
>> pci_slot);
>> + dev = open(devpath, O_DIRECTORY | O_RDONLY);
>> + if (dev < 0)
>> + return -errno;
>> +
>> + ok = igt_sysfs_set(dev, "driver_override", driver ? driver : "");
>> + close(dev);
>> +
>> + return ok ? 0 : -errno;
>> +}
>> +
>> +/**
>> + * igt_pci_probe_drivers:
>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>> + *
>> + * Trigger PCI driver reprobe for @pci_slot by writing to
>> + * /sys/bus/pci/drivers_probe.
>> + *
>> + * This causes the kernel to attempt binding the device, honoring any
>> + * driver_override previously set.
>> + *
>> + * Note: a successful write only means the reprobe request was
>> accepted.
>> + * It does not guarantee that a driver actually bound to the device.
>> + *
>> + * Returns: 0 on success, negative errno on failure.
>> + */
>> +int igt_pci_probe_drivers(const char *pci_slot)
>> +{
>> + int pci;
>> + bool ok;
>> +
>> + pci = open("/sys/bus/pci", O_DIRECTORY | O_RDONLY);
>> + if (pci < 0)
>> + return -errno;
>> +
>> + ok = igt_sysfs_set(pci, "drivers_probe", pci_slot);
>> + close(pci);
>> +
>> + return ok ? 0 : -errno;
>> +}
>> +
>> +/**
>> + * igt_pci_get_bound_driver_name:
>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>> + * @driver: destination buffer for the bound driver name
>> + * @driver_len: size of @driver in bytes
>> + *
>> + * Read the currently bound PCI driver name for @pci_slot by
>> inspecting the
>> + * /sys/bus/pci/devices/<BDF>/driver symlink.
>> + *
>> + * Return values:
>> + * 1: device is bound and @driver contains the driver name
>> + * 0: device is unbound (no driver symlink)
>> + * <0: negative errno-like value on error
>> + */
>> +int igt_pci_get_bound_driver_name(const char *pci_slot, char
>> *driver, size_t driver_len)
>> +{
>> + char path[PATH_MAX];
>> + char link[PATH_MAX];
>> + const char *base;
>> + ssize_t len;
>> +
>> + if (driver && driver_len)
>> + driver[0] = '\0';
>> +
>> + snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver",
>> pci_slot);
>> + len = readlink(path, link, sizeof(link) - 1);
>> + if (len < 0) {
>> + if (errno == ENOENT)
>> + return 0; /* unbound */
>> +
>> + return -errno;
>> + }
>> +
>> + link[len] = '\0';
>> + base = strrchr(link, '/');
>> + base = base ? base + 1 : link;
>> +
>> + if (driver && driver_len)
>
> You can check the input params at the beginning of the function and
> return error if they are invalid.
driver/driver_len are optional, callers may pass NULL and/or 0 when they
only need the
return value (bound/unbound) and don’t care about the driver name...
>
>> + snprintf(driver, driver_len, "%s", base);
>> +
>> + return 1;
>> +}
>> +
>> +/**
>> + * igt_pci_bind_driver_override:
>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>> + * @driver: PCI driver name to bind (must not be NULL or empty)
>> + * @timeout_ms: how long to wait for the device to become bound.
>> + * If 0, don't wait (best-effort immediate check only).
>> + *
>> + * Bind @pci_slot to @driver using the driver_override mechanism.
>> + *
>> + * This helper sets driver_override and immediately triggers driver
>> + * reprobe so that the device is bound to the requested driver.
>> + *
>> + * Returns: 0 on success, negative errno-like value on failure.
>> + * A reprobe request can be accepted by sysfs while the driver probe
>> + * fails later; this helper verifies the device ended up bound.
>> + *
>> + * On bind failure, returns a negative error and the failure reason may
>> + * also be logged to dmesg by the kernel driver.
>> + */
>> +int igt_pci_bind_driver_override(const char *pci_slot, const char
>> *driver,
>> + unsigned int timeout_ms)
>> +{
>> + int ret;
>> + char bound[64];
>> + int bound_ret;
>> + bool bound_ok;
>> +
>> + if (!driver || !driver[0])
>> + return -EINVAL;
>> +
>> + ret = igt_pci_set_driver_override(pci_slot, driver);
>> + if (ret)
>> + return ret;
>> +
>> + ret = igt_pci_probe_drivers(pci_slot);
>> + if (ret)
>> + return ret;
>> +
>> + /*
>> + * Writing to drivers_probe only tells us the kernel accepted
>> the request.
>> + * The actual driver probe may still fail (and only be reported
>> via dmesg).
>> + * Verify that the device ended up bound to the requested driver.
>> + */
>> + bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound,
>> sizeof(bound));
>> + if (bound_ret < 0)
>> + return bound_ret;
>> +
>> + if (timeout_ms == 0) {
>> + /*
>> + * No waiting requested. If the device is already bound,
>> validate
>> + * it is bound to the expected driver; otherwise treat as
>> + * best-effort request-only success.
>> + */
>> + if (bound_ret > 0 && strcmp(bound, driver))
>> + return -EBUSY;
>> +
>> + return 0;
>> + }
>> +
>> + bound_ok = igt_wait((bound_ret =
>> + igt_pci_get_bound_driver_name(pci_slot, bound,
>> sizeof(bound))) != 0,
>> + timeout_ms, 1);
>> + if (!bound_ok)
>> + return -EIO;
>> +
>> + if (bound_ret < 0)
>> + return bound_ret;
>> +
>> + if (strcmp(bound, driver))
>> + return -EBUSY;
>> +
>> + return 0;
>> +}
>> +
>> +/**
>> + * igt_pci_unbind_driver_override:
>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>> + * @timeout_ms: how long to wait for the device to become unbound.
>> + * If 0, don't wait (best-effort immediate check only).
>> + *
>> + * Unbind @pci_slot from its currently bound driver (if any) and clear
>> + * any driver_override setting.
>> + *
>> + * This is the inverse operation of igt_pci_bind_driver_override().
>> + *
>> + * Returns: 0 on success, negative errno on failure.
>> + */
>> +int igt_pci_unbind_driver_override(const char *pci_slot, unsigned
>> int timeout_ms)
>> +{
>> + int ret;
>> + int bound_ret;
>> + char bound[64];
>> + bool unbound_ok;
>> +
>> + ret = igt_pci_device_unbind(pci_slot);
>> + if (ret)
>> + return ret;
>> +
>> + ret = igt_pci_set_driver_override(pci_slot, "");
>> + if (ret)
>> + return ret;
>> +
>> + bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound,
>> sizeof(bound));
>> + if (bound_ret < 0)
>> + return bound_ret;
>> +
>> + if (timeout_ms == 0)
>> + return 0;
>> +
>> + /* Verify the device actually ends up unbound (driver symlink
>> removed). */
>> + unbound_ok = igt_wait((bound_ret =
>> + igt_pci_get_bound_driver_name(pci_slot, bound,
>> sizeof(bound))) == 0,
>> + timeout_ms, 1);
>> + if (!unbound_ok)
>> + return -EBUSY;
>> +
>> + if (bound_ret < 0)
>> + return bound_ret;
>> +
>> + return 0;
>> +}
>> diff --git a/lib/igt_pci.h b/lib/igt_pci.h
>> index 92b9cc392..a66eeebf2 100644
>> --- a/lib/igt_pci.h
>> +++ b/lib/igt_pci.h
>> @@ -6,8 +6,9 @@
>> #ifndef __IGT_PCI_H__
>> #define __IGT_PCI_H__
>> -#include <stdint.h>
>> #include <endian.h>
>> +#include <stddef.h>
>> +#include <stdint.h>
>> /* forward declaration */
>> struct pci_device;
>> @@ -24,5 +25,15 @@ enum pci_cap_id {
>> #define PCI_SLOT_PWR_CTRL_PRESENT (1 << 1)
>> int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id
>> cap_id);
>> +int igt_pci_device_unbind(const char *pci_slot);
>> +int igt_pci_driver_bind(const char *driver, const char *pci_slot);
>> +int igt_pci_driver_unbind(const char *driver, const char *pci_slot);
>> +int igt_pci_driver_unbind_all(const char *driver);
>> +int igt_pci_set_driver_override(const char *pci_slot, const char
>> *driver);
>> +int igt_pci_probe_drivers(const char *pci_slot);
>> +int igt_pci_get_bound_driver_name(const char *pci_slot, char
>> *driver, size_t driver_len);
>> +int igt_pci_bind_driver_override(const char *pci_slot, const char
>> *driver,
>> + unsigned int timeout_ms);
>> +int igt_pci_unbind_driver_override(const char *pci_slot, unsigned
>> int timeout_ms);
>> #endif
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 7/7] tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off
2026-02-09 10:42 ` Laguna, Lukasz
@ 2026-02-10 11:23 ` Bernatowicz, Marcin
2026-02-11 6:43 ` Laguna, Lukasz
0 siblings, 1 reply; 23+ messages in thread
From: Bernatowicz, Marcin @ 2026-02-10 11:23 UTC (permalink / raw)
To: Laguna, Lukasz, igt-dev
Cc: Jakub Kolakowski, Michał Winiarski, Piotr Piórkowski
On 2/9/2026 11:42 AM, Laguna, Lukasz wrote:
>
> On 2/4/2026 17:32, Marcin Bernatowicz wrote:
>> When the IOMMU is disabled VFs typically lack an iommu_group, and
>> xe-vfio-pci binding may fail. Skip load/bind in that case.
>
> I'm not sure if checking for IOMMU groups is enough.
> I think it's possible that the device has the IOMMU group and vfio-pci
> still fail to bind if e.g. CONFIG_VFIO_IOMMU_TYPE1 is disabled.
>
> We have a control on the environment where test is executed, so I'm
> not sure if this patch is needed. We prefer to use the approach with
> xe-vfio-pci, so if it fails because of the system configuration than I
> think it would be better to fix the configuration.
Maybe it's good time to add xe_sriov_vfio test with some basic checks:
igt@xe_sriov_vfio@load-xe-vfio-pci
igt@xe_sriov_vfio@unload-xe-vfio-pci
igt@xe_sriov_vfio@bind-unbind-vf
igt@xe_sriov_vfio@open-basic
?
>> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
>> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
>> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
>> Cc: Michał Winiarski <michal.winiarski@intel.com>
>> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
>> ---
>> tests/intel/xe_sriov_flr.c | 43 +++++++++++++++++++++++++++++++++++---
>> 1 file changed, 40 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
>> index b73727787..3fc84bbf9 100644
>> --- a/tests/intel/xe_sriov_flr.c
>> +++ b/tests/intel/xe_sriov_flr.c
>> @@ -13,6 +13,7 @@
>> #include "igt_kmod.h"
>> #include "igt_pci.h"
>> #include "igt_sriov_device.h"
>> +#include "igt_sysfs.h"
>> #include "intel_chipset.h"
>> #include "intel_vram.h"
>> #include "linux_scaffold.h"
>> @@ -325,6 +326,44 @@ static void vf_unbind_driver_override(int pf_fd,
>> unsigned int vf_id)
>> free(slot);
>> }
>> +static bool vf_has_iommu_group(int pf_fd, unsigned int vf_id)
>> +{
>> + int sysfs;
>> + bool present;
>> +
>> + sysfs = igt_sriov_device_sysfs_open(pf_fd, vf_id);
>> + if (sysfs < 0)
>> + return false;
>> +
>> + present = igt_sysfs_has_attr(sysfs, "iommu_group");
>> + close(sysfs);
>> +
>> + return present;
>> +}
>> +
>> +static bool vfs_have_iommu_groups(int pf_fd, int num_vfs)
>> +{
>> + for (int vf_id = 1; vf_id <= num_vfs; vf_id++)
>> + if (!vf_has_iommu_group(pf_fd, vf_id))
>> + return false;
>> +
>> + return true;
>> +}
>> +
>> +static bool try_load_xe_vfio_pci(int pf_fd, int num_vfs)
>> +{
>> + if (!g_use_xe_vfio_pci)
>> + return false;
>> +
>> + if (!vfs_have_iommu_groups(pf_fd, num_vfs)) {
>> + igt_info("Disabling xe-vfio-pci binding: missing VF IOMMU
>> group(s) (IOMMU off?)\n");
>> + g_use_xe_vfio_pci = false;
>> + return false;
>> + }
>> +
>> + return igt_kmod_load("xe_vfio_pci", NULL) >= 0;
>> +}
>> +
>> /**
>> * flr_exec_strategy - Function pointer for FLR execution strategy
>> * @pf_fd: File descriptor for the Physical Function (PF).
>> @@ -386,9 +425,7 @@ static void verify_flr(int pf_fd, int num_vfs,
>> struct subcheck *checks,
>> if (igt_warn_on(igt_pci_system_reinit()))
>> goto disable_vfs;
>> - xe_vfio_loaded = false;
>> - if (g_use_xe_vfio_pci)
>> - xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
>> + xe_vfio_loaded = try_load_xe_vfio_pci(pf_fd, num_vfs);
>> if (xe_vfio_loaded) {
>> vf_bound = calloc(num_vfs + 1, sizeof(*vf_bound));
>> igt_assert(vf_bound);
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers
2026-02-10 10:19 ` Bernatowicz, Marcin
@ 2026-02-11 6:39 ` Laguna, Lukasz
2026-02-11 11:21 ` Bernatowicz, Marcin
0 siblings, 1 reply; 23+ messages in thread
From: Laguna, Lukasz @ 2026-02-11 6:39 UTC (permalink / raw)
To: Bernatowicz, Marcin, igt-dev
Cc: Adam Miszczak, Jakub Kolakowski, Kamil Konieczny
On 2/10/2026 11:19, Bernatowicz, Marcin wrote:
>
> On 2/9/2026 11:16 AM, Laguna, Lukasz wrote:
>>
>> On 2/4/2026 17:32, Marcin Bernatowicz wrote:
>>> Add generic helpers for controlling PCI driver binding via sysfs.
>>>
>>> The new APIs provide driver- and device-centric primitives for:
>>> - setting and clearing driver_override
>>> - triggering PCI driver reprobe
>>> - binding and unbinding devices to a specific PCI driver
>>> - query the currently bound PCI driver
>>>
>>> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
>>> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
>>> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
>>> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
>>> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
>>>
>>> ---
>>> v2:
>>> - Add igt_pci_get_bound_driver_name() to query the currently bound PCI
>>> driver via the /sys/bus/pci/devices/<BDF>/driver symlink.
>>> - Extend igt_pci_bind_driver_override() and
>>> igt_pci_unbind_driver_override()
>>> with a timeout_ms parameter so callers can wait for bind/unbind to
>>> actually complete, instead of relying on drivers_probe write
>>> success.
>>>
>>> ---
>>> lib/igt_pci.c | 351
>>> ++++++++++++++++++++++++++++++++++++++++++++++++++
>>> lib/igt_pci.h | 13 +-
>>> 2 files changed, 363 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/lib/igt_pci.c b/lib/igt_pci.c
>>> index 61aaf939d..80aaf07c5 100644
>>> --- a/lib/igt_pci.c
>>> +++ b/lib/igt_pci.c
>>> @@ -3,9 +3,18 @@
>>> * Copyright © 2022 Intel Corporation
>>> */
>>> +#include <ctype.h>
>>> +#include <dirent.h>
>>> +#include <errno.h>
>>> +#include <fcntl.h>
>>> +#include <limits.h>
>>> +#include <string.h>
>>> +#include <unistd.h>
>>> #include <pciaccess.h>
>>> +#include "igt_aux.h"
>>> #include "igt_core.h"
>>> #include "igt_pci.h"
>>> +#include "igt_sysfs.h"
>>> static int find_pci_cap_offset_at(struct pci_device *dev, enum
>>> pci_cap_id cap_id,
>>> int start_offset)
>>> @@ -51,3 +60,345 @@ int find_pci_cap_offset(struct pci_device *dev,
>>> enum pci_cap_id cap_id)
>>> {
>>> return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
>>> }
>>> +
>>> +static int open_pci_driver_dir(const char *driver)
>>> +{
>>> + char path[PATH_MAX];
>>> +
>>> + snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
>>> + return open(path, O_RDONLY | O_CLOEXEC);
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_device_unbind:
>>> + * @pci_slot: BDF like "0000:01:00.0"
>>> + *
>>> + * Unbind @pci_slot from its currently bound driver, if any.
>>> + * Returns 0 on success, or a negative errno-like value.
>>> + */
>>> +int igt_pci_device_unbind(const char *pci_slot)
>>> +{
>>> + char path[PATH_MAX];
>>> + int dirfd;
>>> + int ret;
>>> +
>>> + snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver",
>>> pci_slot);
>>> + dirfd = open(path, O_RDONLY | O_CLOEXEC);
>>> + if (dirfd < 0)
>>> + return 0; /* already unbound */
>>> +
>>> + ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
>>> + close(dirfd);
>>> +
>>> + return ret;
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_driver_bind:
>>> + * @driver: PCI driver name under /sys/bus/pci/drivers/<driver>
>>> + * @pci_slot: device to bind
>>> + *
>>> + * Bind @pci_slot to @driver. Driver must be present/loaded.
>>> + * Returns 0 on success, or a negative errno-like value.
>>> + */
>>> +int igt_pci_driver_bind(const char *driver, const char *pci_slot)
>>> +{
>>> + int dirfd, ret;
>>> +
>>> + dirfd = open_pci_driver_dir(driver);
>>> + if (dirfd < 0)
>>> + return -errno;
>>> +
>>> + ret = igt_sysfs_set(dirfd, "bind", pci_slot) ? 0 : -errno;
>>> + close(dirfd);
>>> +
>>> + return ret;
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_driver_unbind:
>>> + * @driver: PCI driver name
>>> + * @pci_slot: device to unbind
>>> + *
>>> + * Unbind @pci_slot from @driver.
>>> + * Returns 0 on success, or a negative errno-like value.
>>> + */
>>> +int igt_pci_driver_unbind(const char *driver, const char *pci_slot)
>>> +{
>>> + int dirfd, ret;
>>> +
>>> + dirfd = open_pci_driver_dir(driver);
>>> + if (dirfd < 0)
>>> + return -errno;
>>> +
>>> + ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
>>> + close(dirfd);
>>> +
>>> + return ret;
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_driver_unbind_all:
>>> + * @driver: PCI driver name
>>> + *
>>> + * Unbind all devices currently bound to @driver.
>>> + * Returns 0 on success, or a negative errno-like value.
>>> + */
>>> +int igt_pci_driver_unbind_all(const char *driver)
>>> +{
>>> + char path[PATH_MAX];
>>> + DIR *dir;
>>> + struct dirent *de;
>>> + int driver_fd;
>>> +
>>> + snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
>>> + dir = opendir(path);
>>> + if (!dir)
>>> + return -errno;
>>> +
>>> + driver_fd = dirfd(dir);
>>> +
>>> + while ((de = readdir(dir))) {
>>> + bool ok;
>>> +
>>> + /* BDF symlinks are like "0000:01:00.0" and start with
>>> digit */
>>> + if (de->d_type != DT_LNK || !isdigit(de->d_name[0]))
>>> + continue;
>>> +
>>> + ok = igt_sysfs_set(driver_fd, "unbind", de->d_name);
>>> + if (!ok) {
>>> + int err = -errno;
>>> +
>>> + closedir(dir);
>>> + return err;
>>> + }
>>> + }
>>> +
>>> + closedir(dir);
>>> + return 0;
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_set_driver_override:
>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>> + * @driver: PCI driver name to force-bind (e.g. "xe-vfio-pci"), or
>>> + * NULL / empty string to clear an existing override
>>> + *
>>> + * Set or clear the PCI driver_override for @pci_slot via sysfs.
>>> + *
>>> + * This does not trigger driver reprobe by itself. Call
>>> + * igt_pci_probe_drivers() afterwards to apply the override.
>>> + *
>>> + * Returns: 0 on success, negative errno on failure.
>>> + */
>>> +int igt_pci_set_driver_override(const char *pci_slot, const char
>>> *driver)
>>> +{
>>> + char devpath[PATH_MAX];
>>> + int dev;
>>> + bool ok;
>>> +
>>> + snprintf(devpath, sizeof(devpath), "/sys/bus/pci/devices/%s",
>>> pci_slot);
>>> + dev = open(devpath, O_DIRECTORY | O_RDONLY);
>>> + if (dev < 0)
>>> + return -errno;
>>> +
>>> + ok = igt_sysfs_set(dev, "driver_override", driver ? driver : "");
>>> + close(dev);
>>> +
>>> + return ok ? 0 : -errno;
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_probe_drivers:
>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>> + *
>>> + * Trigger PCI driver reprobe for @pci_slot by writing to
>>> + * /sys/bus/pci/drivers_probe.
>>> + *
>>> + * This causes the kernel to attempt binding the device, honoring any
>>> + * driver_override previously set.
>>> + *
>>> + * Note: a successful write only means the reprobe request was
>>> accepted.
>>> + * It does not guarantee that a driver actually bound to the device.
>>> + *
>>> + * Returns: 0 on success, negative errno on failure.
>>> + */
>>> +int igt_pci_probe_drivers(const char *pci_slot)
>>> +{
>>> + int pci;
>>> + bool ok;
>>> +
>>> + pci = open("/sys/bus/pci", O_DIRECTORY | O_RDONLY);
>>> + if (pci < 0)
>>> + return -errno;
>>> +
>>> + ok = igt_sysfs_set(pci, "drivers_probe", pci_slot);
>>> + close(pci);
>>> +
>>> + return ok ? 0 : -errno;
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_get_bound_driver_name:
>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>> + * @driver: destination buffer for the bound driver name
>>> + * @driver_len: size of @driver in bytes
>>> + *
>>> + * Read the currently bound PCI driver name for @pci_slot by
>>> inspecting the
>>> + * /sys/bus/pci/devices/<BDF>/driver symlink.
>>> + *
>>> + * Return values:
>>> + * 1: device is bound and @driver contains the driver name
>>> + * 0: device is unbound (no driver symlink)
>>> + * <0: negative errno-like value on error
>>> + */
>>> +int igt_pci_get_bound_driver_name(const char *pci_slot, char
>>> *driver, size_t driver_len)
>>> +{
>>> + char path[PATH_MAX];
>>> + char link[PATH_MAX];
>>> + const char *base;
>>> + ssize_t len;
>>> +
>>> + if (driver && driver_len)
>>> + driver[0] = '\0';
>>> +
>>> + snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver",
>>> pci_slot);
>>> + len = readlink(path, link, sizeof(link) - 1);
>>> + if (len < 0) {
>>> + if (errno == ENOENT)
>>> + return 0; /* unbound */
>>> +
>>> + return -errno;
>>> + }
>>> +
>>> + link[len] = '\0';
>>> + base = strrchr(link, '/');
>>> + base = base ? base + 1 : link;
>>> +
>>> + if (driver && driver_len)
>>
>> You can check the input params at the beginning of the function and
>> return error if they are invalid.
>
> driver/driver_len are optional, callers may pass NULL and/or 0 when
> they only need the
>
> return value (bound/unbound) and don’t care about the driver name...
>
Right... now I see it, but it wasn't clear at first glance. Maybe
function doc should be updated?
Or probably it would be even better to introduce separate helper
igt_pci_is_driver_bound()? It would call igt_pci_get_bound_driver_name()
without passing buffer.
>>
>>> + snprintf(driver, driver_len, "%s", base);
>>> +
>>> + return 1;
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_bind_driver_override:
>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>> + * @driver: PCI driver name to bind (must not be NULL or empty)
>>> + * @timeout_ms: how long to wait for the device to become bound.
>>> + * If 0, don't wait (best-effort immediate check only).
>>> + *
>>> + * Bind @pci_slot to @driver using the driver_override mechanism.
>>> + *
>>> + * This helper sets driver_override and immediately triggers driver
>>> + * reprobe so that the device is bound to the requested driver.
>>> + *
>>> + * Returns: 0 on success, negative errno-like value on failure.
>>> + * A reprobe request can be accepted by sysfs while the driver probe
>>> + * fails later; this helper verifies the device ended up bound.
>>> + *
>>> + * On bind failure, returns a negative error and the failure reason
>>> may
>>> + * also be logged to dmesg by the kernel driver.
>>> + */
>>> +int igt_pci_bind_driver_override(const char *pci_slot, const char
>>> *driver,
>>> + unsigned int timeout_ms)
>>> +{
>>> + int ret;
>>> + char bound[64];
>>> + int bound_ret;
>>> + bool bound_ok;
>>> +
>>> + if (!driver || !driver[0])
>>> + return -EINVAL;
>>> +
>>> + ret = igt_pci_set_driver_override(pci_slot, driver);
>>> + if (ret)
>>> + return ret;
>>> +
>>> + ret = igt_pci_probe_drivers(pci_slot);
>>> + if (ret)
>>> + return ret;
>>> +
>>> + /*
>>> + * Writing to drivers_probe only tells us the kernel accepted
>>> the request.
>>> + * The actual driver probe may still fail (and only be reported
>>> via dmesg).
>>> + * Verify that the device ended up bound to the requested driver.
>>> + */
>>> + bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound,
>>> sizeof(bound));
>>> + if (bound_ret < 0)
>>> + return bound_ret;
>>> +
>>> + if (timeout_ms == 0) {
>>> + /*
>>> + * No waiting requested. If the device is already bound,
>>> validate
>>> + * it is bound to the expected driver; otherwise treat as
>>> + * best-effort request-only success.
>>> + */
>>> + if (bound_ret > 0 && strcmp(bound, driver))
>>> + return -EBUSY;
>>> +
>>> + return 0;
>>> + }
>>> +
>>> + bound_ok = igt_wait((bound_ret =
>>> + igt_pci_get_bound_driver_name(pci_slot, bound,
>>> sizeof(bound))) != 0,
>>> + timeout_ms, 1);
>>> + if (!bound_ok)
>>> + return -EIO;
>>> +
>>> + if (bound_ret < 0)
>>> + return bound_ret;
>>> +
>>> + if (strcmp(bound, driver))
>>> + return -EBUSY;
>>> +
>>> + return 0;
>>> +}
>>> +
>>> +/**
>>> + * igt_pci_unbind_driver_override:
>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>> + * @timeout_ms: how long to wait for the device to become unbound.
>>> + * If 0, don't wait (best-effort immediate check only).
>>> + *
>>> + * Unbind @pci_slot from its currently bound driver (if any) and clear
>>> + * any driver_override setting.
>>> + *
>>> + * This is the inverse operation of igt_pci_bind_driver_override().
>>> + *
>>> + * Returns: 0 on success, negative errno on failure.
>>> + */
>>> +int igt_pci_unbind_driver_override(const char *pci_slot, unsigned
>>> int timeout_ms)
>>> +{
>>> + int ret;
>>> + int bound_ret;
>>> + char bound[64];
>>> + bool unbound_ok;
>>> +
>>> + ret = igt_pci_device_unbind(pci_slot);
>>> + if (ret)
>>> + return ret;
>>> +
>>> + ret = igt_pci_set_driver_override(pci_slot, "");
>>> + if (ret)
>>> + return ret;
>>> +
>>> + bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound,
>>> sizeof(bound));
>>> + if (bound_ret < 0)
>>> + return bound_ret;
>>> +
>>> + if (timeout_ms == 0)
>>> + return 0;
>>> +
>>> + /* Verify the device actually ends up unbound (driver symlink
>>> removed). */
>>> + unbound_ok = igt_wait((bound_ret =
>>> + igt_pci_get_bound_driver_name(pci_slot, bound,
>>> sizeof(bound))) == 0,
>>> + timeout_ms, 1);
>>> + if (!unbound_ok)
>>> + return -EBUSY;
>>> +
>>> + if (bound_ret < 0)
>>> + return bound_ret;
>>> +
>>> + return 0;
>>> +}
>>> diff --git a/lib/igt_pci.h b/lib/igt_pci.h
>>> index 92b9cc392..a66eeebf2 100644
>>> --- a/lib/igt_pci.h
>>> +++ b/lib/igt_pci.h
>>> @@ -6,8 +6,9 @@
>>> #ifndef __IGT_PCI_H__
>>> #define __IGT_PCI_H__
>>> -#include <stdint.h>
>>> #include <endian.h>
>>> +#include <stddef.h>
>>> +#include <stdint.h>
>>> /* forward declaration */
>>> struct pci_device;
>>> @@ -24,5 +25,15 @@ enum pci_cap_id {
>>> #define PCI_SLOT_PWR_CTRL_PRESENT (1 << 1)
>>> int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id
>>> cap_id);
>>> +int igt_pci_device_unbind(const char *pci_slot);
>>> +int igt_pci_driver_bind(const char *driver, const char *pci_slot);
>>> +int igt_pci_driver_unbind(const char *driver, const char *pci_slot);
>>> +int igt_pci_driver_unbind_all(const char *driver);
>>> +int igt_pci_set_driver_override(const char *pci_slot, const char
>>> *driver);
>>> +int igt_pci_probe_drivers(const char *pci_slot);
>>> +int igt_pci_get_bound_driver_name(const char *pci_slot, char
>>> *driver, size_t driver_len);
>>> +int igt_pci_bind_driver_override(const char *pci_slot, const char
>>> *driver,
>>> + unsigned int timeout_ms);
>>> +int igt_pci_unbind_driver_override(const char *pci_slot, unsigned
>>> int timeout_ms);
>>> #endif
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 7/7] tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off
2026-02-10 11:23 ` Bernatowicz, Marcin
@ 2026-02-11 6:43 ` Laguna, Lukasz
0 siblings, 0 replies; 23+ messages in thread
From: Laguna, Lukasz @ 2026-02-11 6:43 UTC (permalink / raw)
To: Bernatowicz, Marcin, igt-dev
Cc: Jakub Kolakowski, Michał Winiarski, Piotr Piórkowski
On 2/10/2026 12:23, Bernatowicz, Marcin wrote:
>
> On 2/9/2026 11:42 AM, Laguna, Lukasz wrote:
>>
>> On 2/4/2026 17:32, Marcin Bernatowicz wrote:
>>> When the IOMMU is disabled VFs typically lack an iommu_group, and
>>> xe-vfio-pci binding may fail. Skip load/bind in that case.
>>
>> I'm not sure if checking for IOMMU groups is enough.
>> I think it's possible that the device has the IOMMU group and
>> vfio-pci still fail to bind if e.g. CONFIG_VFIO_IOMMU_TYPE1 is disabled.
>>
>> We have a control on the environment where test is executed, so I'm
>> not sure if this patch is needed. We prefer to use the approach with
>> xe-vfio-pci, so if it fails because of the system configuration than
>> I think it would be better to fix the configuration.
>
>
> Maybe it's good time to add xe_sriov_vfio test with some basic checks:
>
> igt@xe_sriov_vfio@load-xe-vfio-pci
> igt@xe_sriov_vfio@unload-xe-vfio-pci
> igt@xe_sriov_vfio@bind-unbind-vf
> igt@xe_sriov_vfio@open-basic
>
> ?
>
Sounds good to me
>>> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
>>> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
>>> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
>>> Cc: Michał Winiarski <michal.winiarski@intel.com>
>>> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
>>> ---
>>> tests/intel/xe_sriov_flr.c | 43
>>> +++++++++++++++++++++++++++++++++++---
>>> 1 file changed, 40 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
>>> index b73727787..3fc84bbf9 100644
>>> --- a/tests/intel/xe_sriov_flr.c
>>> +++ b/tests/intel/xe_sriov_flr.c
>>> @@ -13,6 +13,7 @@
>>> #include "igt_kmod.h"
>>> #include "igt_pci.h"
>>> #include "igt_sriov_device.h"
>>> +#include "igt_sysfs.h"
>>> #include "intel_chipset.h"
>>> #include "intel_vram.h"
>>> #include "linux_scaffold.h"
>>> @@ -325,6 +326,44 @@ static void vf_unbind_driver_override(int
>>> pf_fd, unsigned int vf_id)
>>> free(slot);
>>> }
>>> +static bool vf_has_iommu_group(int pf_fd, unsigned int vf_id)
>>> +{
>>> + int sysfs;
>>> + bool present;
>>> +
>>> + sysfs = igt_sriov_device_sysfs_open(pf_fd, vf_id);
>>> + if (sysfs < 0)
>>> + return false;
>>> +
>>> + present = igt_sysfs_has_attr(sysfs, "iommu_group");
>>> + close(sysfs);
>>> +
>>> + return present;
>>> +}
>>> +
>>> +static bool vfs_have_iommu_groups(int pf_fd, int num_vfs)
>>> +{
>>> + for (int vf_id = 1; vf_id <= num_vfs; vf_id++)
>>> + if (!vf_has_iommu_group(pf_fd, vf_id))
>>> + return false;
>>> +
>>> + return true;
>>> +}
>>> +
>>> +static bool try_load_xe_vfio_pci(int pf_fd, int num_vfs)
>>> +{
>>> + if (!g_use_xe_vfio_pci)
>>> + return false;
>>> +
>>> + if (!vfs_have_iommu_groups(pf_fd, num_vfs)) {
>>> + igt_info("Disabling xe-vfio-pci binding: missing VF IOMMU
>>> group(s) (IOMMU off?)\n");
>>> + g_use_xe_vfio_pci = false;
>>> + return false;
>>> + }
>>> +
>>> + return igt_kmod_load("xe_vfio_pci", NULL) >= 0;
>>> +}
>>> +
>>> /**
>>> * flr_exec_strategy - Function pointer for FLR execution strategy
>>> * @pf_fd: File descriptor for the Physical Function (PF).
>>> @@ -386,9 +425,7 @@ static void verify_flr(int pf_fd, int num_vfs,
>>> struct subcheck *checks,
>>> if (igt_warn_on(igt_pci_system_reinit()))
>>> goto disable_vfs;
>>> - xe_vfio_loaded = false;
>>> - if (g_use_xe_vfio_pci)
>>> - xe_vfio_loaded = igt_kmod_load("xe_vfio_pci", NULL) >= 0;
>>> + xe_vfio_loaded = try_load_xe_vfio_pci(pf_fd, num_vfs);
>>> if (xe_vfio_loaded) {
>>> vf_bound = calloc(num_vfs + 1, sizeof(*vf_bound));
>>> igt_assert(vf_bound);
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers
2026-02-11 6:39 ` Laguna, Lukasz
@ 2026-02-11 11:21 ` Bernatowicz, Marcin
0 siblings, 0 replies; 23+ messages in thread
From: Bernatowicz, Marcin @ 2026-02-11 11:21 UTC (permalink / raw)
To: Laguna, Lukasz, igt-dev; +Cc: Adam Miszczak, Jakub Kolakowski, Kamil Konieczny
On 2/11/2026 7:39 AM, Laguna, Lukasz wrote:
>
> On 2/10/2026 11:19, Bernatowicz, Marcin wrote:
>>
>> On 2/9/2026 11:16 AM, Laguna, Lukasz wrote:
>>>
>>> On 2/4/2026 17:32, Marcin Bernatowicz wrote:
>>>> Add generic helpers for controlling PCI driver binding via sysfs.
>>>>
>>>> The new APIs provide driver- and device-centric primitives for:
>>>> - setting and clearing driver_override
>>>> - triggering PCI driver reprobe
>>>> - binding and unbinding devices to a specific PCI driver
>>>> - query the currently bound PCI driver
>>>>
>>>> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
>>>> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
>>>> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
>>>> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
>>>> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
>>>>
>>>> ---
>>>> v2:
>>>> - Add igt_pci_get_bound_driver_name() to query the currently bound PCI
>>>> driver via the /sys/bus/pci/devices/<BDF>/driver symlink.
>>>> - Extend igt_pci_bind_driver_override() and
>>>> igt_pci_unbind_driver_override()
>>>> with a timeout_ms parameter so callers can wait for bind/unbind to
>>>> actually complete, instead of relying on drivers_probe write
>>>> success.
>>>>
>>>> ---
>>>> lib/igt_pci.c | 351
>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++
>>>> lib/igt_pci.h | 13 +-
>>>> 2 files changed, 363 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/lib/igt_pci.c b/lib/igt_pci.c
>>>> index 61aaf939d..80aaf07c5 100644
>>>> --- a/lib/igt_pci.c
>>>> +++ b/lib/igt_pci.c
>>>> @@ -3,9 +3,18 @@
>>>> * Copyright © 2022 Intel Corporation
>>>> */
>>>> +#include <ctype.h>
>>>> +#include <dirent.h>
>>>> +#include <errno.h>
>>>> +#include <fcntl.h>
>>>> +#include <limits.h>
>>>> +#include <string.h>
>>>> +#include <unistd.h>
>>>> #include <pciaccess.h>
>>>> +#include "igt_aux.h"
>>>> #include "igt_core.h"
>>>> #include "igt_pci.h"
>>>> +#include "igt_sysfs.h"
>>>> static int find_pci_cap_offset_at(struct pci_device *dev, enum
>>>> pci_cap_id cap_id,
>>>> int start_offset)
>>>> @@ -51,3 +60,345 @@ int find_pci_cap_offset(struct pci_device *dev,
>>>> enum pci_cap_id cap_id)
>>>> {
>>>> return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
>>>> }
>>>> +
>>>> +static int open_pci_driver_dir(const char *driver)
>>>> +{
>>>> + char path[PATH_MAX];
>>>> +
>>>> + snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
>>>> + return open(path, O_RDONLY | O_CLOEXEC);
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_device_unbind:
>>>> + * @pci_slot: BDF like "0000:01:00.0"
>>>> + *
>>>> + * Unbind @pci_slot from its currently bound driver, if any.
>>>> + * Returns 0 on success, or a negative errno-like value.
>>>> + */
>>>> +int igt_pci_device_unbind(const char *pci_slot)
>>>> +{
>>>> + char path[PATH_MAX];
>>>> + int dirfd;
>>>> + int ret;
>>>> +
>>>> + snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver",
>>>> pci_slot);
>>>> + dirfd = open(path, O_RDONLY | O_CLOEXEC);
>>>> + if (dirfd < 0)
>>>> + return 0; /* already unbound */
>>>> +
>>>> + ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
>>>> + close(dirfd);
>>>> +
>>>> + return ret;
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_driver_bind:
>>>> + * @driver: PCI driver name under /sys/bus/pci/drivers/<driver>
>>>> + * @pci_slot: device to bind
>>>> + *
>>>> + * Bind @pci_slot to @driver. Driver must be present/loaded.
>>>> + * Returns 0 on success, or a negative errno-like value.
>>>> + */
>>>> +int igt_pci_driver_bind(const char *driver, const char *pci_slot)
>>>> +{
>>>> + int dirfd, ret;
>>>> +
>>>> + dirfd = open_pci_driver_dir(driver);
>>>> + if (dirfd < 0)
>>>> + return -errno;
>>>> +
>>>> + ret = igt_sysfs_set(dirfd, "bind", pci_slot) ? 0 : -errno;
>>>> + close(dirfd);
>>>> +
>>>> + return ret;
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_driver_unbind:
>>>> + * @driver: PCI driver name
>>>> + * @pci_slot: device to unbind
>>>> + *
>>>> + * Unbind @pci_slot from @driver.
>>>> + * Returns 0 on success, or a negative errno-like value.
>>>> + */
>>>> +int igt_pci_driver_unbind(const char *driver, const char *pci_slot)
>>>> +{
>>>> + int dirfd, ret;
>>>> +
>>>> + dirfd = open_pci_driver_dir(driver);
>>>> + if (dirfd < 0)
>>>> + return -errno;
>>>> +
>>>> + ret = igt_sysfs_set(dirfd, "unbind", pci_slot) ? 0 : -errno;
>>>> + close(dirfd);
>>>> +
>>>> + return ret;
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_driver_unbind_all:
>>>> + * @driver: PCI driver name
>>>> + *
>>>> + * Unbind all devices currently bound to @driver.
>>>> + * Returns 0 on success, or a negative errno-like value.
>>>> + */
>>>> +int igt_pci_driver_unbind_all(const char *driver)
>>>> +{
>>>> + char path[PATH_MAX];
>>>> + DIR *dir;
>>>> + struct dirent *de;
>>>> + int driver_fd;
>>>> +
>>>> + snprintf(path, sizeof(path), "/sys/bus/pci/drivers/%s", driver);
>>>> + dir = opendir(path);
>>>> + if (!dir)
>>>> + return -errno;
>>>> +
>>>> + driver_fd = dirfd(dir);
>>>> +
>>>> + while ((de = readdir(dir))) {
>>>> + bool ok;
>>>> +
>>>> + /* BDF symlinks are like "0000:01:00.0" and start with
>>>> digit */
>>>> + if (de->d_type != DT_LNK || !isdigit(de->d_name[0]))
>>>> + continue;
>>>> +
>>>> + ok = igt_sysfs_set(driver_fd, "unbind", de->d_name);
>>>> + if (!ok) {
>>>> + int err = -errno;
>>>> +
>>>> + closedir(dir);
>>>> + return err;
>>>> + }
>>>> + }
>>>> +
>>>> + closedir(dir);
>>>> + return 0;
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_set_driver_override:
>>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>>> + * @driver: PCI driver name to force-bind (e.g. "xe-vfio-pci"), or
>>>> + * NULL / empty string to clear an existing override
>>>> + *
>>>> + * Set or clear the PCI driver_override for @pci_slot via sysfs.
>>>> + *
>>>> + * This does not trigger driver reprobe by itself. Call
>>>> + * igt_pci_probe_drivers() afterwards to apply the override.
>>>> + *
>>>> + * Returns: 0 on success, negative errno on failure.
>>>> + */
>>>> +int igt_pci_set_driver_override(const char *pci_slot, const char
>>>> *driver)
>>>> +{
>>>> + char devpath[PATH_MAX];
>>>> + int dev;
>>>> + bool ok;
>>>> +
>>>> + snprintf(devpath, sizeof(devpath), "/sys/bus/pci/devices/%s",
>>>> pci_slot);
>>>> + dev = open(devpath, O_DIRECTORY | O_RDONLY);
>>>> + if (dev < 0)
>>>> + return -errno;
>>>> +
>>>> + ok = igt_sysfs_set(dev, "driver_override", driver ? driver : "");
>>>> + close(dev);
>>>> +
>>>> + return ok ? 0 : -errno;
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_probe_drivers:
>>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>>> + *
>>>> + * Trigger PCI driver reprobe for @pci_slot by writing to
>>>> + * /sys/bus/pci/drivers_probe.
>>>> + *
>>>> + * This causes the kernel to attempt binding the device, honoring any
>>>> + * driver_override previously set.
>>>> + *
>>>> + * Note: a successful write only means the reprobe request was
>>>> accepted.
>>>> + * It does not guarantee that a driver actually bound to the device.
>>>> + *
>>>> + * Returns: 0 on success, negative errno on failure.
>>>> + */
>>>> +int igt_pci_probe_drivers(const char *pci_slot)
>>>> +{
>>>> + int pci;
>>>> + bool ok;
>>>> +
>>>> + pci = open("/sys/bus/pci", O_DIRECTORY | O_RDONLY);
>>>> + if (pci < 0)
>>>> + return -errno;
>>>> +
>>>> + ok = igt_sysfs_set(pci, "drivers_probe", pci_slot);
>>>> + close(pci);
>>>> +
>>>> + return ok ? 0 : -errno;
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_get_bound_driver_name:
>>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>>> + * @driver: destination buffer for the bound driver name
>>>> + * @driver_len: size of @driver in bytes
>>>> + *
>>>> + * Read the currently bound PCI driver name for @pci_slot by
>>>> inspecting the
>>>> + * /sys/bus/pci/devices/<BDF>/driver symlink.
>>>> + *
>>>> + * Return values:
>>>> + * 1: device is bound and @driver contains the driver name
>>>> + * 0: device is unbound (no driver symlink)
>>>> + * <0: negative errno-like value on error
>>>> + */
>>>> +int igt_pci_get_bound_driver_name(const char *pci_slot, char
>>>> *driver, size_t driver_len)
>>>> +{
>>>> + char path[PATH_MAX];
>>>> + char link[PATH_MAX];
>>>> + const char *base;
>>>> + ssize_t len;
>>>> +
>>>> + if (driver && driver_len)
>>>> + driver[0] = '\0';
>>>> +
>>>> + snprintf(path, sizeof(path), "/sys/bus/pci/devices/%s/driver",
>>>> pci_slot);
>>>> + len = readlink(path, link, sizeof(link) - 1);
>>>> + if (len < 0) {
>>>> + if (errno == ENOENT)
>>>> + return 0; /* unbound */
>>>> +
>>>> + return -errno;
>>>> + }
>>>> +
>>>> + link[len] = '\0';
>>>> + base = strrchr(link, '/');
>>>> + base = base ? base + 1 : link;
>>>> +
>>>> + if (driver && driver_len)
>>>
>>> You can check the input params at the beginning of the function and
>>> return error if they are invalid.
>>
>> driver/driver_len are optional, callers may pass NULL and/or 0 when
>> they only need the
>>
>> return value (bound/unbound) and don’t care about the driver name...
>>
>
> Right... now I see it, but it wasn't clear at first glance. Maybe
> function doc should be updated?
> Or probably it would be even better to introduce separate helper
> igt_pci_is_driver_bound()? It would call
> igt_pci_get_bound_driver_name() without passing buffer.
>
Send v4 with updated doc.
>>>
>>>> + snprintf(driver, driver_len, "%s", base);
>>>> +
>>>> + return 1;
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_bind_driver_override:
>>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>>> + * @driver: PCI driver name to bind (must not be NULL or empty)
>>>> + * @timeout_ms: how long to wait for the device to become bound.
>>>> + * If 0, don't wait (best-effort immediate check only).
>>>> + *
>>>> + * Bind @pci_slot to @driver using the driver_override mechanism.
>>>> + *
>>>> + * This helper sets driver_override and immediately triggers driver
>>>> + * reprobe so that the device is bound to the requested driver.
>>>> + *
>>>> + * Returns: 0 on success, negative errno-like value on failure.
>>>> + * A reprobe request can be accepted by sysfs while the driver probe
>>>> + * fails later; this helper verifies the device ended up bound.
>>>> + *
>>>> + * On bind failure, returns a negative error and the failure
>>>> reason may
>>>> + * also be logged to dmesg by the kernel driver.
>>>> + */
>>>> +int igt_pci_bind_driver_override(const char *pci_slot, const char
>>>> *driver,
>>>> + unsigned int timeout_ms)
>>>> +{
>>>> + int ret;
>>>> + char bound[64];
>>>> + int bound_ret;
>>>> + bool bound_ok;
>>>> +
>>>> + if (!driver || !driver[0])
>>>> + return -EINVAL;
>>>> +
>>>> + ret = igt_pci_set_driver_override(pci_slot, driver);
>>>> + if (ret)
>>>> + return ret;
>>>> +
>>>> + ret = igt_pci_probe_drivers(pci_slot);
>>>> + if (ret)
>>>> + return ret;
>>>> +
>>>> + /*
>>>> + * Writing to drivers_probe only tells us the kernel accepted
>>>> the request.
>>>> + * The actual driver probe may still fail (and only be
>>>> reported via dmesg).
>>>> + * Verify that the device ended up bound to the requested driver.
>>>> + */
>>>> + bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound,
>>>> sizeof(bound));
>>>> + if (bound_ret < 0)
>>>> + return bound_ret;
>>>> +
>>>> + if (timeout_ms == 0) {
>>>> + /*
>>>> + * No waiting requested. If the device is already bound,
>>>> validate
>>>> + * it is bound to the expected driver; otherwise treat as
>>>> + * best-effort request-only success.
>>>> + */
>>>> + if (bound_ret > 0 && strcmp(bound, driver))
>>>> + return -EBUSY;
>>>> +
>>>> + return 0;
>>>> + }
>>>> +
>>>> + bound_ok = igt_wait((bound_ret =
>>>> + igt_pci_get_bound_driver_name(pci_slot, bound,
>>>> sizeof(bound))) != 0,
>>>> + timeout_ms, 1);
>>>> + if (!bound_ok)
>>>> + return -EIO;
>>>> +
>>>> + if (bound_ret < 0)
>>>> + return bound_ret;
>>>> +
>>>> + if (strcmp(bound, driver))
>>>> + return -EBUSY;
>>>> +
>>>> + return 0;
>>>> +}
>>>> +
>>>> +/**
>>>> + * igt_pci_unbind_driver_override:
>>>> + * @pci_slot: PCI device BDF (e.g. "0000:01:00.0")
>>>> + * @timeout_ms: how long to wait for the device to become unbound.
>>>> + * If 0, don't wait (best-effort immediate check only).
>>>> + *
>>>> + * Unbind @pci_slot from its currently bound driver (if any) and
>>>> clear
>>>> + * any driver_override setting.
>>>> + *
>>>> + * This is the inverse operation of igt_pci_bind_driver_override().
>>>> + *
>>>> + * Returns: 0 on success, negative errno on failure.
>>>> + */
>>>> +int igt_pci_unbind_driver_override(const char *pci_slot, unsigned
>>>> int timeout_ms)
>>>> +{
>>>> + int ret;
>>>> + int bound_ret;
>>>> + char bound[64];
>>>> + bool unbound_ok;
>>>> +
>>>> + ret = igt_pci_device_unbind(pci_slot);
>>>> + if (ret)
>>>> + return ret;
>>>> +
>>>> + ret = igt_pci_set_driver_override(pci_slot, "");
>>>> + if (ret)
>>>> + return ret;
>>>> +
>>>> + bound_ret = igt_pci_get_bound_driver_name(pci_slot, bound,
>>>> sizeof(bound));
>>>> + if (bound_ret < 0)
>>>> + return bound_ret;
>>>> +
>>>> + if (timeout_ms == 0)
>>>> + return 0;
>>>> +
>>>> + /* Verify the device actually ends up unbound (driver symlink
>>>> removed). */
>>>> + unbound_ok = igt_wait((bound_ret =
>>>> + igt_pci_get_bound_driver_name(pci_slot, bound,
>>>> sizeof(bound))) == 0,
>>>> + timeout_ms, 1);
>>>> + if (!unbound_ok)
>>>> + return -EBUSY;
>>>> +
>>>> + if (bound_ret < 0)
>>>> + return bound_ret;
>>>> +
>>>> + return 0;
>>>> +}
>>>> diff --git a/lib/igt_pci.h b/lib/igt_pci.h
>>>> index 92b9cc392..a66eeebf2 100644
>>>> --- a/lib/igt_pci.h
>>>> +++ b/lib/igt_pci.h
>>>> @@ -6,8 +6,9 @@
>>>> #ifndef __IGT_PCI_H__
>>>> #define __IGT_PCI_H__
>>>> -#include <stdint.h>
>>>> #include <endian.h>
>>>> +#include <stddef.h>
>>>> +#include <stdint.h>
>>>> /* forward declaration */
>>>> struct pci_device;
>>>> @@ -24,5 +25,15 @@ enum pci_cap_id {
>>>> #define PCI_SLOT_PWR_CTRL_PRESENT (1 << 1)
>>>> int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id
>>>> cap_id);
>>>> +int igt_pci_device_unbind(const char *pci_slot);
>>>> +int igt_pci_driver_bind(const char *driver, const char *pci_slot);
>>>> +int igt_pci_driver_unbind(const char *driver, const char *pci_slot);
>>>> +int igt_pci_driver_unbind_all(const char *driver);
>>>> +int igt_pci_set_driver_override(const char *pci_slot, const char
>>>> *driver);
>>>> +int igt_pci_probe_drivers(const char *pci_slot);
>>>> +int igt_pci_get_bound_driver_name(const char *pci_slot, char
>>>> *driver, size_t driver_len);
>>>> +int igt_pci_bind_driver_override(const char *pci_slot, const char
>>>> *driver,
>>>> + unsigned int timeout_ms);
>>>> +int igt_pci_unbind_driver_override(const char *pci_slot, unsigned
>>>> int timeout_ms);
>>>> #endif
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2026-02-11 11:21 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-04 16:32 [PATCH v3 i-g-t 0/7] PCI driver helpers and xe-vfio-pci FLR improvement Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 1/7] lib/igt_sriov_device: Add helper to get VF PCI slot address Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 2/7] lib/igt_pci: Add generic PCI driver override and bind/unbind helpers Marcin Bernatowicz
2026-02-09 10:16 ` Laguna, Lukasz
2026-02-10 10:19 ` Bernatowicz, Marcin
2026-02-11 6:39 ` Laguna, Lukasz
2026-02-11 11:21 ` Bernatowicz, Marcin
2026-02-04 16:32 ` [PATCH v3 i-g-t 3/7] tests/intel/xe_sriov_flr: Attach VFs to xe-vfio-pci before initiating FLR Marcin Bernatowicz
2026-02-09 10:17 ` Laguna, Lukasz
2026-02-04 16:32 ` [PATCH v3 i-g-t 4/7] lib/igt_kmod: Fix PCI bind/unbind for module/driver name mismatch Marcin Bernatowicz
2026-02-04 16:32 ` [PATCH v3 i-g-t 5/7] tests/intel/xe_sriov_flr: Add --wait-flr-ms option Marcin Bernatowicz
2026-02-09 10:18 ` Laguna, Lukasz
2026-02-04 16:32 ` [PATCH v3 i-g-t 6/7] tests/intel/xe_sriov_flr: Add --no-xe-vfio-pci option Marcin Bernatowicz
2026-02-09 10:18 ` Laguna, Lukasz
2026-02-04 16:32 ` [PATCH v3 i-g-t 7/7] tests/intel/xe_sriov_flr: Skip xe-vfio-pci load/bind when IOMMU is off Marcin Bernatowicz
2026-02-09 10:42 ` Laguna, Lukasz
2026-02-10 11:23 ` Bernatowicz, Marcin
2026-02-11 6:43 ` Laguna, Lukasz
2026-02-04 18:27 ` ✓ Xe.CI.BAT: success for PCI driver helpers and xe-vfio-pci FLR improvement (rev3) Patchwork
2026-02-04 18:41 ` ✓ i915.CI.BAT: " Patchwork
2026-02-05 5:02 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-02-05 10:13 ` Bernatowicz, Marcin
2026-02-05 8:13 ` ✓ i915.CI.Full: success " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox