* [PATCH v15 1/5] PCI/IOV: Make pci_lock_rescan_remove() reentrant and protect sriov_add_vfs/sriov_del_vfs
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
@ 2026-09-24 16:29 ` Benjamin Block
2026-09-24 16:40 ` sashiko-bot
2026-09-24 16:29 ` [PATCH v15 2/5] PCI: Fix AB-BA deadlock between device_lock and pci_rescan_remove_lock in remove_store Benjamin Block
` (9 subsequent siblings)
10 siblings, 1 reply; 19+ messages in thread
From: Benjamin Block @ 2026-09-24 16:29 UTC (permalink / raw)
To: Benjamin Block, Bjorn Helgaas
Cc: Christian Borntraeger, Heiko Carstens, linux-intel-xe,
piotr.piorkowski, Farhan Ali, Halil Pasic, Gerd Bayer,
Lukas Wunner, Guenter Roeck, Manivannan Sadhasivam, Vasily Gorbik,
Alexander Gordeev, Ionut Nechita, Tobias Schumacher,
Niklas Schnelle, Ramesh Errabolu, linux-kernel, Sven Schnelle,
Keith Busch, Andreas Krebbel, Julian Ruess, Matthew Brost,
Ionut Nechita, Omar Elghoul, Michal Wajdeczko, linux-pci,
Ionut Nechita, Matthew Rosato, linux-s390, Dragos Tatulea,
Benjamin Block, stable
From: Ionut Nechita <ionut.nechita@windriver.com>
After reverting commit 05703271c3cd ("PCI/IOV: Add PCI rescan-remove
locking when enabling/disabling SR-IOV") and moving the lock to
sriov_numvfs_store(), the path through driver .remove() (e.g. rmmod,
or manual unbind) that calls pci_disable_sriov() directly remains
unprotected against concurrent hotplug events. This affects any SR-IOV
capable driver that calls pci_disable_sriov() from its .remove()
callback (i40e, ice, mlx5, bnxt, etc.).
On s390, platform-generated hot-unplug events for VFs can race with
sriov_del_vfs() when a PF driver is being unloaded. The platform event
handler takes pci_rescan_remove_lock, but sriov_del_vfs() does not,
leading to double removal and list corruption.
We cannot use a plain mutex_lock() here because sriov_del_vfs() may also
be called from paths that already hold pci_rescan_remove_lock (e.g.
remove_store -> pci_stop_and_remove_bus_device_locked, or
sriov_numvfs_store with the lock taken by the previous patch). Using
mutex_lock() in those cases would deadlock.
Make pci_lock_rescan_remove() itself reentrant by tracking the current
owner task and a recursion depth counter, as suggested by Lukas Wunner
and Benjamin Block, since these recursive locking scenarios exist
elsewhere in the PCI subsystem:
- If the lock is already held by the current task (owner == current):
increments the depth counter and returns without re-acquiring,
avoiding deadlock.
- If the lock is held by another task: blocks until the lock is
released, then records the owner and sets depth to 1.
- If the lock is not held: acquires the mutex normally.
pci_unlock_rescan_remove() decrements the depth counter and releases
the mutex (clearing the owner) only when the depth reaches zero.
A WARN_ON catches mismatched unlock calls from tasks that do not own
the lock.
This avoids relying on mutex_get_owner(), which is not exported to
modules and caused link failures for builds that inline this code
outside of the core kernel image.
This approach keeps the API unchanged: callers simply pair lock/unlock
calls without needing to track any return value or use separate
reentrant variants.
Add pci_lock_rescan_remove()/pci_unlock_rescan_remove() calls to
sriov_add_vfs() and sriov_del_vfs() to protect VF addition and
removal against concurrent hotplug events.
Remove the rescan/remove locking from sriov_numvfs_store() that was
introduced by commit a5338e365c45 ("PCI/IOV: Fix race between SR-IOV
enable/disable and hotplug"), since the locking is now handled directly
in sriov_add_vfs() and sriov_del_vfs() where it is actually needed,
reducing the lock scope.
Fixes: 18f9e9d150fc ("PCI/IOV: Factor out sriov_add_vfs()")
Fixes: 05703271c3cd ("PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV")
Fixes: a5338e365c45 ("PCI/IOV: Fix race between SR-IOV enable/disable and hotplug")
Cc: stable@vger.kernel.org
Suggested-by: Lukas Wunner <lukas@wunner.de>
Suggested-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Ionut Nechita <ionut.nechita@windriver.com>
[bblock@linux.ibm.com: rebase on v7.3, READ_/WRITE_ONCE changes, comments]
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
---
drivers/pci/iov.c | 9 +++++----
drivers/pci/probe.c | 27 +++++++++++++++++++++++++--
2 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 9d408fb8ac25..885855650dbf 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -495,9 +495,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
if (num_vfs == 0) {
/* disable VFs */
- pci_lock_rescan_remove();
ret = pdev->driver->sriov_configure(pdev, 0);
- pci_unlock_rescan_remove();
goto exit;
}
@@ -509,9 +507,7 @@ static ssize_t sriov_numvfs_store(struct device *dev,
goto exit;
}
- pci_lock_rescan_remove();
ret = pdev->driver->sriov_configure(pdev, num_vfs);
- pci_unlock_rescan_remove();
if (ret < 0)
goto exit;
@@ -633,15 +629,18 @@ static int sriov_add_vfs(struct pci_dev *dev, u16 num_vfs)
if (dev->no_vf_scan)
return 0;
+ pci_lock_rescan_remove();
for (i = 0; i < num_vfs; i++) {
rc = pci_iov_add_virtfn(dev, i);
if (rc)
goto failed;
}
+ pci_unlock_rescan_remove();
return 0;
failed:
while (i--)
pci_iov_remove_virtfn(dev, i);
+ pci_unlock_rescan_remove();
return rc;
}
@@ -766,8 +765,10 @@ static void sriov_del_vfs(struct pci_dev *dev)
struct pci_sriov *iov = dev->sriov;
int i;
+ pci_lock_rescan_remove();
for (i = 0; i < iov->num_VFs; i++)
pci_iov_remove_virtfn(dev, i);
+ pci_unlock_rescan_remove();
}
static void sriov_disable(struct pci_dev *dev)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 27008e2ea5af..cff9f0bf4c4b 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -3510,16 +3510,39 @@ EXPORT_SYMBOL_GPL(pci_rescan_bus);
* routines should always be executed under this mutex.
*/
DEFINE_MUTEX(pci_rescan_remove_lock);
+static const struct task_struct *pci_rescan_remove_owner;
+static size_t pci_rescan_remove_depth;
void pci_lock_rescan_remove(void)
{
- mutex_lock(&pci_rescan_remove_lock);
+ if (READ_ONCE(pci_rescan_remove_owner) == current) {
+ /*
+ * read and modify while &pci_rescan_remove_lock is held by
+ * current thread
+ */
+ pci_rescan_remove_depth++;
+ } else {
+ mutex_lock(&pci_rescan_remove_lock);
+ WRITE_ONCE(pci_rescan_remove_owner, current);
+ pci_rescan_remove_depth = 1;
+ }
}
EXPORT_SYMBOL_GPL(pci_lock_rescan_remove);
void pci_unlock_rescan_remove(void)
{
- mutex_unlock(&pci_rescan_remove_lock);
+ if (WARN_ON(READ_ONCE(pci_rescan_remove_owner) != current))
+ return;
+
+ /*
+ * read and modify while &pci_rescan_remove_lock is held by current
+ * thread
+ */
+ pci_rescan_remove_depth--;
+ if (pci_rescan_remove_depth == 0) {
+ WRITE_ONCE(pci_rescan_remove_owner, NULL);
+ mutex_unlock(&pci_rescan_remove_lock);
+ }
}
EXPORT_SYMBOL_GPL(pci_unlock_rescan_remove);
--
2.55.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v15 1/5] PCI/IOV: Make pci_lock_rescan_remove() reentrant and protect sriov_add_vfs/sriov_del_vfs
2026-09-24 16:29 ` [PATCH v15 1/5] PCI/IOV: Make pci_lock_rescan_remove() reentrant and protect sriov_add_vfs/sriov_del_vfs Benjamin Block
@ 2026-09-24 16:40 ` sashiko-bot
0 siblings, 0 replies; 19+ messages in thread
From: sashiko-bot @ 2026-09-24 16:40 UTC (permalink / raw)
To: Benjamin Block
Cc: Alexander Gordeev, Christian Borntraeger, linux-s390,
Vasily Gorbik, intel-xe, linux-pci, Heiko Carstens
> From: Ionut Nechita <ionut.nechita@windriver.com>
>
> After reverting commit 05703271c3cd ("PCI/IOV: Add PCI rescan-remove
> locking when enabling/disabling SR-IOV") and moving the lock to
> sriov_numvfs_store(), the path through driver .remove() (e.g. rmmod,
> or manual unbind) that calls pci_disable_sriov() directly remains
> unprotected against concurrent hotplug events. This affects any SR-IOV
> capable driver that calls pci_disable_sriov() from its .remove()
> callback (i40e, ice, mlx5, bnxt, etc.).
>
> On s390, platform-generated hot-unplug events for VFs can race with
> sriov_del_vfs() when a PF driver is being unloaded. The platform event
> handler takes pci_rescan_remove_lock, but sriov_del_vfs() does not,
> leading to double removal and list corruption.
>
> [ ... ]
> Suggested-by: Lukas Wunner <lukas@wunner.de>
> Suggested-by: Benjamin Block <bblock@linux.ibm.com>
> Signed-off-by: Ionut Nechita <ionut.nechita@windriver.com>
> [bblock@linux.ibm.com: rebase on v7.3, READ_/WRITE_ONCE changes, comments]
> Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1790267348.git.bblock@linux.ibm.com?part=1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v15 2/5] PCI: Fix AB-BA deadlock between device_lock and pci_rescan_remove_lock in remove_store
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
2026-09-24 16:29 ` [PATCH v15 1/5] PCI/IOV: Make pci_lock_rescan_remove() reentrant and protect sriov_add_vfs/sriov_del_vfs Benjamin Block
@ 2026-09-24 16:29 ` Benjamin Block
2026-09-24 16:38 ` sashiko-bot
2026-09-24 16:29 ` [PATCH v15 3/5] PCI: Move declaration of pci_rescan_remove_lock into public pci.h Benjamin Block
` (8 subsequent siblings)
10 siblings, 1 reply; 19+ messages in thread
From: Benjamin Block @ 2026-09-24 16:29 UTC (permalink / raw)
To: Benjamin Block, Bjorn Helgaas
Cc: Christian Borntraeger, Heiko Carstens, linux-intel-xe,
piotr.piorkowski, Farhan Ali, Halil Pasic, Gerd Bayer,
Lukas Wunner, Guenter Roeck, Manivannan Sadhasivam, Vasily Gorbik,
Alexander Gordeev, Ionut Nechita, Tobias Schumacher,
Niklas Schnelle, Ramesh Errabolu, linux-kernel, Sven Schnelle,
Keith Busch, Andreas Krebbel, Julian Ruess, Matthew Brost,
Ionut Nechita, Omar Elghoul, Michal Wajdeczko, linux-pci,
Ionut Nechita, Matthew Rosato, linux-s390, Dragos Tatulea,
Benjamin Block, stable
From: Ionut Nechita <ionut.nechita@windriver.com>
remove_store() calls pci_stop_and_remove_bus_device_locked() which
takes pci_rescan_remove_lock first, then device_lock during driver
release. Meanwhile, unbind_store() takes device_lock first (via
device_driver_detach), and the driver's .remove() callback may call
pci_disable_sriov() -> sriov_del_vfs() -> pci_lock_rescan_remove().
This creates an AB-BA deadlock:
CPU0 (remove_store) CPU1 (unbind_store)
-------------------- --------------------
pci_lock_rescan_remove()
device_lock()
driver .remove()
sriov_del_vfs()
pci_lock_rescan_remove() <-- WAITS
pci_stop_bus_device()
device_release_driver()
device_lock() <-- WAITS
Fix this by first marking the device as dead using kill_device() to
prevent any new driver from binding, then calling device_release_driver()
before pci_stop_and_remove_bus_device_locked().
Marking the device dead closes the race window between unbinding and
removal where a new driver could theoretically bind: once the dead flag
is set, the device core will refuse any new driver probe.
After device_release_driver() returns, the driver is already unbound,
so the subsequent device_release_driver() call inside
pci_stop_and_remove_bus_device_locked() becomes a no-op.
Fixes: a5338e365c45 ("PCI/IOV: Fix race between SR-IOV enable/disable and hotplug")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Closes: https://lore.kernel.org/linux-pci/0ca9e675-478c-411d-be32-e2d81439288f@roeck-us.net/
Reported-by: Benjamin Block <bblock@linux.ibm.com>
Closes: https://lore.kernel.org/linux-pci/20260317090149.GA3835708@chlorum.ategam.org/
Suggested-by: Benjamin Block <bblock@linux.ibm.com>
Cc: stable@vger.kernel.org
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Tested-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Ionut Nechita <ionut.nechita@windriver.com>
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
---
drivers/pci/pci-sysfs.c | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 1f21856aac8a..b2f3e052d903 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -520,8 +520,36 @@ static ssize_t remove_store(struct device *dev, struct device_attribute *attr,
if (kstrtoul(buf, 0, &val) < 0)
return -EINVAL;
- if (val && device_remove_file_self(dev, attr))
+ if (val && device_remove_file_self(dev, attr)) {
+ /*
+ * Mark the device as dead so that no new driver can bind
+ * between the unbind and the removal below. Once the
+ * dead flag is set, the device core will refuse any new
+ * driver probe.
+ */
+ device_lock(dev);
+ kill_device(dev);
+ device_unlock(dev);
+
+ /*
+ * Unbind the driver before removing the device to avoid
+ * an AB-BA deadlock between device_lock and
+ * pci_rescan_remove_lock. Without this, remove_store
+ * takes pci_rescan_remove_lock first (via
+ * pci_stop_and_remove_bus_device_locked) and then
+ * device_lock during driver release, while a concurrent
+ * unbind_store (or sriov_numvfs_store) takes device_lock
+ * first and then pci_rescan_remove_lock (via
+ * sriov_del_vfs), creating a circular dependency.
+ *
+ * By unbinding first, the driver's .remove() callback
+ * (including any SR-IOV VF cleanup) completes before
+ * pci_rescan_remove_lock is acquired, ensuring both
+ * paths take locks in the same order.
+ */
+ device_release_driver(dev);
pci_stop_and_remove_bus_device_locked(to_pci_dev(dev));
+ }
return count;
}
static DEVICE_ATTR_IGNORE_LOCKDEP(remove, 0220, NULL,
--
2.55.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v15 2/5] PCI: Fix AB-BA deadlock between device_lock and pci_rescan_remove_lock in remove_store
2026-09-24 16:29 ` [PATCH v15 2/5] PCI: Fix AB-BA deadlock between device_lock and pci_rescan_remove_lock in remove_store Benjamin Block
@ 2026-09-24 16:38 ` sashiko-bot
0 siblings, 0 replies; 19+ messages in thread
From: sashiko-bot @ 2026-09-24 16:38 UTC (permalink / raw)
To: Benjamin Block
Cc: Vasily Gorbik, linux-pci, Heiko Carstens, Alexander Gordeev,
Christian Borntraeger, intel-xe, linux-s390
> From: Ionut Nechita <ionut.nechita@windriver.com>
>
> remove_store() calls pci_stop_and_remove_bus_device_locked() which
> takes pci_rescan_remove_lock first, then device_lock during driver
> release. Meanwhile, unbind_store() takes device_lock first (via
> device_driver_detach), and the driver's .remove() callback may call
> pci_disable_sriov() -> sriov_del_vfs() -> pci_lock_rescan_remove().
>
> This creates an AB-BA deadlock:
>
> CPU0 (remove_store) CPU1 (unbind_store)
> -------------------- --------------------
> pci_lock_rescan_remove()
> device_lock()
> driver .remove()
> [ ... ]
> Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
> Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
> Tested-by: Benjamin Block <bblock@linux.ibm.com>
> Signed-off-by: Ionut Nechita <ionut.nechita@windriver.com>
> Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1790267348.git.bblock@linux.ibm.com?part=2
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v15 3/5] PCI: Move declaration of pci_rescan_remove_lock into public pci.h
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
2026-09-24 16:29 ` [PATCH v15 1/5] PCI/IOV: Make pci_lock_rescan_remove() reentrant and protect sriov_add_vfs/sriov_del_vfs Benjamin Block
2026-09-24 16:29 ` [PATCH v15 2/5] PCI: Fix AB-BA deadlock between device_lock and pci_rescan_remove_lock in remove_store Benjamin Block
@ 2026-09-24 16:29 ` Benjamin Block
2026-09-24 16:35 ` sashiko-bot
2026-09-24 16:29 ` [PATCH v15 4/5] PCI: Provide lock guard for pci_rescan_remove_lock Benjamin Block
` (7 subsequent siblings)
10 siblings, 1 reply; 19+ messages in thread
From: Benjamin Block @ 2026-09-24 16:29 UTC (permalink / raw)
To: Benjamin Block, Bjorn Helgaas
Cc: Christian Borntraeger, Heiko Carstens, linux-intel-xe,
piotr.piorkowski, Farhan Ali, Halil Pasic, Gerd Bayer,
Lukas Wunner, Guenter Roeck, Manivannan Sadhasivam, Vasily Gorbik,
Alexander Gordeev, Ionut Nechita, Tobias Schumacher,
Niklas Schnelle, Ramesh Errabolu, linux-kernel, Sven Schnelle,
Keith Busch, Andreas Krebbel, Julian Ruess, Matthew Brost,
Ionut Nechita, Omar Elghoul, Michal Wajdeczko, linux-pci,
Ionut Nechita, Matthew Rosato, linux-s390, Dragos Tatulea,
Benjamin Block
So far it is possible to use and call the functions
pci_lock_rescan_remove() and pci_unlock_rescan_remove() from any PCI
code, including modules and architecture code; but the lock variable
`pci_rescan_remove_lock` itself is private to objects residing in
`drivers/pci/` via the header `drivers/pci/pci.h`.
This makes it possible to use the lock - lock it, unlock it - from
anywhere, but it is not possible to use lockdep annotations such as
lockdep_assert_held(), or sparse annotations such as __must_hold() in
modules or architecture code for PCI to make the usage more safe.
Since it is useful for `pci_rescan_remove_lock` to have such
annotations, move the variable declaration into `include/linux/pci.h`.
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
---
drivers/pci/pci.h | 2 --
drivers/pci/probe.c | 1 +
include/linux/pci.h | 2 ++
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index ba3c3fddddc2..811958807b63 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -114,8 +114,6 @@ unsigned char pcie_get_link_speed(unsigned int speed);
extern bool pci_early_dump;
-extern struct mutex pci_rescan_remove_lock;
-
bool pcie_cap_has_lnkctl(const struct pci_dev *dev);
bool pcie_cap_has_lnkctl2(const struct pci_dev *dev);
bool pcie_cap_has_rtctl(const struct pci_dev *dev);
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index cff9f0bf4c4b..85b96a8e40e7 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -3510,6 +3510,7 @@ EXPORT_SYMBOL_GPL(pci_rescan_bus);
* routines should always be executed under this mutex.
*/
DEFINE_MUTEX(pci_rescan_remove_lock);
+EXPORT_SYMBOL_GPL(pci_rescan_remove_lock);
static const struct task_struct *pci_rescan_remove_owner;
static size_t pci_rescan_remove_depth;
diff --git a/include/linux/pci.h b/include/linux/pci.h
index d31a8d107b1e..d704a32ff988 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -40,6 +40,7 @@
#include <linux/io.h>
#include <linux/resource_ext.h>
#include <linux/msi_api.h>
+#include <linux/mutex.h>
#include <uapi/linux/pci.h>
#include <linux/pci_ids.h>
@@ -1551,6 +1552,7 @@ void set_pcie_hotplug_bridge(struct pci_dev *pdev);
/* Functions for PCI Hotplug drivers to use */
unsigned int pci_rescan_bus(struct pci_bus *bus);
+extern struct mutex pci_rescan_remove_lock;
void pci_lock_rescan_remove(void);
void pci_unlock_rescan_remove(void);
--
2.55.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v15 3/5] PCI: Move declaration of pci_rescan_remove_lock into public pci.h
2026-09-24 16:29 ` [PATCH v15 3/5] PCI: Move declaration of pci_rescan_remove_lock into public pci.h Benjamin Block
@ 2026-09-24 16:35 ` sashiko-bot
0 siblings, 0 replies; 19+ messages in thread
From: sashiko-bot @ 2026-09-24 16:35 UTC (permalink / raw)
To: Benjamin Block
Cc: Vasily Gorbik, Alexander Gordeev, linux-pci, linux-s390,
Heiko Carstens, intel-xe, Christian Borntraeger
> So far it is possible to use and call the functions
> pci_lock_rescan_remove() and pci_unlock_rescan_remove() from any PCI
> code, including modules and architecture code; but the lock variable
> `pci_rescan_remove_lock` itself is private to objects residing in
> `drivers/pci/` via the header `drivers/pci/pci.h`.
>
> This makes it possible to use the lock - lock it, unlock it - from
> anywhere, but it is not possible to use lockdep annotations such as
> lockdep_assert_held(), or sparse annotations such as __must_hold() in
> modules or architecture code for PCI to make the usage more safe.
>
> Since it is useful for `pci_rescan_remove_lock` to have such
> annotations, move the variable declaration into `include/linux/pci.h`.
>
> Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
> Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1790267348.git.bblock@linux.ibm.com?part=3
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v15 4/5] PCI: Provide lock guard for pci_rescan_remove_lock
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
` (2 preceding siblings ...)
2026-09-24 16:29 ` [PATCH v15 3/5] PCI: Move declaration of pci_rescan_remove_lock into public pci.h Benjamin Block
@ 2026-09-24 16:29 ` Benjamin Block
2026-09-24 16:34 ` sashiko-bot
2026-09-24 16:29 ` [PATCH v15 5/5] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release Benjamin Block
` (6 subsequent siblings)
10 siblings, 1 reply; 19+ messages in thread
From: Benjamin Block @ 2026-09-24 16:29 UTC (permalink / raw)
To: Benjamin Block, Bjorn Helgaas
Cc: Christian Borntraeger, Heiko Carstens, linux-intel-xe,
piotr.piorkowski, Farhan Ali, Halil Pasic, Gerd Bayer,
Lukas Wunner, Guenter Roeck, Manivannan Sadhasivam, Vasily Gorbik,
Alexander Gordeev, Ionut Nechita, Tobias Schumacher,
Niklas Schnelle, Ramesh Errabolu, linux-kernel, Sven Schnelle,
Keith Busch, Andreas Krebbel, Julian Ruess, Matthew Brost,
Ionut Nechita, Omar Elghoul, Michal Wajdeczko, linux-pci,
Ionut Nechita, Matthew Rosato, linux-s390, Dragos Tatulea,
Benjamin Block
Make it possible to use guard() or scoped_guard() to lock, and
automatically unlock `pci_rescan_remove_lock`.
Since the actual mutex `pci_rescan_remove_lock` is always supposed to be
taken and released using the functions pci_lock_rescan_remove() and
pci_unlock_rescan_remove() it is not possible to simply use the already
existing guards for `struct mutex`. Instead define a new guard
`pci_rescan_remove` that will also call the functions in question, but
is usable via guard() or scoped_guard().
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
---
include/linux/pci.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index d704a32ff988..a0e36b7acac0 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -42,6 +42,7 @@
#include <linux/msi_api.h>
#include <linux/mutex.h>
#include <uapi/linux/pci.h>
+#include <linux/cleanup.h>
#include <linux/pci_ids.h>
@@ -1555,6 +1556,8 @@ unsigned int pci_rescan_bus(struct pci_bus *bus);
extern struct mutex pci_rescan_remove_lock;
void pci_lock_rescan_remove(void);
void pci_unlock_rescan_remove(void);
+DEFINE_LOCK_GUARD_0(pci_rescan_remove, pci_lock_rescan_remove(),
+ pci_unlock_rescan_remove());
/* Vital Product Data routines */
ssize_t pci_read_vpd(struct pci_dev *dev, loff_t pos, size_t count, void *buf);
--
2.55.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v15 5/5] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
` (3 preceding siblings ...)
2026-09-24 16:29 ` [PATCH v15 4/5] PCI: Provide lock guard for pci_rescan_remove_lock Benjamin Block
@ 2026-09-24 16:29 ` Benjamin Block
2026-09-24 16:44 ` sashiko-bot
2026-10-02 12:55 ` [PATCH v16 " Benjamin Block
2026-09-24 16:35 ` ✗ CI.checkpatch: warning for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Patchwork
` (5 subsequent siblings)
10 siblings, 2 replies; 19+ messages in thread
From: Benjamin Block @ 2026-09-24 16:29 UTC (permalink / raw)
To: Benjamin Block, Bjorn Helgaas
Cc: Christian Borntraeger, Heiko Carstens, linux-intel-xe,
piotr.piorkowski, Farhan Ali, Halil Pasic, Gerd Bayer,
Lukas Wunner, Guenter Roeck, Manivannan Sadhasivam, Vasily Gorbik,
Alexander Gordeev, Ionut Nechita, Tobias Schumacher,
Niklas Schnelle, Ramesh Errabolu, linux-kernel, Sven Schnelle,
Keith Busch, Andreas Krebbel, Julian Ruess, Matthew Brost,
Ionut Nechita, Omar Elghoul, Michal Wajdeczko, linux-pci,
Ionut Nechita, Matthew Rosato, linux-s390, Dragos Tatulea,
Benjamin Block, stable
When removing PCI device or PCI bus objects there are a couple of
call-chains where it is possible that the kernel runs into a circular
deadlock involving the central `pci_rescan_remove_lock`.
Two examples:
(A) Thread α receives a PCI event notifying the kernel that a PCI
virtual function has been moved into Reserved state, and so the PCI
subsystem will try to remove that PCI function. The call-chain for that
looks like this:
__zpci_event_availability()
-> zpci_zdev_put() # will lock(zpci_add_remove_lock),
# and lock(zpci_list_lock)
-> zpci_release_device() # will unlock(zpci_list_lock)
-> zpci_cleanup_bus_resources() # will lock(pci_rescan_remove_lock)
Thread β is triggered by userspace writing 0 into the SysFS attribute
`sriov_numvfs` of the parent PCI physical function of the same function
we just try to remove. This will also try to release the PCI virtual
function; but this time the call-chain looks like this:
sriov_numvfs_store()
-> ... (device driver dependent)
-> sriov_disable()
-> sriov_del_vfs() # will lock(pci_rescan_remove_lock)
-> ... (deep chain)
-> pci_release_dev()
-> pcibios_release_device()
-> zpci_zdev_put() # will lock(zpci_add_remove_lock)
If thread α and β coincide, this will result in a cyclic deadlock.
(B) Thread γ receives a PCI event notifying the kernel that one or more
PCI functions got hot plugged, and need to be configured. A possible
call-chain that might happen while the PCI subsystem is trying to add
those new function looks like this:
__zpci_event_availability()
-> ... (multiple ways in which a device gets added)
-> zpci_add_device() # will lock(zpci_add_remove_lock)
-> zpci_bus_device_register()
-> zpci_bus_put() # will lock(zbus_list_lock)
-> zpci_bus_release() # will unlock(zbus_list_lock)
# will lock(pci_rescan_remove_lock)
Now the same thread β as above in (A) might coincide, and again could
result in a cyclic deadlock.
`pci_rescan_remove_lock` has to be and is taken at a "high level" in
most call-chains since it is intended to protect/mutual exclude all
rescan and/or removal actions taken in the PCI subsystem. So to prevent
the outlined deadlock scenarios above remove it instead from the "low
level" release functions for both the PCI device and PCI bus objects.
Instead, lock `pci_rescan_remove_lock` in all call-chains leading to
those release functions:
* initialization of the PCI subsystem;
* processing of availability events (CRWs) for PCI functions;
* processing of error events (CRWs) for PCI functions;
* architecture specific release PCI device implementation.
Additionally, remove `pci_rescan_remove_lock` from zpci_bus_scan_bus()
since its only caller zpci_scan_devices() is now always called with
`pci_rescan_remove_lock` already held.
Lastly, document the new locking expectations after these changes. Add
sparse and lockdep annotations to functions that previously locked
`pci_rescan_remove_lock` explicitly, making sure the lock is now
already held when called. Additionally also add the annotations to
zpci_zdev_put() and zpci_bus_put() to make sure that every function that
potentially drops the last reference already holds the lock to prevent
surprises.
Fixes: 05bc1be6db4b2 ("s390/pci: create zPCI bus")
Fixes: ab909509850b2 ("PCI: s390: Fix use-after-free of PCI resources with per-function hotplug")
Cc: stable@vger.kernel.org
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
---
arch/s390/pci/pci.c | 11 ++++++++---
arch/s390/pci/pci_bus.c | 15 ++++++++-------
arch/s390/pci/pci_event.c | 28 ++++++++++++++++++----------
arch/s390/pci/pci_iov.c | 3 +--
arch/s390/pci/pci_sysfs.c | 25 ++++++++++++-------------
5 files changed, 47 insertions(+), 35 deletions(-)
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index d64c544b32b0..4fc3e3dc87ad 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -71,9 +71,11 @@ struct airq_iv *zpci_aif_sbv;
EXPORT_SYMBOL_GPL(zpci_aif_sbv);
void zpci_zdev_put(struct zpci_dev *zdev)
+ __must_hold(&pci_rescan_remove_lock)
{
if (!zdev)
return;
+ lockdep_assert_held(&pci_rescan_remove_lock);
mutex_lock(&zpci_add_remove_lock);
kref_put_lock(&zdev->kref, zpci_release_device, &zpci_list_lock);
mutex_unlock(&zpci_add_remove_lock);
@@ -583,11 +585,13 @@ int zpci_setup_bus_resources(struct zpci_dev *zdev)
}
static void zpci_cleanup_bus_resources(struct zpci_dev *zdev)
+ __must_hold(&pci_rescan_remove_lock)
{
struct resource *res;
int i;
- pci_lock_rescan_remove();
+ lockdep_assert_held(&pci_rescan_remove_lock);
+
for (i = 0; i < PCI_STD_NUM_BARS; i++) {
res = zdev->bars[i].res;
if (!res)
@@ -600,7 +604,6 @@ static void zpci_cleanup_bus_resources(struct zpci_dev *zdev)
kfree(res);
}
zdev->has_resources = 0;
- pci_unlock_rescan_remove();
}
int pcibios_device_add(struct pci_dev *pdev)
@@ -630,6 +633,7 @@ void pcibios_release_device(struct pci_dev *pdev)
{
struct zpci_dev *zdev = to_zpci(pdev);
+ guard(pci_rescan_remove)();
zpci_unmap_resources(pdev);
zpci_zdev_put(zdev);
}
@@ -1208,7 +1212,8 @@ static int __init pci_base_init(void)
if (rc)
goto out_irq;
- rc = zpci_scan_devices();
+ scoped_guard(pci_rescan_remove)
+ rc = zpci_scan_devices();
if (rc)
goto out_find;
diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c
index 36a4807285fa..c1b48b572e86 100644
--- a/arch/s390/pci/pci_bus.c
+++ b/arch/s390/pci/pci_bus.c
@@ -82,9 +82,8 @@ int zpci_bus_scan_device(struct zpci_dev *zdev)
if (!pdev)
return -ENODEV;
- pci_lock_rescan_remove();
+ guard(pci_rescan_remove)();
pci_bus_add_device(pdev);
- pci_unlock_rescan_remove();
return 0;
}
@@ -132,10 +131,13 @@ void zpci_bus_remove_device(struct zpci_dev *zdev, bool set_error)
* Return: 0 on success, an error value otherwise
*/
int zpci_bus_scan_bus(struct zpci_bus *zbus)
+ __must_hold(&pci_rescan_remove_lock)
{
struct zpci_dev *zdev;
int devfn, rc, ret = 0;
+ lockdep_assert_held(&pci_rescan_remove_lock);
+
for (devfn = 0; devfn < ZPCI_FUNCTIONS_PER_BUS; devfn++) {
zdev = zbus->function[devfn];
if (zdev && zdev->state == ZPCI_FN_STATE_CONFIGURED) {
@@ -145,10 +147,8 @@ int zpci_bus_scan_bus(struct zpci_bus *zbus)
}
}
- pci_lock_rescan_remove();
pci_scan_child_bus(zbus->bus);
pci_bus_add_devices(zbus->bus);
- pci_unlock_rescan_remove();
return ret;
}
@@ -214,11 +214,12 @@ static int zpci_bus_create_pci_bus(struct zpci_bus *zbus, struct zpci_dev *fr, s
* run of the function.
*/
static inline void zpci_bus_release(struct kref *kref)
- __releases(&zbus_list_lock)
+ __releases(&zbus_list_lock) __must_hold(&pci_rescan_remove_lock)
{
struct zpci_bus *zbus = container_of(kref, struct zpci_bus, kref);
lockdep_assert_held(&zbus_list_lock);
+ lockdep_assert_held(&pci_rescan_remove_lock);
list_del(&zbus->bus_next);
mutex_unlock(&zbus_list_lock);
@@ -229,14 +230,12 @@ static inline void zpci_bus_release(struct kref *kref)
*/
if (zbus->bus) {
- pci_lock_rescan_remove();
pci_stop_root_bus(zbus->bus);
zpci_free_domain(zbus->domain_nr);
pci_free_resource_list(&zbus->resources);
pci_remove_root_bus(zbus->bus);
- pci_unlock_rescan_remove();
}
zpci_remove_parent_msi_domain(zbus);
@@ -250,7 +249,9 @@ static inline void __zpci_bus_get(struct zpci_bus *zbus)
}
static inline void zpci_bus_put(struct zpci_bus *zbus)
+ __must_hold(&pci_rescan_remove_lock)
{
+ lockdep_assert_held(&pci_rescan_remove_lock);
kref_put_mutex(&zbus->kref, zpci_bus_release, &zbus_list_lock);
}
diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c
index f317a1465dad..268f435677ae 100644
--- a/arch/s390/pci/pci_event.c
+++ b/arch/s390/pci/pci_event.c
@@ -382,6 +382,7 @@ static void __zpci_event_error(struct zpci_ccdf_err *ccdf)
pci_dev_put(pdev);
no_pdev:
mutex_unlock(&zdev->state_lock);
+ guard(pci_rescan_remove)();
zpci_zdev_put(zdev);
}
@@ -428,6 +429,7 @@ static bool zpci_event_avail_any_device(struct zpci_ccdf_avail *ccdf)
if (ccdf->pec != 0x0306)
return false;
/* 0x308 or 0x302 for multiple devices */
+ guard(pci_rescan_remove)();
zpci_remove_reserved_devices();
zpci_scan_devices();
return true;
@@ -436,26 +438,29 @@ static bool zpci_event_avail_any_device(struct zpci_ccdf_avail *ccdf)
static void zpci_event_avail_new_device(struct zpci_ccdf_avail *ccdf)
{
struct zpci_dev *zdev;
+ bool freed = false;
switch (ccdf->pec) {
case 0x0301: /* Reserved|Standby -> Configured */
zdev = zpci_create_device(ccdf->fid, ccdf->fh, ZPCI_FN_STATE_CONFIGURED);
if (IS_ERR(zdev))
break;
- if (zpci_add_device(zdev)) {
- kfree(zdev);
- break;
- }
- zpci_scan_configured_device(zdev, ccdf->fh);
+ scoped_guard(pci_rescan_remove)
+ if (zpci_add_device(zdev)) {
+ kfree(zdev);
+ /* break; is incompatible w/ scoped_guard() */
+ freed = true;
+ }
+ if (!freed)
+ zpci_scan_configured_device(zdev, ccdf->fh);
break;
case 0x0302: /* Reserved -> Standby */
zdev = zpci_create_device(ccdf->fid, ccdf->fh, ZPCI_FN_STATE_STANDBY);
if (IS_ERR(zdev))
break;
- if (zpci_add_device(zdev)) {
- kfree(zdev);
- break;
- }
+ scoped_guard(pci_rescan_remove)
+ if (zpci_add_device(zdev))
+ kfree(zdev);
break;
}
}
@@ -497,11 +502,13 @@ static void zpci_event_avail_existing_device(struct zpci_dev *zdev, struct zpci_
/* The 0x0304 event may immediately reserve the device */
if (!clp_get_state(zdev->fid, &state) &&
state == ZPCI_FN_STATE_RESERVED) {
+ guard(pci_rescan_remove)();
zpci_device_reserved(zdev);
}
break;
case 0x0308: /* Standby -> Reserved */
- zpci_device_reserved(zdev);
+ scoped_guard(pci_rescan_remove)
+ zpci_device_reserved(zdev);
break;
}
}
@@ -523,5 +530,6 @@ void zpci_event_availability(void *data)
mutex_lock(&zdev->state_lock);
zpci_event_avail_existing_device(zdev, ccdf);
mutex_unlock(&zdev->state_lock);
+ guard(pci_rescan_remove)();
zpci_zdev_put(zdev);
}
diff --git a/arch/s390/pci/pci_iov.c b/arch/s390/pci/pci_iov.c
index 13050ce5c3e9..1f7e4dd018e7 100644
--- a/arch/s390/pci/pci_iov.c
+++ b/arch/s390/pci/pci_iov.c
@@ -38,10 +38,9 @@ void zpci_iov_map_resources(struct pci_dev *pdev)
void zpci_iov_remove_virtfn(struct pci_dev *pdev, int vfn)
{
- pci_lock_rescan_remove();
+ guard(pci_rescan_remove)();
/* Linux' vfid's start at 0 vfn at 1 */
pci_iov_remove_virtfn(pdev->physfn, vfn - 1);
- pci_unlock_rescan_remove();
}
static int zpci_iov_link_virtfn(struct pci_dev *pdev, struct pci_dev *virtfn, int vfid)
diff --git a/arch/s390/pci/pci_sysfs.c b/arch/s390/pci/pci_sysfs.c
index bbb76113a4d0..1e211bcb284e 100644
--- a/arch/s390/pci/pci_sysfs.c
+++ b/arch/s390/pci/pci_sysfs.c
@@ -76,10 +76,15 @@ static int _do_recover(struct pci_dev *pdev, struct zpci_dev *zdev)
return ret;
}
+/* So we don't have to mix cleanup.h helpers and gotos in recover_store() */
+DEFINE_CLASS(sysfs_break_active_protection, struct kernfs_node *,
+ if (_T) sysfs_unbreak_active_protection(_T),
+ sysfs_break_active_protection(kobj, attr),
+ struct kobject *kobj, const struct attribute *attr);
+
static ssize_t recover_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
- struct kernfs_node *kn;
struct pci_dev *pdev = to_pci_dev(dev);
struct zpci_dev *zdev = to_zpci(pdev);
int ret = 0;
@@ -94,13 +99,13 @@ static ssize_t recover_store(struct device *dev, struct device_attribute *attr,
* This is analogous to sdev_store_delete() in
* drivers/scsi/scsi_sysfs.c
*/
- kn = sysfs_break_active_protection(&dev->kobj, &attr->attr);
+ CLASS(sysfs_break_active_protection, kn)(&dev->kobj, &attr->attr);
WARN_ON_ONCE(!kn);
/* Device needs to be configured and state must not change */
- mutex_lock(&zdev->state_lock);
+ guard(mutex)(&zdev->state_lock);
if (zdev->state != ZPCI_FN_STATE_CONFIGURED)
- goto out;
+ return count;
/* device_remove_file() serializes concurrent calls ignoring all but
* the first
@@ -109,20 +114,14 @@ static ssize_t recover_store(struct device *dev, struct device_attribute *attr,
/* A concurrent call to recover_store() may slip between
* sysfs_break_active_protection() and the sysfs file removal.
- * Once it unblocks from pci_lock_rescan_remove() the original pdev
+ * Once it unblocks from guard(pci_rescan_remove)() the original pdev
* will already be removed.
*/
- pci_lock_rescan_remove();
- if (pci_dev_is_added(pdev)) {
+ guard(pci_rescan_remove)();
+ if (pci_dev_is_added(pdev))
ret = _do_recover(pdev, zdev);
- }
pci_rescan_bus(zdev->zbus->bus);
- pci_unlock_rescan_remove();
-out:
- mutex_unlock(&zdev->state_lock);
- if (kn)
- sysfs_unbreak_active_protection(kn);
return ret ? ret : count;
}
static DEVICE_ATTR_WO(recover);
--
2.55.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v15 5/5] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
2026-09-24 16:29 ` [PATCH v15 5/5] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release Benjamin Block
@ 2026-09-24 16:44 ` sashiko-bot
2026-09-25 5:20 ` Benjamin Block
2026-10-02 12:55 ` [PATCH v16 " Benjamin Block
1 sibling, 1 reply; 19+ messages in thread
From: sashiko-bot @ 2026-09-24 16:44 UTC (permalink / raw)
To: Benjamin Block
Cc: linux-s390, Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
Christian Borntraeger, intel-xe, linux-pci
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] pci: mixing goto and cleanup helpers in __zpci_event_error and pci_base_init
--
commit 703530c4b98b53581e1625ffc110fa9701e163ee
Author: Benjamin Block <bblock@linux.ibm.com>
s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
When removing PCI device or PCI bus objects there are a couple of
call-chains where it is possible that the kernel runs into a circular
deadlock involving the central pci_rescan_remove_lock.
> diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
> index d64c544b32b0c..4fc3e3dc87ad1 100644
> --- a/arch/s390/pci/pci.c
> +++ b/arch/s390/pci/pci.c
[ ... ]
> @@ -1208,7 +1212,8 @@ static int __init pci_base_init(void)
> if (rc)
> goto out_irq;
>
> - rc = zpci_scan_devices();
> + scoped_guard(pci_rescan_remove)
> + rc = zpci_scan_devices();
> if (rc)
> goto out_find;
>
[Severity: Medium]
Is it intentional to mix goto-based error handling with scope-based cleanup
helpers here?
The pci_base_init() function contains multiple goto statements for error
handling, and this patch introduces a scoped_guard() into the same routine.
The cleanup.h guidelines state that usage of goto and cleanup helpers should
never be mixed in the same function.
[ ... ]
> diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c
> index f317a1465dad8..268f435677ae3 100644
> --- a/arch/s390/pci/pci_event.c
> +++ b/arch/s390/pci/pci_event.c
[ ... ]
> @@ -382,6 +382,7 @@ static void __zpci_event_error(struct zpci_ccdf_err *ccdf)
> pci_dev_put(pdev);
> no_pdev:
> mutex_unlock(&zdev->state_lock);
> + guard(pci_rescan_remove)();
> zpci_zdev_put(zdev);
> }
>
[Severity: Medium]
Can this introduction of guard() into __zpci_event_error() also cause issues
with mixed cleanup paradigms?
In __zpci_event_error(), there are goto statements used for error handling,
and this patch introduces a guard() right at the cleanup label. Mixing goto
with cleanup.h helpers in the same function goes against the subsystem
guidelines.
--
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1790267348.git.bblock@linux.ibm.com?part=5
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v15 5/5] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
2026-09-24 16:44 ` sashiko-bot
@ 2026-09-25 5:20 ` Benjamin Block
0 siblings, 0 replies; 19+ messages in thread
From: Benjamin Block @ 2026-09-25 5:20 UTC (permalink / raw)
To: sashiko-reviews, Heiko Carstens, Vasily Gorbik, Alexander Gordeev
Cc: linux-s390, Christian Borntraeger, intel-xe, linux-pci
On Thu, Sep 24, 2026 at 04:44:06PM +0000, sashiko-bot@kernel.org wrote:
> > diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
> > index d64c544b32b0c..4fc3e3dc87ad1 100644
> > --- a/arch/s390/pci/pci.c
> > +++ b/arch/s390/pci/pci.c
> > @@ -1208,7 +1212,8 @@ static int __init pci_base_init(void)
> > if (rc)
> > goto out_irq;
> >
> > - rc = zpci_scan_devices();
> > + scoped_guard(pci_rescan_remove)
> > + rc = zpci_scan_devices();
> > if (rc)
> > goto out_find;
>
> The pci_base_init() function contains multiple goto statements for error
> handling, and this patch introduces a scoped_guard() into the same routine.
> The cleanup.h guidelines state that usage of goto and cleanup helpers should
> never be mixed in the same function.
--8<--
> > diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c
> > index f317a1465dad8..268f435677ae3 100644
> > --- a/arch/s390/pci/pci_event.c
> > +++ b/arch/s390/pci/pci_event.c
> > @@ -382,6 +382,7 @@ static void __zpci_event_error(struct zpci_ccdf_err *ccdf)
> > pci_dev_put(pdev);
> > no_pdev:
> > mutex_unlock(&zdev->state_lock);
> > + guard(pci_rescan_remove)();
> > zpci_zdev_put(zdev);
> > }
>
> In __zpci_event_error(), there are goto statements used for error handling,
> and this patch introduces a guard() right at the cleanup label. Mixing goto
> with cleanup.h helpers in the same function goes against the subsystem
> guidelines.
So as far as I know this rule from cleanup.h is motivated by cases where
someone jumps *into* a cleanup-scope and thus skips the initialization, but
executes the cleanup, which then breaks.
This shouldn't be a problem here, but if our s390 maintainers think this
should be changed regardless, I can use ordinary calls in those two cases,
since it's probably not worth converting the whole functions here.
--
Best Regards, Benjamin Block / Linux on IBM Z Kernel Development
IBM Deutschland Research & Development GmbH / https://www.ibm.com/privacy
Vors. Aufs.-R.: Wolfgang Wendt / Geschäftsführung: David Faller
Sitz der Ges.: Ehningen / Registergericht: AmtsG Stuttgart, HRB 243294
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v16 5/5] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
2026-09-24 16:29 ` [PATCH v15 5/5] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release Benjamin Block
2026-09-24 16:44 ` sashiko-bot
@ 2026-10-02 12:55 ` Benjamin Block
1 sibling, 0 replies; 19+ messages in thread
From: Benjamin Block @ 2026-10-02 12:55 UTC (permalink / raw)
To: Benjamin Block, Bjorn Helgaas
Cc: Farhan Ali, linux-kernel, Heiko Carstens, Dragos Tatulea,
Omar Elghoul, Lukas Wunner, Matthew Brost, Halil Pasic,
Ionut Nechita, Sven Schnelle, Alexander Gordeev, Ionut Nechita,
Tobias Schumacher, Julian Ruess, Ionut Nechita, Michal Wajdeczko,
Keith Busch, Matthew Rosato, Christian Borntraeger, Gerd Bayer,
linux-intel-xe, Andreas Krebbel, Ramesh Errabolu, linux-s390,
Vasily Gorbik, Manivannan Sadhasivam, piotr.piorkowski,
Guenter Roeck, Niklas Schnelle, linux-pci, Benjamin Block, stable
When removing PCI device or PCI bus objects there are a couple of
call-chains where it is possible that the kernel runs into a circular
deadlock involving the central `pci_rescan_remove_lock`.
Two examples:
(A) Thread α receives a PCI event notifying the kernel that a PCI
virtual function has been moved into Reserved state, and so the PCI
subsystem will try to remove that PCI function. The call-chain for that
looks like this:
__zpci_event_availability()
-> zpci_zdev_put() # will lock(zpci_add_remove_lock),
# and lock(zpci_list_lock)
-> zpci_release_device() # will unlock(zpci_list_lock)
-> zpci_cleanup_bus_resources() # will lock(pci_rescan_remove_lock)
Thread β is triggered by userspace writing 0 into the SysFS attribute
`sriov_numvfs` of the parent PCI physical function of the same function
we just try to remove. This will also try to release the PCI virtual
function; but this time the call-chain looks like this:
sriov_numvfs_store()
-> ... (device driver dependent)
-> sriov_disable()
-> sriov_del_vfs() # will lock(pci_rescan_remove_lock)
-> ... (deep chain)
-> pci_release_dev()
-> pcibios_release_device()
-> zpci_zdev_put() # will lock(zpci_add_remove_lock)
If thread α and β coincide, this will result in a cyclic deadlock.
(B) Thread γ receives a PCI event notifying the kernel that one or more
PCI functions got hot plugged, and need to be configured. A possible
call-chain that might happen while the PCI subsystem is trying to add
those new function looks like this:
__zpci_event_availability()
-> ... (multiple ways in which a device gets added)
-> zpci_add_device() # will lock(zpci_add_remove_lock)
-> zpci_bus_device_register()
-> zpci_bus_put() # will lock(zbus_list_lock)
-> zpci_bus_release() # will unlock(zbus_list_lock)
# will lock(pci_rescan_remove_lock)
Now the same thread β as above in (A) might coincide, and again could
result in a cyclic deadlock.
`pci_rescan_remove_lock` has to be and is taken at a "high level" in
most call-chains since it is intended to protect/mutual exclude all
rescan and/or removal actions taken in the PCI subsystem. So to prevent
the outlined deadlock scenarios above remove it instead from the "low
level" release functions for both the PCI device and PCI bus objects.
Instead, lock `pci_rescan_remove_lock` in all call-chains leading to
those release functions:
* initialization of the PCI subsystem;
* processing of availability events (CRWs) for PCI functions;
* processing of error events (CRWs) for PCI functions;
* architecture specific release PCI device implementation.
Additionally, remove `pci_rescan_remove_lock` from zpci_bus_scan_bus()
since its only caller zpci_scan_devices() is now always called with
`pci_rescan_remove_lock` already held.
Lastly, document the new locking expectations after these changes. Add
sparse and lockdep annotations to functions that previously locked
`pci_rescan_remove_lock` explicitly, making sure the lock is now
already held when called. Additionally also add the annotations to
zpci_zdev_put() and zpci_bus_put() to make sure that every function that
potentially drops the last reference already holds the lock to prevent
surprises.
Fixes: 05bc1be6db4b2 ("s390/pci: create zPCI bus")
Fixes: ab909509850b2 ("PCI: s390: Fix use-after-free of PCI resources with per-function hotplug")
Cc: stable@vger.kernel.org
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
---
arch/s390/pci/pci.c | 10 ++++++++--
arch/s390/pci/pci_bus.c | 15 ++++++++-------
arch/s390/pci/pci_event.c | 29 +++++++++++++++++++----------
arch/s390/pci/pci_iov.c | 3 +--
arch/s390/pci/pci_sysfs.c | 25 ++++++++++++-------------
5 files changed, 48 insertions(+), 34 deletions(-)
Hello all,
Since I didn't get any response so far I just rerolled the last patch
that had the medium complaints by Sashiko. Everything else is unchanged.
Change v15 -> v16:
* Patch 5/5: changed two findigs by Sashiko were cleanup helpers were mixed
with gotos in the same function against recommendations
This is no functional change, "just" syntax.
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index d64c544b32b0..92aa88fb9cfc 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -71,9 +71,11 @@ struct airq_iv *zpci_aif_sbv;
EXPORT_SYMBOL_GPL(zpci_aif_sbv);
void zpci_zdev_put(struct zpci_dev *zdev)
+ __must_hold(&pci_rescan_remove_lock)
{
if (!zdev)
return;
+ lockdep_assert_held(&pci_rescan_remove_lock);
mutex_lock(&zpci_add_remove_lock);
kref_put_lock(&zdev->kref, zpci_release_device, &zpci_list_lock);
mutex_unlock(&zpci_add_remove_lock);
@@ -583,11 +585,13 @@ int zpci_setup_bus_resources(struct zpci_dev *zdev)
}
static void zpci_cleanup_bus_resources(struct zpci_dev *zdev)
+ __must_hold(&pci_rescan_remove_lock)
{
struct resource *res;
int i;
- pci_lock_rescan_remove();
+ lockdep_assert_held(&pci_rescan_remove_lock);
+
for (i = 0; i < PCI_STD_NUM_BARS; i++) {
res = zdev->bars[i].res;
if (!res)
@@ -600,7 +604,6 @@ static void zpci_cleanup_bus_resources(struct zpci_dev *zdev)
kfree(res);
}
zdev->has_resources = 0;
- pci_unlock_rescan_remove();
}
int pcibios_device_add(struct pci_dev *pdev)
@@ -630,6 +633,7 @@ void pcibios_release_device(struct pci_dev *pdev)
{
struct zpci_dev *zdev = to_zpci(pdev);
+ guard(pci_rescan_remove)();
zpci_unmap_resources(pdev);
zpci_zdev_put(zdev);
}
@@ -1208,7 +1212,9 @@ static int __init pci_base_init(void)
if (rc)
goto out_irq;
+ pci_lock_rescan_remove();
rc = zpci_scan_devices();
+ pci_unlock_rescan_remove();
if (rc)
goto out_find;
diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c
index 36a4807285fa..c1b48b572e86 100644
--- a/arch/s390/pci/pci_bus.c
+++ b/arch/s390/pci/pci_bus.c
@@ -82,9 +82,8 @@ int zpci_bus_scan_device(struct zpci_dev *zdev)
if (!pdev)
return -ENODEV;
- pci_lock_rescan_remove();
+ guard(pci_rescan_remove)();
pci_bus_add_device(pdev);
- pci_unlock_rescan_remove();
return 0;
}
@@ -132,10 +131,13 @@ void zpci_bus_remove_device(struct zpci_dev *zdev, bool set_error)
* Return: 0 on success, an error value otherwise
*/
int zpci_bus_scan_bus(struct zpci_bus *zbus)
+ __must_hold(&pci_rescan_remove_lock)
{
struct zpci_dev *zdev;
int devfn, rc, ret = 0;
+ lockdep_assert_held(&pci_rescan_remove_lock);
+
for (devfn = 0; devfn < ZPCI_FUNCTIONS_PER_BUS; devfn++) {
zdev = zbus->function[devfn];
if (zdev && zdev->state == ZPCI_FN_STATE_CONFIGURED) {
@@ -145,10 +147,8 @@ int zpci_bus_scan_bus(struct zpci_bus *zbus)
}
}
- pci_lock_rescan_remove();
pci_scan_child_bus(zbus->bus);
pci_bus_add_devices(zbus->bus);
- pci_unlock_rescan_remove();
return ret;
}
@@ -214,11 +214,12 @@ static int zpci_bus_create_pci_bus(struct zpci_bus *zbus, struct zpci_dev *fr, s
* run of the function.
*/
static inline void zpci_bus_release(struct kref *kref)
- __releases(&zbus_list_lock)
+ __releases(&zbus_list_lock) __must_hold(&pci_rescan_remove_lock)
{
struct zpci_bus *zbus = container_of(kref, struct zpci_bus, kref);
lockdep_assert_held(&zbus_list_lock);
+ lockdep_assert_held(&pci_rescan_remove_lock);
list_del(&zbus->bus_next);
mutex_unlock(&zbus_list_lock);
@@ -229,14 +230,12 @@ static inline void zpci_bus_release(struct kref *kref)
*/
if (zbus->bus) {
- pci_lock_rescan_remove();
pci_stop_root_bus(zbus->bus);
zpci_free_domain(zbus->domain_nr);
pci_free_resource_list(&zbus->resources);
pci_remove_root_bus(zbus->bus);
- pci_unlock_rescan_remove();
}
zpci_remove_parent_msi_domain(zbus);
@@ -250,7 +249,9 @@ static inline void __zpci_bus_get(struct zpci_bus *zbus)
}
static inline void zpci_bus_put(struct zpci_bus *zbus)
+ __must_hold(&pci_rescan_remove_lock)
{
+ lockdep_assert_held(&pci_rescan_remove_lock);
kref_put_mutex(&zbus->kref, zpci_bus_release, &zbus_list_lock);
}
diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c
index d6af4015223e..076d2b3c342b 100644
--- a/arch/s390/pci/pci_event.c
+++ b/arch/s390/pci/pci_event.c
@@ -385,7 +385,9 @@ static void __zpci_event_error(struct zpci_ccdf_err *ccdf)
pci_dev_put(pdev);
no_pdev:
mutex_unlock(&zdev->state_lock);
+ pci_lock_rescan_remove();
zpci_zdev_put(zdev);
+ pci_unlock_rescan_remove();
}
void zpci_event_error(void *data)
@@ -431,6 +433,7 @@ static bool zpci_event_avail_any_device(struct zpci_ccdf_avail *ccdf)
if (ccdf->pec != 0x0306)
return false;
/* 0x308 or 0x302 for multiple devices */
+ guard(pci_rescan_remove)();
zpci_remove_reserved_devices();
zpci_scan_devices();
return true;
@@ -439,26 +442,29 @@ static bool zpci_event_avail_any_device(struct zpci_ccdf_avail *ccdf)
static void zpci_event_avail_new_device(struct zpci_ccdf_avail *ccdf)
{
struct zpci_dev *zdev;
+ bool freed = false;
switch (ccdf->pec) {
case 0x0301: /* Reserved|Standby -> Configured */
zdev = zpci_create_device(ccdf->fid, ccdf->fh, ZPCI_FN_STATE_CONFIGURED);
if (IS_ERR(zdev))
break;
- if (zpci_add_device(zdev)) {
- kfree(zdev);
- break;
- }
- zpci_scan_configured_device(zdev, ccdf->fh);
+ scoped_guard(pci_rescan_remove)
+ if (zpci_add_device(zdev)) {
+ kfree(zdev);
+ /* break; is incompatible w/ scoped_guard() */
+ freed = true;
+ }
+ if (!freed)
+ zpci_scan_configured_device(zdev, ccdf->fh);
break;
case 0x0302: /* Reserved -> Standby */
zdev = zpci_create_device(ccdf->fid, ccdf->fh, ZPCI_FN_STATE_STANDBY);
if (IS_ERR(zdev))
break;
- if (zpci_add_device(zdev)) {
- kfree(zdev);
- break;
- }
+ scoped_guard(pci_rescan_remove)
+ if (zpci_add_device(zdev))
+ kfree(zdev);
break;
}
}
@@ -500,11 +506,13 @@ static void zpci_event_avail_existing_device(struct zpci_dev *zdev, struct zpci_
/* The 0x0304 event may immediately reserve the device */
if (!clp_get_state(zdev->fid, &state) &&
state == ZPCI_FN_STATE_RESERVED) {
+ guard(pci_rescan_remove)();
zpci_device_reserved(zdev);
}
break;
case 0x0308: /* Standby -> Reserved */
- zpci_device_reserved(zdev);
+ scoped_guard(pci_rescan_remove)
+ zpci_device_reserved(zdev);
break;
}
}
@@ -526,5 +534,6 @@ void zpci_event_availability(void *data)
mutex_lock(&zdev->state_lock);
zpci_event_avail_existing_device(zdev, ccdf);
mutex_unlock(&zdev->state_lock);
+ guard(pci_rescan_remove)();
zpci_zdev_put(zdev);
}
diff --git a/arch/s390/pci/pci_iov.c b/arch/s390/pci/pci_iov.c
index 13050ce5c3e9..1f7e4dd018e7 100644
--- a/arch/s390/pci/pci_iov.c
+++ b/arch/s390/pci/pci_iov.c
@@ -38,10 +38,9 @@ void zpci_iov_map_resources(struct pci_dev *pdev)
void zpci_iov_remove_virtfn(struct pci_dev *pdev, int vfn)
{
- pci_lock_rescan_remove();
+ guard(pci_rescan_remove)();
/* Linux' vfid's start at 0 vfn at 1 */
pci_iov_remove_virtfn(pdev->physfn, vfn - 1);
- pci_unlock_rescan_remove();
}
static int zpci_iov_link_virtfn(struct pci_dev *pdev, struct pci_dev *virtfn, int vfid)
diff --git a/arch/s390/pci/pci_sysfs.c b/arch/s390/pci/pci_sysfs.c
index bbb76113a4d0..1e211bcb284e 100644
--- a/arch/s390/pci/pci_sysfs.c
+++ b/arch/s390/pci/pci_sysfs.c
@@ -76,10 +76,15 @@ static int _do_recover(struct pci_dev *pdev, struct zpci_dev *zdev)
return ret;
}
+/* So we don't have to mix cleanup.h helpers and gotos in recover_store() */
+DEFINE_CLASS(sysfs_break_active_protection, struct kernfs_node *,
+ if (_T) sysfs_unbreak_active_protection(_T),
+ sysfs_break_active_protection(kobj, attr),
+ struct kobject *kobj, const struct attribute *attr);
+
static ssize_t recover_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
- struct kernfs_node *kn;
struct pci_dev *pdev = to_pci_dev(dev);
struct zpci_dev *zdev = to_zpci(pdev);
int ret = 0;
@@ -94,13 +99,13 @@ static ssize_t recover_store(struct device *dev, struct device_attribute *attr,
* This is analogous to sdev_store_delete() in
* drivers/scsi/scsi_sysfs.c
*/
- kn = sysfs_break_active_protection(&dev->kobj, &attr->attr);
+ CLASS(sysfs_break_active_protection, kn)(&dev->kobj, &attr->attr);
WARN_ON_ONCE(!kn);
/* Device needs to be configured and state must not change */
- mutex_lock(&zdev->state_lock);
+ guard(mutex)(&zdev->state_lock);
if (zdev->state != ZPCI_FN_STATE_CONFIGURED)
- goto out;
+ return count;
/* device_remove_file() serializes concurrent calls ignoring all but
* the first
@@ -109,20 +114,14 @@ static ssize_t recover_store(struct device *dev, struct device_attribute *attr,
/* A concurrent call to recover_store() may slip between
* sysfs_break_active_protection() and the sysfs file removal.
- * Once it unblocks from pci_lock_rescan_remove() the original pdev
+ * Once it unblocks from guard(pci_rescan_remove)() the original pdev
* will already be removed.
*/
- pci_lock_rescan_remove();
- if (pci_dev_is_added(pdev)) {
+ guard(pci_rescan_remove)();
+ if (pci_dev_is_added(pdev))
ret = _do_recover(pdev, zdev);
- }
pci_rescan_bus(zdev->zbus->bus);
- pci_unlock_rescan_remove();
-out:
- mutex_unlock(&zdev->state_lock);
- if (kn)
- sysfs_unbreak_active_protection(kn);
return ret ? ret : count;
}
static DEVICE_ATTR_WO(recover);
--
2.56.0
^ permalink raw reply related [flat|nested] 19+ messages in thread
* ✗ CI.checkpatch: warning for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
` (4 preceding siblings ...)
2026-09-24 16:29 ` [PATCH v15 5/5] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release Benjamin Block
@ 2026-09-24 16:35 ` Patchwork
2026-09-24 16:37 ` ✓ CI.KUnit: success " Patchwork
` (4 subsequent siblings)
10 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2026-09-24 16:35 UTC (permalink / raw)
To: Benjamin Block; +Cc: intel-xe
== Series Details ==
Series: PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks
URL : https://patchwork.freedesktop.org/series/174935/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
6bef5ce5c74dc76b4ee69ab2832c0d1fd63c91c7
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit d265885e770258981ee9ddb75613d66449f0616f
Author: Benjamin Block <bblock@linux.ibm.com>
Date: Thu Sep 24 18:29:31 2026 +0200
s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
When removing PCI device or PCI bus objects there are a couple of
call-chains where it is possible that the kernel runs into a circular
deadlock involving the central `pci_rescan_remove_lock`.
Two examples:
(A) Thread α receives a PCI event notifying the kernel that a PCI
virtual function has been moved into Reserved state, and so the PCI
subsystem will try to remove that PCI function. The call-chain for that
looks like this:
__zpci_event_availability()
-> zpci_zdev_put() # will lock(zpci_add_remove_lock),
# and lock(zpci_list_lock)
-> zpci_release_device() # will unlock(zpci_list_lock)
-> zpci_cleanup_bus_resources() # will lock(pci_rescan_remove_lock)
Thread β is triggered by userspace writing 0 into the SysFS attribute
`sriov_numvfs` of the parent PCI physical function of the same function
we just try to remove. This will also try to release the PCI virtual
function; but this time the call-chain looks like this:
sriov_numvfs_store()
-> ... (device driver dependent)
-> sriov_disable()
-> sriov_del_vfs() # will lock(pci_rescan_remove_lock)
-> ... (deep chain)
-> pci_release_dev()
-> pcibios_release_device()
-> zpci_zdev_put() # will lock(zpci_add_remove_lock)
If thread α and β coincide, this will result in a cyclic deadlock.
(B) Thread γ receives a PCI event notifying the kernel that one or more
PCI functions got hot plugged, and need to be configured. A possible
call-chain that might happen while the PCI subsystem is trying to add
those new function looks like this:
__zpci_event_availability()
-> ... (multiple ways in which a device gets added)
-> zpci_add_device() # will lock(zpci_add_remove_lock)
-> zpci_bus_device_register()
-> zpci_bus_put() # will lock(zbus_list_lock)
-> zpci_bus_release() # will unlock(zbus_list_lock)
# will lock(pci_rescan_remove_lock)
Now the same thread β as above in (A) might coincide, and again could
result in a cyclic deadlock.
`pci_rescan_remove_lock` has to be and is taken at a "high level" in
most call-chains since it is intended to protect/mutual exclude all
rescan and/or removal actions taken in the PCI subsystem. So to prevent
the outlined deadlock scenarios above remove it instead from the "low
level" release functions for both the PCI device and PCI bus objects.
Instead, lock `pci_rescan_remove_lock` in all call-chains leading to
those release functions:
* initialization of the PCI subsystem;
* processing of availability events (CRWs) for PCI functions;
* processing of error events (CRWs) for PCI functions;
* architecture specific release PCI device implementation.
Additionally, remove `pci_rescan_remove_lock` from zpci_bus_scan_bus()
since its only caller zpci_scan_devices() is now always called with
`pci_rescan_remove_lock` already held.
Lastly, document the new locking expectations after these changes. Add
sparse and lockdep annotations to functions that previously locked
`pci_rescan_remove_lock` explicitly, making sure the lock is now
already held when called. Additionally also add the annotations to
zpci_zdev_put() and zpci_bus_put() to make sure that every function that
potentially drops the last reference already holds the lock to prevent
surprises.
Fixes: 05bc1be6db4b2 ("s390/pci: create zPCI bus")
Fixes: ab909509850b2 ("PCI: s390: Fix use-after-free of PCI resources with per-function hotplug")
Cc: stable@vger.kernel.org
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
+ /mt/dim checkpatch 2ac16c180109b3f1ed00e7a2c4459eaacfc80371 drm-intel
6d47e9d18426 PCI/IOV: Make pci_lock_rescan_remove() reentrant and protect sriov_add_vfs/sriov_del_vfs
abeeb3329037 PCI: Fix AB-BA deadlock between device_lock and pci_rescan_remove_lock in remove_store
30e2aa543b9d PCI: Move declaration of pci_rescan_remove_lock into public pci.h
d6dd37ae15c8 PCI: Provide lock guard for pci_rescan_remove_lock
d265885e7702 s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
-:329: WARNING:TABSTOP: Statements should start on a tabstop
#329: FILE: arch/s390/pci/pci_sysfs.c:81:
+ if (_T) sysfs_unbreak_active_protection(_T),
-:329: ERROR:TRAILING_STATEMENTS: trailing statements should be on next line
#329: FILE: arch/s390/pci/pci_sysfs.c:81:
+ if (_T) sysfs_unbreak_active_protection(_T),
total: 1 errors, 1 warnings, 0 checks, 255 lines checked
^ permalink raw reply [flat|nested] 19+ messages in thread* ✓ CI.KUnit: success for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
` (5 preceding siblings ...)
2026-09-24 16:35 ` ✗ CI.checkpatch: warning for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Patchwork
@ 2026-09-24 16:37 ` Patchwork
2026-09-24 17:46 ` ✓ Xe.CI.BAT: " Patchwork
` (3 subsequent siblings)
10 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2026-09-24 16:37 UTC (permalink / raw)
To: Benjamin Block; +Cc: intel-xe
== Series Details ==
Series: PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks
URL : https://patchwork.freedesktop.org/series/174935/
State : success
== Summary ==
+ trap cleanup EXIT
+ kunitconfigs=('/kernel/drivers/gpu/tests/.kunitconfig' '/kernel/drivers/gpu/drm/xe/.kunitconfig' '/kernel/drivers/gpu/drm/tests/.kunitconfig' '/kernel/drivers/gpu/drm/ttm/tests/.kunitconfig' '/kernel/drivers/dma-buf/.kunitconfig')
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/tests/.kunitconfig
[16:35:53] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:35:57] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:36:18] Starting KUnit Kernel (1/1)...
[16:36:18] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:36:18] ============= refcount_interrupt (4 subtests) ==============
[16:36:18] [PASSED] test_single_irq_change
[16:36:18] [PASSED] test_nested_irq_change
[16:36:18] [PASSED] test_multiple_irq_change
[16:36:18] [PASSED] test_irq_save
[16:36:18] =============== [PASSED] refcount_interrupt ================
[16:36:18] ================= gpu_buddy (14 subtests) ==================
[16:36:18] [PASSED] gpu_test_buddy_alloc_limit
[16:36:18] [PASSED] gpu_test_buddy_alloc_optimistic
[16:36:18] [PASSED] gpu_test_buddy_alloc_pessimistic
[16:36:18] [PASSED] gpu_test_buddy_alloc_pathological
[16:36:18] [PASSED] gpu_test_buddy_alloc_contiguous
[16:36:18] [PASSED] gpu_test_buddy_alloc_clear
[16:36:18] [PASSED] gpu_test_buddy_alloc_range
[16:36:18] [PASSED] gpu_test_buddy_alloc_range_bias
[16:36:19] [PASSED] gpu_test_buddy_fragmentation_performance
[16:36:20] [PASSED] gpu_test_buddy_dirty_tracker_performance
[16:36:20] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[16:36:20] [PASSED] gpu_test_buddy_offset_aligned_allocation
[16:36:20] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[16:36:20] [PASSED] gpu_test_buddy_addr_to_block
[16:36:20] ==================== [PASSED] gpu_buddy ====================
[16:36:20] ============================================================
[16:36:20] Testing complete. Ran 18 tests: passed: 18
[16:36:20] Elapsed time: 27.240s total, 4.375s configuring, 20.746s building, 2.054s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/xe/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[16:36:20] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:36:22] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:36:56] Starting KUnit Kernel (1/1)...
[16:36:56] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:36:56] ============= refcount_interrupt (4 subtests) ==============
[16:36:56] [PASSED] test_single_irq_change
[16:36:56] [PASSED] test_nested_irq_change
[16:36:56] [PASSED] test_multiple_irq_change
[16:36:56] [PASSED] test_irq_save
[16:36:56] =============== [PASSED] refcount_interrupt ================
[16:36:56] ================== guc_buf (11 subtests) ===================
[16:36:56] [PASSED] test_smallest
[16:36:56] [PASSED] test_largest
[16:36:56] [PASSED] test_granular
[16:36:56] [PASSED] test_unique
[16:36:56] [PASSED] test_overlap
[16:36:56] [PASSED] test_reusable
[16:36:56] [PASSED] test_too_big
[16:36:56] [PASSED] test_flush
[16:36:56] [PASSED] test_lookup
[16:36:56] [PASSED] test_data
[16:36:56] [PASSED] test_class
[16:36:56] ===================== [PASSED] guc_buf =====================
[16:36:56] =================== guc_dbm (7 subtests) ===================
[16:36:56] [PASSED] test_empty
[16:36:56] [PASSED] test_default
[16:36:56] ======================== test_size ========================
[16:36:56] [PASSED] 4
[16:36:56] [PASSED] 8
[16:36:56] [PASSED] 32
[16:36:56] [PASSED] 256
[16:36:56] ==================== [PASSED] test_size ====================
[16:36:56] ======================= test_reuse ========================
[16:36:56] [PASSED] 4
[16:36:56] [PASSED] 8
[16:36:56] [PASSED] 32
[16:36:56] [PASSED] 256
[16:36:56] =================== [PASSED] test_reuse ====================
[16:36:56] =================== test_range_overlap ====================
[16:36:56] [PASSED] 4
[16:36:56] [PASSED] 8
[16:36:56] [PASSED] 32
[16:36:56] [PASSED] 256
[16:36:56] =============== [PASSED] test_range_overlap ================
[16:36:56] =================== test_range_compact ====================
[16:36:56] [PASSED] 4
[16:36:56] [PASSED] 8
[16:36:56] [PASSED] 32
[16:36:56] [PASSED] 256
[16:36:56] =============== [PASSED] test_range_compact ================
[16:36:56] ==================== test_range_spare =====================
[16:36:56] [PASSED] 4
[16:36:56] [PASSED] 8
[16:36:56] [PASSED] 32
[16:36:56] [PASSED] 256
[16:36:56] ================ [PASSED] test_range_spare =================
[16:36:56] ===================== [PASSED] guc_dbm =====================
[16:36:56] =================== guc_idm (6 subtests) ===================
[16:36:56] [PASSED] bad_init
[16:36:56] [PASSED] no_init
[16:36:56] [PASSED] init_fini
[16:36:56] [PASSED] check_used
[16:36:56] [PASSED] check_quota
[16:36:56] [PASSED] check_all
[16:36:56] ===================== [PASSED] guc_idm =====================
[16:36:56] ============== guc_klv_helpers (13 subtests) ===============
[16:36:56] [PASSED] test_count
[16:36:56] [PASSED] test_encode_u32
[16:36:56] [PASSED] test_encode_u64
[16:36:56] [PASSED] test_encode_string
[16:36:56] [PASSED] test_encode_object_raw
[16:36:56] [PASSED] test_encode_object_klv
[16:36:56] [PASSED] test_encode_object_nested
[16:36:56] [PASSED] test_encode_object_basic
[16:36:56] ===================== test_decode_u16 =====================
[16:36:56] [PASSED] empty
[16:36:56] [PASSED] valid
[16:36:56] [PASSED] max
[16:36:56] [PASSED] big
[16:36:56] [PASSED] long
[16:36:56] ================= [PASSED] test_decode_u16 =================
[16:36:56] ===================== test_decode_u32 =====================
[16:36:56] [PASSED] empty
[16:36:56] [PASSED] valid
[16:36:56] [PASSED] max
[16:36:56] [PASSED] long
[16:36:56] ================= [PASSED] test_decode_u32 =================
[16:36:56] ===================== test_decode_u64 =====================
[16:36:56] [PASSED] empty
[16:36:56] [PASSED] short
[16:36:56] [PASSED] valid
[16:36:56] [PASSED] max
[16:36:56] [PASSED] long
[16:36:56] ================= [PASSED] test_decode_u64 =================
[16:36:56] ===================== test_decode_str =====================
[16:36:56] [PASSED] empty
[16:36:56] [PASSED] one
[16:36:56] [PASSED] one_trash
[16:36:56] [PASSED] two
[16:36:56] [PASSED] two_trash
[16:36:56] [PASSED] three
[16:36:56] [PASSED] dword
[16:36:56] [PASSED] four
[16:36:56] [PASSED] five
[16:36:56] [PASSED] six
[16:36:56] [PASSED] seven
[16:36:56] [PASSED] qword
[16:36:56] ================= [PASSED] test_decode_str =================
[16:36:56] [PASSED] test_print
[16:36:56] ================= [PASSED] guc_klv_helpers =================
[16:36:56] =================== xe_log (4 subtests) ====================
[16:36:56] [PASSED] demo_cper
[16:36:56] [PASSED] demo_dmesg
[16:36:56] ======================= test_dmesg ========================
[16:36:56] [PASSED] test_fatal
[16:36:56] [PASSED] test_fatal_tile
[16:36:56] [PASSED] test_fatal_gt
[16:36:56] [PASSED] test_fatal_comp
[16:36:56] [PASSED] test_fatal_comp_tile
[16:36:56] [PASSED] test_fatal_comp_gt
[16:36:56] [PASSED] test_fatal_all
[16:36:56] [PASSED] test_recoverable
[16:36:56] [PASSED] test_recoverable_tile
[16:36:56] [PASSED] test_recoverable_gt
[16:36:56] [PASSED] test_recoverable_comp
[16:36:56] [PASSED] test_recoverable_comp_tile
[16:36:56] [PASSED] test_recoverable_comp_gt
[16:36:56] [PASSED] test_recoverable_all
[16:36:56] [PASSED] test_info
[16:36:56] [PASSED] test_info_tile
[16:36:56] [PASSED] test_info_gt
[16:36:56] [PASSED] test_info_err
[16:36:56] [PASSED] test_info_comp
[16:36:56] [PASSED] test_info_comp_tile
[16:36:56] [PASSED] test_info_comp_gt
[16:36:56] [PASSED] test_info_all
[16:36:56] [PASSED] test_hw_fatal
[16:36:56] [PASSED] test_hw_recoverable
[16:36:56] [PASSED] test_hw_corrected
[16:36:56] [PASSED] test_hw_informational
[16:36:56] =================== [PASSED] test_dmesg ====================
[16:36:56] ====================== test_invalid =======================
[16:36:56] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[16:36:56] ================== [SKIPPED] test_invalid ==================
[16:36:56] ===================== [PASSED] xe_log ======================
[16:36:56] ================== no_relay (3 subtests) ===================
[16:36:56] [PASSED] xe_drops_guc2pf_if_not_ready
[16:36:56] [PASSED] xe_drops_guc2vf_if_not_ready
[16:36:56] [PASSED] xe_rejects_send_if_not_ready
[16:36:56] ==================== [PASSED] no_relay =====================
[16:36:56] ================== pf_relay (14 subtests) ==================
[16:36:56] [PASSED] pf_rejects_guc2pf_too_short
[16:36:56] [PASSED] pf_rejects_guc2pf_too_long
[16:36:56] [PASSED] pf_rejects_guc2pf_no_payload
[16:36:56] [PASSED] pf_fails_no_payload
[16:36:56] [PASSED] pf_fails_bad_origin
[16:36:56] [PASSED] pf_fails_bad_type
[16:36:56] [PASSED] pf_txn_reports_error
[16:36:56] [PASSED] pf_txn_sends_pf2guc
[16:36:56] [PASSED] pf_sends_pf2guc
[16:36:56] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:36:56] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:36:56] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:36:56] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:36:56] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:36:56] ==================== [PASSED] pf_relay =====================
[16:36:56] ================== vf_relay (3 subtests) ===================
[16:36:57] [PASSED] vf_rejects_guc2vf_too_short
[16:36:57] [PASSED] vf_rejects_guc2vf_too_long
[16:36:57] [PASSED] vf_rejects_guc2vf_no_payload
[16:36:57] ==================== [PASSED] vf_relay =====================
[16:36:57] ================ pf_gt_config (9 subtests) =================
[16:36:57] [PASSED] fair_contexts_1vf
[16:36:57] [PASSED] fair_doorbells_1vf
[16:36:57] [PASSED] fair_ggtt_1vf
[16:36:57] ====================== fair_vram_1vf ======================
[16:36:57] [PASSED] 3.50 GiB
[16:36:57] [PASSED] 11.5 GiB
[16:36:57] [PASSED] 15.5 GiB
[16:36:57] [PASSED] 31.5 GiB
[16:36:57] [PASSED] 63.5 GiB
[16:36:57] [PASSED] 1.91 GiB
[16:36:57] ================== [PASSED] fair_vram_1vf ==================
[16:36:57] ================ fair_vram_1vf_admin_only =================
[16:36:57] [PASSED] 3.50 GiB
[16:36:57] [PASSED] 11.5 GiB
[16:36:57] [PASSED] 15.5 GiB
[16:36:57] [PASSED] 31.5 GiB
[16:36:57] [PASSED] 63.5 GiB
[16:36:57] [PASSED] 1.91 GiB
[16:36:57] ============ [PASSED] fair_vram_1vf_admin_only =============
[16:36:57] ====================== fair_contexts ======================
[16:36:57] [PASSED] 1 VF
[16:36:57] [PASSED] 2 VFs
[16:36:57] [PASSED] 3 VFs
[16:36:57] [PASSED] 4 VFs
[16:36:57] [PASSED] 5 VFs
[16:36:57] [PASSED] 6 VFs
[16:36:57] [PASSED] 7 VFs
[16:36:57] [PASSED] 8 VFs
[16:36:57] [PASSED] 9 VFs
[16:36:57] [PASSED] 10 VFs
[16:36:57] [PASSED] 11 VFs
[16:36:57] [PASSED] 12 VFs
[16:36:57] [PASSED] 13 VFs
[16:36:57] [PASSED] 14 VFs
[16:36:57] [PASSED] 15 VFs
[16:36:57] [PASSED] 16 VFs
[16:36:57] [PASSED] 17 VFs
[16:36:57] [PASSED] 18 VFs
[16:36:57] [PASSED] 19 VFs
[16:36:57] [PASSED] 20 VFs
[16:36:57] [PASSED] 21 VFs
[16:36:57] [PASSED] 22 VFs
[16:36:57] [PASSED] 23 VFs
[16:36:57] [PASSED] 24 VFs
[16:36:57] [PASSED] 25 VFs
[16:36:57] [PASSED] 26 VFs
[16:36:57] [PASSED] 27 VFs
[16:36:57] [PASSED] 28 VFs
[16:36:57] [PASSED] 29 VFs
[16:36:57] [PASSED] 30 VFs
[16:36:57] [PASSED] 31 VFs
[16:36:57] [PASSED] 32 VFs
[16:36:57] [PASSED] 33 VFs
[16:36:57] [PASSED] 34 VFs
[16:36:57] [PASSED] 35 VFs
[16:36:57] [PASSED] 36 VFs
[16:36:57] [PASSED] 37 VFs
[16:36:57] [PASSED] 38 VFs
[16:36:57] [PASSED] 39 VFs
[16:36:57] [PASSED] 40 VFs
[16:36:57] [PASSED] 41 VFs
[16:36:57] [PASSED] 42 VFs
[16:36:57] [PASSED] 43 VFs
[16:36:57] [PASSED] 44 VFs
[16:36:57] [PASSED] 45 VFs
[16:36:57] [PASSED] 46 VFs
[16:36:57] [PASSED] 47 VFs
[16:36:57] [PASSED] 48 VFs
[16:36:57] [PASSED] 49 VFs
[16:36:57] [PASSED] 50 VFs
[16:36:57] [PASSED] 51 VFs
[16:36:57] [PASSED] 52 VFs
[16:36:57] [PASSED] 53 VFs
[16:36:57] [PASSED] 54 VFs
[16:36:57] [PASSED] 55 VFs
[16:36:57] [PASSED] 56 VFs
[16:36:57] [PASSED] 57 VFs
[16:36:57] [PASSED] 58 VFs
[16:36:57] [PASSED] 59 VFs
[16:36:57] [PASSED] 60 VFs
[16:36:57] [PASSED] 61 VFs
[16:36:57] [PASSED] 62 VFs
[16:36:57] [PASSED] 63 VFs
[16:36:57] ================== [PASSED] fair_contexts ==================
[16:36:57] ===================== fair_doorbells ======================
[16:36:57] [PASSED] 1 VF
[16:36:57] [PASSED] 2 VFs
[16:36:57] [PASSED] 3 VFs
[16:36:57] [PASSED] 4 VFs
[16:36:57] [PASSED] 5 VFs
[16:36:57] [PASSED] 6 VFs
[16:36:57] [PASSED] 7 VFs
[16:36:57] [PASSED] 8 VFs
[16:36:57] [PASSED] 9 VFs
[16:36:57] [PASSED] 10 VFs
[16:36:57] [PASSED] 11 VFs
[16:36:57] [PASSED] 12 VFs
[16:36:57] [PASSED] 13 VFs
[16:36:57] [PASSED] 14 VFs
[16:36:57] [PASSED] 15 VFs
[16:36:57] [PASSED] 16 VFs
[16:36:57] [PASSED] 17 VFs
[16:36:57] [PASSED] 18 VFs
[16:36:57] [PASSED] 19 VFs
[16:36:57] [PASSED] 20 VFs
[16:36:57] [PASSED] 21 VFs
[16:36:57] [PASSED] 22 VFs
[16:36:57] [PASSED] 23 VFs
[16:36:57] [PASSED] 24 VFs
[16:36:57] [PASSED] 25 VFs
[16:36:57] [PASSED] 26 VFs
[16:36:57] [PASSED] 27 VFs
[16:36:57] [PASSED] 28 VFs
[16:36:57] [PASSED] 29 VFs
[16:36:57] [PASSED] 30 VFs
[16:36:57] [PASSED] 31 VFs
[16:36:57] [PASSED] 32 VFs
[16:36:57] [PASSED] 33 VFs
[16:36:57] [PASSED] 34 VFs
[16:36:57] [PASSED] 35 VFs
[16:36:57] [PASSED] 36 VFs
[16:36:57] [PASSED] 37 VFs
[16:36:57] [PASSED] 38 VFs
[16:36:57] [PASSED] 39 VFs
[16:36:57] [PASSED] 40 VFs
[16:36:57] [PASSED] 41 VFs
[16:36:57] [PASSED] 42 VFs
[16:36:57] [PASSED] 43 VFs
[16:36:57] [PASSED] 44 VFs
[16:36:57] [PASSED] 45 VFs
[16:36:57] [PASSED] 46 VFs
[16:36:57] [PASSED] 47 VFs
[16:36:57] [PASSED] 48 VFs
[16:36:57] [PASSED] 49 VFs
[16:36:57] [PASSED] 50 VFs
[16:36:57] [PASSED] 51 VFs
[16:36:57] [PASSED] 52 VFs
[16:36:57] [PASSED] 53 VFs
[16:36:57] [PASSED] 54 VFs
[16:36:57] [PASSED] 55 VFs
[16:36:57] [PASSED] 56 VFs
[16:36:57] [PASSED] 57 VFs
[16:36:57] [PASSED] 58 VFs
[16:36:57] [PASSED] 59 VFs
[16:36:57] [PASSED] 60 VFs
[16:36:57] [PASSED] 61 VFs
[16:36:57] [PASSED] 62 VFs
[16:36:57] [PASSED] 63 VFs
[16:36:57] ================= [PASSED] fair_doorbells ==================
[16:36:57] ======================== fair_ggtt ========================
[16:36:57] [PASSED] 1 VF
[16:36:57] [PASSED] 2 VFs
[16:36:57] [PASSED] 3 VFs
[16:36:57] [PASSED] 4 VFs
[16:36:57] [PASSED] 5 VFs
[16:36:57] [PASSED] 6 VFs
[16:36:57] [PASSED] 7 VFs
[16:36:57] [PASSED] 8 VFs
[16:36:57] [PASSED] 9 VFs
[16:36:57] [PASSED] 10 VFs
[16:36:57] [PASSED] 11 VFs
[16:36:57] [PASSED] 12 VFs
[16:36:57] [PASSED] 13 VFs
[16:36:57] [PASSED] 14 VFs
[16:36:57] [PASSED] 15 VFs
[16:36:57] [PASSED] 16 VFs
[16:36:57] [PASSED] 17 VFs
[16:36:57] [PASSED] 18 VFs
[16:36:57] [PASSED] 19 VFs
[16:36:57] [PASSED] 20 VFs
[16:36:57] [PASSED] 21 VFs
[16:36:57] [PASSED] 22 VFs
[16:36:57] [PASSED] 23 VFs
[16:36:57] [PASSED] 24 VFs
[16:36:57] [PASSED] 25 VFs
[16:36:57] [PASSED] 26 VFs
[16:36:57] [PASSED] 27 VFs
[16:36:57] [PASSED] 28 VFs
[16:36:57] [PASSED] 29 VFs
[16:36:57] [PASSED] 30 VFs
[16:36:57] [PASSED] 31 VFs
[16:36:57] [PASSED] 32 VFs
[16:36:57] [PASSED] 33 VFs
[16:36:57] [PASSED] 34 VFs
[16:36:57] [PASSED] 35 VFs
[16:36:57] [PASSED] 36 VFs
[16:36:57] [PASSED] 37 VFs
[16:36:57] [PASSED] 38 VFs
[16:36:57] [PASSED] 39 VFs
[16:36:57] [PASSED] 40 VFs
[16:36:57] [PASSED] 41 VFs
[16:36:57] [PASSED] 42 VFs
[16:36:57] [PASSED] 43 VFs
[16:36:57] [PASSED] 44 VFs
[16:36:57] [PASSED] 45 VFs
[16:36:57] [PASSED] 46 VFs
[16:36:57] [PASSED] 47 VFs
[16:36:57] [PASSED] 48 VFs
[16:36:57] [PASSED] 49 VFs
[16:36:57] [PASSED] 50 VFs
[16:36:57] [PASSED] 51 VFs
[16:36:57] [PASSED] 52 VFs
[16:36:57] [PASSED] 53 VFs
[16:36:57] [PASSED] 54 VFs
[16:36:57] [PASSED] 55 VFs
[16:36:57] [PASSED] 56 VFs
[16:36:57] [PASSED] 57 VFs
[16:36:57] [PASSED] 58 VFs
[16:36:57] [PASSED] 59 VFs
[16:36:57] [PASSED] 60 VFs
[16:36:57] [PASSED] 61 VFs
[16:36:57] [PASSED] 62 VFs
[16:36:57] [PASSED] 63 VFs
[16:36:57] ==================== [PASSED] fair_ggtt ====================
[16:36:57] ======================== fair_vram ========================
[16:36:57] [PASSED] 1 VF
[16:36:57] [PASSED] 2 VFs
[16:36:57] [PASSED] 3 VFs
[16:36:57] [PASSED] 4 VFs
[16:36:57] [PASSED] 5 VFs
[16:36:57] [PASSED] 6 VFs
[16:36:57] [PASSED] 7 VFs
[16:36:57] [PASSED] 8 VFs
[16:36:57] [PASSED] 9 VFs
[16:36:57] [PASSED] 10 VFs
[16:36:57] [PASSED] 11 VFs
[16:36:57] [PASSED] 12 VFs
[16:36:57] [PASSED] 13 VFs
[16:36:57] [PASSED] 14 VFs
[16:36:57] [PASSED] 15 VFs
[16:36:57] [PASSED] 16 VFs
[16:36:57] [PASSED] 17 VFs
[16:36:57] [PASSED] 18 VFs
[16:36:57] [PASSED] 19 VFs
[16:36:57] [PASSED] 20 VFs
[16:36:57] [PASSED] 21 VFs
[16:36:57] [PASSED] 22 VFs
[16:36:57] [PASSED] 23 VFs
[16:36:57] [PASSED] 24 VFs
[16:36:57] [PASSED] 25 VFs
[16:36:57] [PASSED] 26 VFs
[16:36:57] [PASSED] 27 VFs
[16:36:57] [PASSED] 28 VFs
[16:36:57] [PASSED] 29 VFs
[16:36:57] [PASSED] 30 VFs
[16:36:57] [PASSED] 31 VFs
[16:36:57] [PASSED] 32 VFs
[16:36:57] [PASSED] 33 VFs
[16:36:57] [PASSED] 34 VFs
[16:36:57] [PASSED] 35 VFs
[16:36:57] [PASSED] 36 VFs
[16:36:57] [PASSED] 37 VFs
[16:36:57] [PASSED] 38 VFs
[16:36:57] [PASSED] 39 VFs
[16:36:57] [PASSED] 40 VFs
[16:36:57] [PASSED] 41 VFs
[16:36:57] [PASSED] 42 VFs
[16:36:57] [PASSED] 43 VFs
[16:36:57] [PASSED] 44 VFs
[16:36:57] [PASSED] 45 VFs
[16:36:57] [PASSED] 46 VFs
[16:36:57] [PASSED] 47 VFs
[16:36:57] [PASSED] 48 VFs
[16:36:57] [PASSED] 49 VFs
[16:36:57] [PASSED] 50 VFs
[16:36:57] [PASSED] 51 VFs
[16:36:57] [PASSED] 52 VFs
[16:36:57] [PASSED] 53 VFs
[16:36:57] [PASSED] 54 VFs
[16:36:57] [PASSED] 55 VFs
[16:36:57] [PASSED] 56 VFs
[16:36:57] [PASSED] 57 VFs
[16:36:57] [PASSED] 58 VFs
[16:36:57] [PASSED] 59 VFs
[16:36:57] [PASSED] 60 VFs
[16:36:57] [PASSED] 61 VFs
[16:36:57] [PASSED] 62 VFs
[16:36:57] [PASSED] 63 VFs
[16:36:57] ==================== [PASSED] fair_vram ====================
[16:36:57] ================== [PASSED] pf_gt_config ===================
[16:36:57] ===================== lmtt (1 subtest) =====================
[16:36:57] ======================== test_ops =========================
[16:36:57] [PASSED] 2-level
[16:36:57] [PASSED] multi-level
[16:36:57] ==================== [PASSED] test_ops =====================
[16:36:57] ====================== [PASSED] lmtt =======================
[16:36:57] ================= sriov_packet (1 subtest) =================
[16:36:57] [PASSED] test_descriptor_init
[16:36:57] ================== [PASSED] sriov_packet ===================
[16:36:57] ================= pf_service (11 subtests) =================
[16:36:57] [PASSED] pf_negotiate_any
[16:36:57] [PASSED] pf_negotiate_base_match
[16:36:57] [PASSED] pf_negotiate_base_newer
[16:36:57] [PASSED] pf_negotiate_base_next
[16:36:57] [SKIPPED] pf_negotiate_base_older (no older minor)
[16:36:57] [PASSED] pf_negotiate_base_prev
[16:36:57] [PASSED] pf_negotiate_latest_match
[16:36:57] [PASSED] pf_negotiate_latest_newer
[16:36:57] [PASSED] pf_negotiate_latest_next
[16:36:57] [SKIPPED] pf_negotiate_latest_older (no older minor)
[16:36:57] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[16:36:57] =================== [PASSED] pf_service ====================
[16:36:57] ================= xe_guc_g2g (2 subtests) ==================
[16:36:57] ============== xe_live_guc_g2g_kunit_default ==============
[16:36:57] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[16:36:57] ============== xe_live_guc_g2g_kunit_allmem ===============
[16:36:57] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[16:36:57] =================== [SKIPPED] xe_guc_g2g ===================
[16:36:57] =================== xe_mocs (2 subtests) ===================
[16:36:57] ================ xe_live_mocs_kernel_kunit ================
[16:36:57] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[16:36:57] ================ xe_live_mocs_reset_kunit =================
[16:36:57] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[16:36:57] ==================== [SKIPPED] xe_mocs =====================
[16:36:57] ================= xe_migrate (2 subtests) ==================
[16:36:57] ================= xe_migrate_sanity_kunit =================
[16:36:57] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[16:36:57] ================== xe_validate_ccs_kunit ==================
[16:36:57] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[16:36:57] =================== [SKIPPED] xe_migrate ===================
[16:36:57] ================== xe_dma_buf (1 subtest) ==================
[16:36:57] ==================== xe_dma_buf_kunit =====================
[16:36:57] ================ [SKIPPED] xe_dma_buf_kunit ================
[16:36:57] =================== [SKIPPED] xe_dma_buf ===================
[16:36:57] ================= xe_bo_shrink (1 subtest) =================
[16:36:57] =================== xe_bo_shrink_kunit ====================
[16:36:57] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[16:36:57] ================== [SKIPPED] xe_bo_shrink ==================
[16:36:57] ==================== xe_bo (2 subtests) ====================
[16:36:57] ================== xe_ccs_migrate_kunit ===================
[16:36:57] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[16:36:57] ==================== xe_bo_evict_kunit ====================
[16:36:57] =============== [SKIPPED] xe_bo_evict_kunit ================
[16:36:57] ===================== [SKIPPED] xe_bo ======================
[16:36:57] =================== xe_any (9 subtests) ====================
[16:36:57] [PASSED] test_to_xe
[16:36:57] [PASSED] test_to_dev
[16:36:57] [PASSED] test_to_pdev
[16:36:57] [PASSED] test_to_drm
[16:36:57] [PASSED] test_if_pdev
[16:36:57] [PASSED] test_if_xe
[16:36:57] [PASSED] test_if_tile
[16:36:57] [PASSED] test_if_gt
[16:36:57] [PASSED] test_to_id
[16:36:57] ===================== [PASSED] xe_any ======================
[16:36:57] ==================== args (13 subtests) ====================
[16:36:57] [PASSED] count_args_test
[16:36:57] [PASSED] call_args_example
[16:36:57] [PASSED] call_args_test
[16:36:57] [PASSED] drop_first_arg_example
[16:36:57] [PASSED] drop_first_arg_test
[16:36:57] [PASSED] first_arg_example
[16:36:57] [PASSED] first_arg_test
[16:36:57] [PASSED] last_arg_example
[16:36:57] [PASSED] last_arg_test
[16:36:57] [PASSED] pick_arg_example
[16:36:57] [PASSED] if_args_example
[16:36:57] [PASSED] if_args_test
[16:36:57] [PASSED] sep_comma_example
[16:36:57] ====================== [PASSED] args =======================
[16:36:57] =================== xe_pci (3 subtests) ====================
[16:36:57] ==================== check_graphics_ip ====================
[16:36:57] [PASSED] 12.00 Xe_LP
[16:36:57] [PASSED] 12.10 Xe_LP+
[16:36:57] [PASSED] 12.55 Xe_HPG
[16:36:57] [PASSED] 12.60 Xe_HPC
[16:36:57] [PASSED] 12.70 Xe_LPG
[16:36:57] [PASSED] 12.71 Xe_LPG
[16:36:57] [PASSED] 12.74 Xe_LPG+
[16:36:57] [PASSED] 20.01 Xe2_HPG
[16:36:57] [PASSED] 20.02 Xe2_HPG
[16:36:57] [PASSED] 20.04 Xe2_LPG
[16:36:57] [PASSED] 30.00 Xe3_LPG
[16:36:57] [PASSED] 30.01 Xe3_LPG
[16:36:57] [PASSED] 30.03 Xe3_LPG
[16:36:57] [PASSED] 30.04 Xe3_LPG
[16:36:57] [PASSED] 30.05 Xe3_LPG
[16:36:57] [PASSED] 35.10 Xe3p_LPG
[16:36:57] [PASSED] 35.11 Xe3p_XPC
[16:36:57] ================ [PASSED] check_graphics_ip ================
[16:36:57] ===================== check_media_ip ======================
[16:36:57] [PASSED] 12.00 Xe_M
[16:36:57] [PASSED] 12.55 Xe_HPM
[16:36:57] [PASSED] 13.00 Xe_LPM+
[16:36:57] [PASSED] 13.01 Xe2_HPM
[16:36:57] [PASSED] 20.00 Xe2_LPM
[16:36:57] [PASSED] 30.00 Xe3_LPM
[16:36:57] [PASSED] 30.02 Xe3_LPM
[16:36:57] [PASSED] 35.00 Xe3p_LPM
[16:36:57] [PASSED] 35.03 Xe3p_HPM
[16:36:57] ================= [PASSED] check_media_ip ==================
[16:36:57] =================== check_platform_desc ===================
[16:36:57] [PASSED] 0x9A60 (TIGERLAKE)
[16:36:57] [PASSED] 0x9A68 (TIGERLAKE)
[16:36:57] [PASSED] 0x9A70 (TIGERLAKE)
[16:36:57] [PASSED] 0x9A40 (TIGERLAKE)
[16:36:57] [PASSED] 0x9A49 (TIGERLAKE)
[16:36:57] [PASSED] 0x9A59 (TIGERLAKE)
[16:36:57] [PASSED] 0x9A78 (TIGERLAKE)
[16:36:57] [PASSED] 0x9AC0 (TIGERLAKE)
[16:36:57] [PASSED] 0x9AC9 (TIGERLAKE)
[16:36:57] [PASSED] 0x9AD9 (TIGERLAKE)
[16:36:57] [PASSED] 0x9AF8 (TIGERLAKE)
[16:36:57] [PASSED] 0x4C80 (ROCKETLAKE)
[16:36:57] [PASSED] 0x4C8A (ROCKETLAKE)
[16:36:57] [PASSED] 0x4C8B (ROCKETLAKE)
[16:36:57] [PASSED] 0x4C8C (ROCKETLAKE)
[16:36:57] [PASSED] 0x4C90 (ROCKETLAKE)
[16:36:57] [PASSED] 0x4C9A (ROCKETLAKE)
[16:36:57] [PASSED] 0x4680 (ALDERLAKE_S)
[16:36:57] [PASSED] 0x4682 (ALDERLAKE_S)
[16:36:57] [PASSED] 0x4688 (ALDERLAKE_S)
[16:36:57] [PASSED] 0x468A (ALDERLAKE_S)
[16:36:57] [PASSED] 0x468B (ALDERLAKE_S)
[16:36:57] [PASSED] 0x4690 (ALDERLAKE_S)
[16:36:57] [PASSED] 0x4692 (ALDERLAKE_S)
[16:36:57] [PASSED] 0x4693 (ALDERLAKE_S)
[16:36:57] [PASSED] 0x46A0 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46A1 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46A2 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46A3 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46A6 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46A8 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46AA (ALDERLAKE_P)
[16:36:57] [PASSED] 0x462A (ALDERLAKE_P)
[16:36:57] [PASSED] 0x4626 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x4628 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46B0 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46B1 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46B2 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46B3 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46C0 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46C1 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46C2 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46C3 (ALDERLAKE_P)
[16:36:57] [PASSED] 0x46D0 (ALDERLAKE_N)
[16:36:57] [PASSED] 0x46D1 (ALDERLAKE_N)
[16:36:57] [PASSED] 0x46D2 (ALDERLAKE_N)
[16:36:57] [PASSED] 0x46D3 (ALDERLAKE_N)
[16:36:57] [PASSED] 0x46D4 (ALDERLAKE_N)
[16:36:57] [PASSED] 0xA721 (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA7A1 (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA7A9 (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA7AC (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA7AD (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA720 (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA7A0 (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA7A8 (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA7AA (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA7AB (ALDERLAKE_P)
[16:36:57] [PASSED] 0xA780 (ALDERLAKE_S)
[16:36:57] [PASSED] 0xA781 (ALDERLAKE_S)
[16:36:57] [PASSED] 0xA782 (ALDERLAKE_S)
[16:36:57] [PASSED] 0xA783 (ALDERLAKE_S)
[16:36:57] [PASSED] 0xA788 (ALDERLAKE_S)
[16:36:57] [PASSED] 0xA789 (ALDERLAKE_S)
[16:36:57] [PASSED] 0xA78A (ALDERLAKE_S)
[16:36:57] [PASSED] 0xA78B (ALDERLAKE_S)
[16:36:57] [PASSED] 0x4905 (DG1)
[16:36:57] [PASSED] 0x4906 (DG1)
[16:36:57] [PASSED] 0x4907 (DG1)
[16:36:57] [PASSED] 0x4908 (DG1)
[16:36:57] [PASSED] 0x4909 (DG1)
[16:36:57] [PASSED] 0x56C0 (DG2)
[16:36:57] [PASSED] 0x56C2 (DG2)
[16:36:57] [PASSED] 0x56C1 (DG2)
[16:36:57] [PASSED] 0x7D51 (METEORLAKE)
[16:36:57] [PASSED] 0x7DD1 (METEORLAKE)
[16:36:57] [PASSED] 0x7D41 (METEORLAKE)
[16:36:57] [PASSED] 0x7D67 (METEORLAKE)
[16:36:57] [PASSED] 0xB640 (METEORLAKE)
[16:36:57] [PASSED] 0x56A0 (DG2)
[16:36:57] [PASSED] 0x56A1 (DG2)
[16:36:57] [PASSED] 0x56A2 (DG2)
[16:36:57] [PASSED] 0x56BE (DG2)
[16:36:57] [PASSED] 0x56BF (DG2)
[16:36:57] [PASSED] 0x5690 (DG2)
[16:36:57] [PASSED] 0x5691 (DG2)
[16:36:57] [PASSED] 0x5692 (DG2)
[16:36:57] [PASSED] 0x56A5 (DG2)
[16:36:57] [PASSED] 0x56A6 (DG2)
[16:36:57] [PASSED] 0x56B0 (DG2)
[16:36:57] [PASSED] 0x56B1 (DG2)
[16:36:57] [PASSED] 0x56BA (DG2)
[16:36:57] [PASSED] 0x56BB (DG2)
[16:36:57] [PASSED] 0x56BC (DG2)
[16:36:57] [PASSED] 0x56BD (DG2)
[16:36:57] [PASSED] 0x5693 (DG2)
[16:36:57] [PASSED] 0x5694 (DG2)
[16:36:57] [PASSED] 0x5695 (DG2)
[16:36:57] [PASSED] 0x56A3 (DG2)
[16:36:57] [PASSED] 0x56A4 (DG2)
[16:36:57] [PASSED] 0x56B2 (DG2)
[16:36:57] [PASSED] 0x56B3 (DG2)
[16:36:57] [PASSED] 0x5696 (DG2)
[16:36:57] [PASSED] 0x5697 (DG2)
[16:36:57] [PASSED] 0xB69 (PVC)
[16:36:57] [PASSED] 0xB6E (PVC)
[16:36:57] [PASSED] 0xBD4 (PVC)
[16:36:57] [PASSED] 0xBD5 (PVC)
[16:36:57] [PASSED] 0xBD6 (PVC)
[16:36:57] [PASSED] 0xBD7 (PVC)
[16:36:57] [PASSED] 0xBD8 (PVC)
[16:36:57] [PASSED] 0xBD9 (PVC)
[16:36:57] [PASSED] 0xBDA (PVC)
[16:36:57] [PASSED] 0xBDB (PVC)
[16:36:57] [PASSED] 0xBE0 (PVC)
[16:36:57] [PASSED] 0xBE1 (PVC)
[16:36:57] [PASSED] 0xBE5 (PVC)
[16:36:57] [PASSED] 0x7D40 (METEORLAKE)
[16:36:57] [PASSED] 0x7D45 (METEORLAKE)
[16:36:57] [PASSED] 0x7D55 (METEORLAKE)
[16:36:57] [PASSED] 0x7D60 (METEORLAKE)
[16:36:57] [PASSED] 0x7DD5 (METEORLAKE)
[16:36:57] [PASSED] 0x6420 (LUNARLAKE)
[16:36:57] [PASSED] 0x64A0 (LUNARLAKE)
[16:36:57] [PASSED] 0x64B0 (LUNARLAKE)
[16:36:57] [PASSED] 0xE202 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE209 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE20B (BATTLEMAGE)
[16:36:57] [PASSED] 0xE20C (BATTLEMAGE)
[16:36:57] [PASSED] 0xE20D (BATTLEMAGE)
[16:36:57] [PASSED] 0xE210 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE211 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE212 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE216 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE220 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE221 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE222 (BATTLEMAGE)
[16:36:57] [PASSED] 0xE223 (BATTLEMAGE)
[16:36:57] [PASSED] 0xB080 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB081 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB082 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB083 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB084 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB085 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB086 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB087 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB08F (PANTHERLAKE)
[16:36:57] [PASSED] 0xB090 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB0A0 (PANTHERLAKE)
[16:36:57] [PASSED] 0xB0B0 (PANTHERLAKE)
[16:36:57] [PASSED] 0xFD80 (PANTHERLAKE)
[16:36:57] [PASSED] 0xFD81 (PANTHERLAKE)
[16:36:57] [PASSED] 0xD740 (NOVALAKE_S)
[16:36:57] [PASSED] 0xD741 (NOVALAKE_S)
[16:36:57] [PASSED] 0xD742 (NOVALAKE_S)
[16:36:57] [PASSED] 0xD743 (NOVALAKE_S)
[16:36:57] [PASSED] 0xD745 (NOVALAKE_S)
[16:36:57] [PASSED] 0xD74A (NOVALAKE_S)
[16:36:57] [PASSED] 0xD74B (NOVALAKE_S)
[16:36:57] [PASSED] 0x674C (CRESCENTISLAND)
[16:36:57] [PASSED] 0x674D (CRESCENTISLAND)
[16:36:57] [PASSED] 0x674E (CRESCENTISLAND)
[16:36:57] [PASSED] 0x674F (CRESCENTISLAND)
[16:36:57] [PASSED] 0x6750 (CRESCENTISLAND)
[16:36:57] [PASSED] 0xD750 (NOVALAKE_P)
[16:36:57] [PASSED] 0xD751 (NOVALAKE_P)
[16:36:57] [PASSED] 0xD752 (NOVALAKE_P)
[16:36:57] [PASSED] 0xD753 (NOVALAKE_P)
[16:36:57] [PASSED] 0xD754 (NOVALAKE_P)
[16:36:57] [PASSED] 0xD755 (NOVALAKE_P)
[16:36:57] [PASSED] 0xD756 (NOVALAKE_P)
[16:36:57] [PASSED] 0xD757 (NOVALAKE_P)
[16:36:57] [PASSED] 0xD75F (NOVALAKE_P)
[16:36:57] =============== [PASSED] check_platform_desc ===============
[16:36:57] ===================== [PASSED] xe_pci ======================
[16:36:57] ============= xe_rtp_tables_test (5 subtests) ==============
[16:36:57] ================== xe_rtp_table_gt_test ===================
[16:36:57] [PASSED] gt_was/14011060649
[16:36:57] [PASSED] gt_was/14011059788
[16:36:57] [PASSED] gt_was/14015795083
[16:36:57] [PASSED] gt_was/16021867713
[16:36:57] [PASSED] gt_was/14019449301
[16:36:57] [PASSED] gt_was/16028005424
[16:36:57] [PASSED] gt_was/14026578760
[16:36:57] [PASSED] gt_was/1409420604
[16:36:57] [PASSED] gt_was/1408615072
[16:36:57] [PASSED] gt_was/22010523718
[16:36:57] [PASSED] gt_was/14011006942
[16:36:57] [PASSED] gt_was/14014830051
[16:36:57] [PASSED] gt_was/18018781329
[16:36:57] [PASSED] gt_was/1509235366
[16:36:57] [PASSED] gt_was/18018781329
[16:36:57] [PASSED] gt_was/16016694945
[16:36:57] [PASSED] gt_was/14018575942
[16:36:57] [PASSED] gt_was/22016670082
[16:36:57] [PASSED] gt_was/22016670082
[16:36:57] [PASSED] gt_was/14017421178
[16:36:57] [PASSED] gt_was/16025250150
[16:36:57] [PASSED] gt_was/14021871409
[16:36:57] [PASSED] gt_was/16021865536
[16:36:57] [PASSED] gt_was/14021486841
[16:36:57] [PASSED] gt_was/14025160223
[16:36:57] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[16:36:57] [PASSED] gt_was/14025635424
[16:36:57] [PASSED] gt_was/16028005424
[16:36:57] ============== [PASSED] xe_rtp_table_gt_test ===============
[16:36:57] ================== xe_rtp_table_gt_test ===================
[16:36:57] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[16:36:57] [PASSED] gt_tunings/Tuning: 32B Access Enable
[16:36:57] [PASSED] gt_tunings/Tuning: L3 cache
[16:36:57] [PASSED] gt_tunings/Tuning: L3 cache - media
[16:36:57] [PASSED] gt_tunings/Tuning: Compression Overfetch
[16:36:57] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[16:36:57] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[16:36:57] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[16:36:57] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[16:36:57] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[16:36:57] [PASSED] gt_tunings/Tuning: Stateless compression control
[16:36:57] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[16:36:57] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[16:36:57] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[16:36:57] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[16:36:57] ============== [PASSED] xe_rtp_table_gt_test ===============
[16:36:57] ================== xe_rtp_table_oob_test ==================
[16:36:57] [PASSED] oob_was/1607983814
[16:36:57] [PASSED] oob_was/16010904313
[16:36:57] [PASSED] oob_was/18022495364
[16:36:57] [PASSED] oob_was/22012773006
[16:36:57] [PASSED] oob_was/14014475959
[16:36:57] [PASSED] oob_was/22011391025
[16:36:57] [PASSED] oob_was/22012727170
[16:36:57] [PASSED] oob_was/22012727685
[16:36:57] [PASSED] oob_was/22016596838
[16:36:57] [PASSED] oob_was/18020744125
[16:36:57] [PASSED] oob_was/1409600907
[16:36:57] [PASSED] oob_was/22014953428
[16:36:57] [PASSED] oob_was/16017236439
[16:36:57] [PASSED] oob_was/14019821291
[16:36:57] [PASSED] oob_was/14015076503
[16:36:57] [PASSED] oob_was/14018913170
[16:36:57] [PASSED] oob_was/14018094691
[16:36:57] [PASSED] oob_was/18024947630
[16:36:57] [PASSED] oob_was/16022287689
[16:36:57] [PASSED] oob_was/13011645652
[16:36:57] [PASSED] oob_was/14022293748
[16:36:57] [PASSED] oob_was/22019794406
[16:36:57] [PASSED] oob_was/22019338487
[16:36:57] [PASSED] oob_was/16023588340
[16:36:57] [PASSED] oob_was/14019789679
[16:36:57] [PASSED] oob_was/14022866841
[16:36:57] [PASSED] oob_was/16021333562
[16:36:57] [PASSED] oob_was/14016712196
[16:36:57] [PASSED] oob_was/14015568240
[16:36:57] [PASSED] oob_was/18013179988
[16:36:57] [PASSED] oob_was/1508761755
[16:36:57] [PASSED] oob_was/16023105232
[16:36:57] [PASSED] oob_was/16026508708
[16:36:57] [PASSED] oob_was/14020001231
[16:36:57] [PASSED] oob_was/16023683509
[16:36:57] [PASSED] oob_was/14025515070
[16:36:57] [PASSED] oob_was/15015404425_disable
[16:36:57] [PASSED] oob_was/16026007364
[16:36:57] [PASSED] oob_was/14020316580
[16:36:57] [PASSED] oob_was/14025883347
[16:36:57] [PASSED] oob_was/16029380221
[16:36:57] [PASSED] oob_was/22022079272
[16:36:57] [PASSED] oob_was/16029897822
[16:36:57] [PASSED] oob_was/14027054324
[16:36:57] [PASSED] oob_was/14025941587
[16:36:57] ============== [PASSED] xe_rtp_table_oob_test ==============
[16:36:57] ================ xe_rtp_table_dev_oob_test ================
[16:36:57] [PASSED] device_oob_was/22010954014
[16:36:57] [PASSED] device_oob_was/15015404425
[16:36:57] [PASSED] device_oob_was/22019338487_display
[16:36:57] [PASSED] device_oob_was/14022085890
[16:36:57] [PASSED] device_oob_was/14026539277
[16:36:57] [PASSED] device_oob_was/14026633728
[16:36:57] [PASSED] device_oob_was/14026746987
[16:36:57] [PASSED] device_oob_was/14026779378
[16:36:57] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[16:36:57] ========== xe_rtp_table_missing_upper_bound_test ==========
[16:36:57] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[16:36:57] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[16:36:57] [PASSED] register_whitelist/1806527549
[16:36:57] [PASSED] register_whitelist/allow_read_ctx_timestamp
[16:36:57] [PASSED] register_whitelist/allow_read_queue_timestamp
[16:36:57] [PASSED] register_whitelist/16014440446
[16:36:57] [PASSED] register_whitelist/16017236439
[16:36:57] [PASSED] register_whitelist/16020183090
[16:36:57] [PASSED] register_whitelist/14024997852
[16:36:57] [PASSED] register_whitelist/14024997852
[16:36:57] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[16:36:57] =============== [PASSED] xe_rtp_tables_test ================
[16:36:57] =================== xe_rtp (3 subtests) ====================
[16:36:57] =================== xe_rtp_rules_tests ====================
[16:36:57] [PASSED] no
[16:36:57] [PASSED] yes
[16:36:57] [PASSED] no-and-no
[16:36:57] [PASSED] no-and-yes
[16:36:57] [PASSED] yes-and-no
[16:36:57] [PASSED] yes-and-yes
[16:36:57] [PASSED] no-or-no
[16:36:57] [PASSED] no-or-yes
[16:36:57] [PASSED] yes-or-no
[16:36:57] [PASSED] yes-or-yes
[16:36:57] [PASSED] no-yes-or-yes-no
[16:36:57] [PASSED] no-yes-or-yes-yes
[16:36:57] [PASSED] yes-yes-or-no-yes
[16:36:57] [PASSED] yes-yes-or-yes-yes
[16:36:57] [PASSED] no-no-or-yes-or-no
[16:36:57] [PASSED] or
[16:36:57] [PASSED] or-yes
[16:36:57] [PASSED] or-no
[16:36:57] [PASSED] yes-or
[16:36:57] [PASSED] no-or
[16:36:57] [PASSED] no-or-or-yes
[16:36:57] [PASSED] yes-or-or-no
[16:36:57] [PASSED] no-or-or-no
[16:36:57] [PASSED] missing-context-engine-class
[16:36:57] [PASSED] missing-context-engine-class-or-yes
[16:36:57] [PASSED] missing-context-engine-class-or-or-yes
[16:36:57] =============== [PASSED] xe_rtp_rules_tests ================
[16:36:57] =============== xe_rtp_process_to_sr_tests ================
[16:36:57] [PASSED] coalesce-same-reg
[16:36:57] [PASSED] coalesce-same-reg-literal-and-func
[16:36:57] [PASSED] no-match-no-add
[16:36:57] [PASSED] two-regs-two-entries
[16:36:57] [PASSED] clr-one-set-other
[16:36:57] [PASSED] set-field
[16:36:57] [PASSED] conflict-duplicate
[16:36:57] [PASSED] conflict-not-disjoint
[16:36:57] [PASSED] conflict-not-disjoint-literal-and-func
[16:36:57] [PASSED] conflict-reg-type
[16:36:57] [PASSED] bad-mcr-reg-forced-to-regular
[16:36:57] [PASSED] bad-regular-reg-forced-to-mcr
[16:36:57] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[16:36:57] ================== xe_rtp_process_tests ===================
[16:36:57] [PASSED] active1
[16:36:57] [PASSED] active2
[16:36:57] [PASSED] active-inactive
[16:36:57] [PASSED] inactive-active
[16:36:57] [PASSED] inactive-active-inactive
[16:36:57] [PASSED] inactive-inactive-inactive
[16:36:57] ============== [PASSED] xe_rtp_process_tests ===============
[16:36:57] ===================== [PASSED] xe_rtp ======================
[16:36:57] ==================== xe_wa (1 subtest) =====================
[16:36:57] ======================== xe_wa_gt =========================
[16:36:57] [PASSED] TIGERLAKE B0
[16:36:57] [PASSED] DG1 A0
[16:36:57] [PASSED] DG1 B0
[16:36:57] [PASSED] ALDERLAKE_S A0
[16:36:57] [PASSED] ALDERLAKE_S B0
[16:36:57] [PASSED] ALDERLAKE_S C0
[16:36:57] [PASSED] ALDERLAKE_S D0
[16:36:57] [PASSED] ALDERLAKE_P A0
[16:36:57] [PASSED] ALDERLAKE_P B0
[16:36:57] [PASSED] ALDERLAKE_P C0
[16:36:57] [PASSED] ALDERLAKE_S RPLS D0
[16:36:57] [PASSED] ALDERLAKE_P RPLU E0
[16:36:57] [PASSED] DG2 G10 C0
[16:36:57] [PASSED] DG2 G11 B1
[16:36:57] [PASSED] DG2 G12 A1
[16:36:57] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:36:57] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:36:57] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[16:36:57] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[16:36:57] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[16:36:57] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[16:36:57] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[16:36:57] ==================== [PASSED] xe_wa_gt =====================
[16:36:57] ====================== [PASSED] xe_wa ======================
[16:36:57] ============================================================
[16:36:57] Testing complete. Ran 820 tests: passed: 792, skipped: 28
[16:36:57] Elapsed time: 36.913s total, 1.777s configuring, 34.420s building, 0.709s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[16:36:57] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:36:59] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:37:24] Starting KUnit Kernel (1/1)...
[16:37:24] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:37:24] ============= refcount_interrupt (4 subtests) ==============
[16:37:24] [PASSED] test_single_irq_change
[16:37:24] [PASSED] test_nested_irq_change
[16:37:24] [PASSED] test_multiple_irq_change
[16:37:24] [PASSED] test_irq_save
[16:37:24] =============== [PASSED] refcount_interrupt ================
[16:37:24] ============ drm_test_pick_cmdline (2 subtests) ============
[16:37:24] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[16:37:24] =============== drm_test_pick_cmdline_named ===============
[16:37:24] [PASSED] NTSC
[16:37:24] [PASSED] NTSC-J
[16:37:24] [PASSED] PAL
[16:37:24] [PASSED] PAL-M
[16:37:24] =========== [PASSED] drm_test_pick_cmdline_named ===========
[16:37:24] ============== [PASSED] drm_test_pick_cmdline ==============
[16:37:24] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[16:37:24] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[16:37:24] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[16:37:24] =========== drm_validate_clone_mode (2 subtests) ===========
[16:37:24] ============== drm_test_check_in_clone_mode ===============
[16:37:24] [PASSED] in_clone_mode
[16:37:24] [PASSED] not_in_clone_mode
[16:37:24] ========== [PASSED] drm_test_check_in_clone_mode ===========
[16:37:24] =============== drm_test_check_valid_clones ===============
[16:37:24] [PASSED] not_in_clone_mode
[16:37:24] [PASSED] valid_clone
[16:37:24] [PASSED] invalid_clone
[16:37:24] =========== [PASSED] drm_test_check_valid_clones ===========
[16:37:24] ============= [PASSED] drm_validate_clone_mode =============
[16:37:24] ============= drm_validate_modeset (1 subtest) =============
[16:37:24] [PASSED] drm_test_check_connector_changed_modeset
[16:37:24] ============== [PASSED] drm_validate_modeset ===============
[16:37:24] ====== drm_test_bridge_get_current_state (1 subtest) =======
[16:37:24] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[16:37:24] ======== [PASSED] drm_test_bridge_get_current_state ========
[16:37:24] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[16:37:24] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[16:37:24] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[16:37:24] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[16:37:24] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[16:37:24] ============== drm_bridge_alloc (2 subtests) ===============
[16:37:24] [PASSED] drm_test_drm_bridge_alloc_basic
[16:37:24] [PASSED] drm_test_drm_bridge_alloc_get_put
[16:37:24] ================ [PASSED] drm_bridge_alloc =================
[16:37:24] ============= drm_bridge_bus_fmt (5 subtests) ==============
[16:37:24] [PASSED] drm_test_bridge_rgb_yuv_rgb
[16:37:24] [PASSED] drm_test_bridge_must_convert_to_yuv444
[16:37:24] [PASSED] drm_test_bridge_hdmi_auto_rgb
[16:37:24] [PASSED] drm_test_bridge_auto_first
[16:37:24] [PASSED] drm_test_bridge_rgb_yuv_no_path
[16:37:24] =============== [PASSED] drm_bridge_bus_fmt ================
[16:37:24] ============= drm_cmdline_parser (40 subtests) =============
[16:37:24] [PASSED] drm_test_cmdline_force_d_only
[16:37:24] [PASSED] drm_test_cmdline_force_D_only_dvi
[16:37:24] [PASSED] drm_test_cmdline_force_D_only_hdmi
[16:37:24] [PASSED] drm_test_cmdline_force_D_only_not_digital
[16:37:24] [PASSED] drm_test_cmdline_force_e_only
[16:37:24] [PASSED] drm_test_cmdline_res
[16:37:24] [PASSED] drm_test_cmdline_res_vesa
[16:37:24] [PASSED] drm_test_cmdline_res_vesa_rblank
[16:37:24] [PASSED] drm_test_cmdline_res_rblank
[16:37:24] [PASSED] drm_test_cmdline_res_bpp
[16:37:24] [PASSED] drm_test_cmdline_res_refresh
[16:37:24] [PASSED] drm_test_cmdline_res_bpp_refresh
[16:37:24] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[16:37:24] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[16:37:24] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[16:37:24] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[16:37:24] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[16:37:24] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[16:37:24] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[16:37:24] [PASSED] drm_test_cmdline_res_margins_force_on
[16:37:24] [PASSED] drm_test_cmdline_res_vesa_margins
[16:37:24] [PASSED] drm_test_cmdline_name
[16:37:24] [PASSED] drm_test_cmdline_name_bpp
[16:37:24] [PASSED] drm_test_cmdline_name_option
[16:37:24] [PASSED] drm_test_cmdline_name_bpp_option
[16:37:24] [PASSED] drm_test_cmdline_rotate_0
[16:37:24] [PASSED] drm_test_cmdline_rotate_90
[16:37:24] [PASSED] drm_test_cmdline_rotate_180
[16:37:24] [PASSED] drm_test_cmdline_rotate_270
[16:37:24] [PASSED] drm_test_cmdline_hmirror
[16:37:24] [PASSED] drm_test_cmdline_vmirror
[16:37:24] [PASSED] drm_test_cmdline_margin_options
[16:37:24] [PASSED] drm_test_cmdline_multiple_options
[16:37:24] [PASSED] drm_test_cmdline_bpp_extra_and_option
[16:37:24] [PASSED] drm_test_cmdline_extra_and_option
[16:37:24] [PASSED] drm_test_cmdline_freestanding_options
[16:37:24] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[16:37:24] [PASSED] drm_test_cmdline_panel_orientation
[16:37:24] ================ drm_test_cmdline_invalid =================
[16:37:24] [PASSED] margin_only
[16:37:24] [PASSED] interlace_only
[16:37:24] [PASSED] res_missing_x
[16:37:24] [PASSED] res_missing_y
[16:37:24] [PASSED] res_bad_y
[16:37:24] [PASSED] res_missing_y_bpp
[16:37:24] [PASSED] res_bad_bpp
[16:37:24] [PASSED] res_bad_refresh
[16:37:24] [PASSED] res_bpp_refresh_force_on_off
[16:37:24] [PASSED] res_invalid_mode
[16:37:24] [PASSED] res_bpp_wrong_place_mode
[16:37:24] [PASSED] name_bpp_refresh
[16:37:24] [PASSED] name_refresh
[16:37:24] [PASSED] name_refresh_wrong_mode
[16:37:24] [PASSED] name_refresh_invalid_mode
[16:37:24] [PASSED] rotate_multiple
[16:37:24] [PASSED] rotate_invalid_val
[16:37:24] [PASSED] rotate_truncated
[16:37:24] [PASSED] invalid_option
[16:37:24] [PASSED] invalid_tv_option
[16:37:24] [PASSED] truncated_tv_option
[16:37:24] ============ [PASSED] drm_test_cmdline_invalid =============
[16:37:24] =============== drm_test_cmdline_tv_options ===============
[16:37:24] [PASSED] NTSC
[16:37:24] [PASSED] NTSC_443
[16:37:24] [PASSED] NTSC_J
[16:37:24] [PASSED] PAL
[16:37:24] [PASSED] PAL_M
[16:37:24] [PASSED] PAL_N
[16:37:24] [PASSED] SECAM
[16:37:24] [PASSED] MONO_525
[16:37:24] [PASSED] MONO_625
[16:37:24] =========== [PASSED] drm_test_cmdline_tv_options ===========
[16:37:24] =============== [PASSED] drm_cmdline_parser ================
[16:37:24] ========== drmm_connector_hdmi_init (20 subtests) ==========
[16:37:24] [PASSED] drm_test_connector_hdmi_init_valid
[16:37:24] [PASSED] drm_test_connector_hdmi_init_bpc_8
[16:37:24] [PASSED] drm_test_connector_hdmi_init_bpc_10
[16:37:24] [PASSED] drm_test_connector_hdmi_init_bpc_12
[16:37:24] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[16:37:24] [PASSED] drm_test_connector_hdmi_init_bpc_null
[16:37:24] [PASSED] drm_test_connector_hdmi_init_formats_empty
[16:37:24] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[16:37:24] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:37:24] [PASSED] supported_formats=0x9 yuv420_allowed=1
[16:37:24] [PASSED] supported_formats=0x9 yuv420_allowed=0
[16:37:24] [PASSED] supported_formats=0x5 yuv420_allowed=1
[16:37:24] [PASSED] supported_formats=0x5 yuv420_allowed=0
[16:37:24] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:37:24] [PASSED] drm_test_connector_hdmi_init_null_ddc
[16:37:24] [PASSED] drm_test_connector_hdmi_init_null_product
[16:37:24] [PASSED] drm_test_connector_hdmi_init_null_vendor
[16:37:24] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[16:37:24] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[16:37:24] [PASSED] drm_test_connector_hdmi_init_product_valid
[16:37:24] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[16:37:24] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[16:37:24] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[16:37:24] ========= drm_test_connector_hdmi_init_type_valid =========
[16:37:24] [PASSED] HDMI-A
[16:37:24] [PASSED] HDMI-B
[16:37:24] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[16:37:24] ======== drm_test_connector_hdmi_init_type_invalid ========
[16:37:24] [PASSED] Unknown
[16:37:24] [PASSED] VGA
[16:37:24] [PASSED] DVI-I
[16:37:24] [PASSED] DVI-D
[16:37:24] [PASSED] DVI-A
[16:37:24] [PASSED] Composite
[16:37:24] [PASSED] SVIDEO
[16:37:24] [PASSED] LVDS
[16:37:24] [PASSED] Component
[16:37:24] [PASSED] DIN
[16:37:24] [PASSED] DP
[16:37:24] [PASSED] TV
[16:37:24] [PASSED] eDP
[16:37:24] [PASSED] Virtual
[16:37:24] [PASSED] DSI
[16:37:24] [PASSED] DPI
[16:37:24] [PASSED] Writeback
[16:37:24] [PASSED] SPI
[16:37:24] [PASSED] USB
[16:37:24] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[16:37:24] ============ [PASSED] drmm_connector_hdmi_init =============
[16:37:24] ============= drmm_connector_init (3 subtests) =============
[16:37:24] [PASSED] drm_test_drmm_connector_init
[16:37:24] [PASSED] drm_test_drmm_connector_init_null_ddc
[16:37:24] ========= drm_test_drmm_connector_init_type_valid =========
[16:37:24] [PASSED] Unknown
[16:37:24] [PASSED] VGA
[16:37:24] [PASSED] DVI-I
[16:37:24] [PASSED] DVI-D
[16:37:24] [PASSED] DVI-A
[16:37:24] [PASSED] Composite
[16:37:24] [PASSED] SVIDEO
[16:37:24] [PASSED] LVDS
[16:37:24] [PASSED] Component
[16:37:24] [PASSED] DIN
[16:37:24] [PASSED] DP
[16:37:24] [PASSED] HDMI-A
[16:37:24] [PASSED] HDMI-B
[16:37:24] [PASSED] TV
[16:37:24] [PASSED] eDP
[16:37:24] [PASSED] Virtual
[16:37:24] [PASSED] DSI
[16:37:24] [PASSED] DPI
[16:37:24] [PASSED] Writeback
[16:37:24] [PASSED] SPI
[16:37:24] [PASSED] USB
[16:37:24] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[16:37:24] =============== [PASSED] drmm_connector_init ===============
[16:37:24] ========= drm_connector_dynamic_init (6 subtests) ==========
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_init
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_init_properties
[16:37:24] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[16:37:24] [PASSED] Unknown
[16:37:24] [PASSED] VGA
[16:37:24] [PASSED] DVI-I
[16:37:24] [PASSED] DVI-D
[16:37:24] [PASSED] DVI-A
[16:37:24] [PASSED] Composite
[16:37:24] [PASSED] SVIDEO
[16:37:24] [PASSED] LVDS
[16:37:24] [PASSED] Component
[16:37:24] [PASSED] DIN
[16:37:24] [PASSED] DP
[16:37:24] [PASSED] HDMI-A
[16:37:24] [PASSED] HDMI-B
[16:37:24] [PASSED] TV
[16:37:24] [PASSED] eDP
[16:37:24] [PASSED] Virtual
[16:37:24] [PASSED] DSI
[16:37:24] [PASSED] DPI
[16:37:24] [PASSED] Writeback
[16:37:24] [PASSED] SPI
[16:37:24] [PASSED] USB
[16:37:24] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[16:37:24] ======== drm_test_drm_connector_dynamic_init_name =========
[16:37:24] [PASSED] Unknown
[16:37:24] [PASSED] VGA
[16:37:24] [PASSED] DVI-I
[16:37:24] [PASSED] DVI-D
[16:37:24] [PASSED] DVI-A
[16:37:24] [PASSED] Composite
[16:37:24] [PASSED] SVIDEO
[16:37:24] [PASSED] LVDS
[16:37:24] [PASSED] Component
[16:37:24] [PASSED] DIN
[16:37:24] [PASSED] DP
[16:37:24] [PASSED] HDMI-A
[16:37:24] [PASSED] HDMI-B
[16:37:24] [PASSED] TV
[16:37:24] [PASSED] eDP
[16:37:24] [PASSED] Virtual
[16:37:24] [PASSED] DSI
[16:37:24] [PASSED] DPI
[16:37:24] [PASSED] Writeback
[16:37:24] [PASSED] SPI
[16:37:24] [PASSED] USB
[16:37:24] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[16:37:24] =========== [PASSED] drm_connector_dynamic_init ============
[16:37:24] ==== drm_connector_dynamic_register_early (4 subtests) =====
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[16:37:24] ====== [PASSED] drm_connector_dynamic_register_early =======
[16:37:24] ======= drm_connector_dynamic_register (7 subtests) ========
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[16:37:24] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[16:37:24] ========= [PASSED] drm_connector_dynamic_register ==========
[16:37:24] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[16:37:24] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[16:37:24] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[16:37:24] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[16:37:24] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[16:37:24] ========== drm_test_get_tv_mode_from_name_valid ===========
[16:37:24] [PASSED] NTSC
[16:37:24] [PASSED] NTSC-443
[16:37:24] [PASSED] NTSC-J
[16:37:24] [PASSED] PAL
[16:37:24] [PASSED] PAL-M
[16:37:24] [PASSED] PAL-N
[16:37:24] [PASSED] SECAM
[16:37:24] [PASSED] Mono
[16:37:24] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[16:37:24] [PASSED] drm_test_get_tv_mode_from_name_truncated
[16:37:24] ============ [PASSED] drm_get_tv_mode_from_name ============
[16:37:24] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[16:37:24] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[16:37:24] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[16:37:24] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[16:37:24] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[16:37:24] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[16:37:24] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[16:37:24] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[16:37:24] [PASSED] VIC 96
[16:37:24] [PASSED] VIC 97
[16:37:24] [PASSED] VIC 101
[16:37:24] [PASSED] VIC 102
[16:37:24] [PASSED] VIC 106
[16:37:24] [PASSED] VIC 107
[16:37:24] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[16:37:24] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[16:37:24] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[16:37:24] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[16:37:24] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[16:37:24] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[16:37:24] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[16:37:24] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[16:37:24] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[16:37:24] [PASSED] Automatic
[16:37:24] [PASSED] Full
[16:37:24] [PASSED] Limited 16:235
[16:37:24] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[16:37:24] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[16:37:24] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[16:37:24] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[16:37:24] === drm_test_drm_hdmi_connector_get_output_format_name ====
[16:37:24] [PASSED] RGB
[16:37:24] [PASSED] YUV 4:2:0
[16:37:24] [PASSED] YUV 4:2:2
[16:37:24] [PASSED] YUV 4:4:4
[16:37:24] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[16:37:24] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[16:37:24] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[16:37:24] ============= drm_damage_helper (21 subtests) ==============
[16:37:24] [PASSED] drm_test_damage_iter_no_damage
[16:37:24] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[16:37:24] [PASSED] drm_test_damage_iter_no_damage_src_moved
[16:37:24] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[16:37:24] [PASSED] drm_test_damage_iter_no_damage_not_visible
[16:37:24] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[16:37:24] [PASSED] drm_test_damage_iter_no_damage_no_fb
[16:37:24] [PASSED] drm_test_damage_iter_simple_damage
[16:37:24] [PASSED] drm_test_damage_iter_single_damage
[16:37:24] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[16:37:24] [PASSED] drm_test_damage_iter_single_damage_outside_src
[16:37:24] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[16:37:24] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[16:37:24] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[16:37:24] [PASSED] drm_test_damage_iter_single_damage_src_moved
[16:37:24] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[16:37:24] [PASSED] drm_test_damage_iter_damage
[16:37:24] [PASSED] drm_test_damage_iter_damage_one_intersect
[16:37:24] [PASSED] drm_test_damage_iter_damage_one_outside
[16:37:24] [PASSED] drm_test_damage_iter_damage_src_moved
[16:37:24] [PASSED] drm_test_damage_iter_damage_not_visible
[16:37:24] ================ [PASSED] drm_damage_helper ================
[16:37:24] ============== drm_dp_mst_helper (3 subtests) ==============
[16:37:24] ============== drm_test_dp_mst_calc_pbn_mode ==============
[16:37:24] [PASSED] Clock 154000 BPP 30 DSC disabled
[16:37:24] [PASSED] Clock 234000 BPP 30 DSC disabled
[16:37:24] [PASSED] Clock 297000 BPP 24 DSC disabled
[16:37:24] [PASSED] Clock 332880 BPP 24 DSC enabled
[16:37:24] [PASSED] Clock 324540 BPP 24 DSC enabled
[16:37:24] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[16:37:24] ============== drm_test_dp_mst_calc_pbn_div ===============
[16:37:24] [PASSED] Link rate 2000000 lane count 4
[16:37:24] [PASSED] Link rate 2000000 lane count 2
[16:37:24] [PASSED] Link rate 2000000 lane count 1
[16:37:24] [PASSED] Link rate 1350000 lane count 4
[16:37:24] [PASSED] Link rate 1350000 lane count 2
[16:37:24] [PASSED] Link rate 1350000 lane count 1
[16:37:24] [PASSED] Link rate 1000000 lane count 4
[16:37:24] [PASSED] Link rate 1000000 lane count 2
[16:37:24] [PASSED] Link rate 1000000 lane count 1
[16:37:24] [PASSED] Link rate 810000 lane count 4
[16:37:24] [PASSED] Link rate 810000 lane count 2
[16:37:24] [PASSED] Link rate 810000 lane count 1
[16:37:24] [PASSED] Link rate 540000 lane count 4
[16:37:24] [PASSED] Link rate 540000 lane count 2
[16:37:24] [PASSED] Link rate 540000 lane count 1
[16:37:24] [PASSED] Link rate 270000 lane count 4
[16:37:24] [PASSED] Link rate 270000 lane count 2
[16:37:24] [PASSED] Link rate 270000 lane count 1
[16:37:24] [PASSED] Link rate 162000 lane count 4
[16:37:24] [PASSED] Link rate 162000 lane count 2
[16:37:24] [PASSED] Link rate 162000 lane count 1
[16:37:24] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[16:37:24] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[16:37:24] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[16:37:24] [PASSED] DP_POWER_UP_PHY with port number
[16:37:24] [PASSED] DP_POWER_DOWN_PHY with port number
[16:37:24] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[16:37:24] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[16:37:24] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[16:37:24] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[16:37:24] [PASSED] DP_QUERY_PAYLOAD with port number
[16:37:24] [PASSED] DP_QUERY_PAYLOAD with VCPI
[16:37:24] [PASSED] DP_REMOTE_DPCD_READ with port number
[16:37:24] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[16:37:24] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[16:37:24] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[16:37:24] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[16:37:24] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[16:37:24] [PASSED] DP_REMOTE_I2C_READ with port number
[16:37:24] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[16:37:24] [PASSED] DP_REMOTE_I2C_READ with transactions array
[16:37:24] [PASSED] DP_REMOTE_I2C_WRITE with port number
[16:37:24] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[16:37:24] [PASSED] DP_REMOTE_I2C_WRITE with data array
[16:37:24] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[16:37:24] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[16:37:24] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[16:37:24] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[16:37:24] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[16:37:24] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[16:37:24] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[16:37:24] ================ [PASSED] drm_dp_mst_helper ================
[16:37:24] ================== drm_exec (7 subtests) ===================
[16:37:24] [PASSED] sanitycheck
[16:37:24] [PASSED] test_lock
[16:37:24] [PASSED] test_lock_unlock
[16:37:24] [PASSED] test_duplicates
[16:37:24] [PASSED] test_prepare
[16:37:24] [PASSED] test_prepare_array
[16:37:24] [PASSED] test_multiple_loops
[16:37:24] ==================== [PASSED] drm_exec =====================
[16:37:24] =========== drm_format_helper_test (17 subtests) ===========
[16:37:24] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[16:37:24] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[16:37:24] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[16:37:24] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[16:37:24] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[16:37:24] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[16:37:24] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[16:37:24] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[16:37:24] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[16:37:24] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[16:37:24] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[16:37:24] ============== drm_test_fb_xrgb8888_to_mono ===============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[16:37:24] ==================== drm_test_fb_swab =====================
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ================ [PASSED] drm_test_fb_swab =================
[16:37:24] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[16:37:24] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[16:37:24] [PASSED] single_pixel_source_buffer
[16:37:24] [PASSED] single_pixel_clip_rectangle
[16:37:24] [PASSED] well_known_colors
[16:37:24] [PASSED] destination_pitch
[16:37:24] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[16:37:24] ================= drm_test_fb_clip_offset =================
[16:37:24] [PASSED] pass through
[16:37:24] [PASSED] horizontal offset
[16:37:24] [PASSED] vertical offset
[16:37:24] [PASSED] horizontal and vertical offset
[16:37:24] [PASSED] horizontal offset (custom pitch)
[16:37:24] [PASSED] vertical offset (custom pitch)
[16:37:24] [PASSED] horizontal and vertical offset (custom pitch)
[16:37:24] ============= [PASSED] drm_test_fb_clip_offset =============
[16:37:24] =================== drm_test_fb_memcpy ====================
[16:37:24] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[16:37:24] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[16:37:24] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[16:37:24] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[16:37:24] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[16:37:24] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[16:37:24] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[16:37:24] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[16:37:24] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[16:37:24] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[16:37:24] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[16:37:24] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[16:37:24] =============== [PASSED] drm_test_fb_memcpy ================
[16:37:24] ============= [PASSED] drm_format_helper_test ==============
[16:37:24] ================= drm_format (18 subtests) =================
[16:37:24] [PASSED] drm_test_format_block_width_invalid
[16:37:24] [PASSED] drm_test_format_block_width_one_plane
[16:37:24] [PASSED] drm_test_format_block_width_two_plane
[16:37:24] [PASSED] drm_test_format_block_width_three_plane
[16:37:24] [PASSED] drm_test_format_block_width_tiled
[16:37:24] [PASSED] drm_test_format_block_height_invalid
[16:37:24] [PASSED] drm_test_format_block_height_one_plane
[16:37:24] [PASSED] drm_test_format_block_height_two_plane
[16:37:24] [PASSED] drm_test_format_block_height_three_plane
[16:37:24] [PASSED] drm_test_format_block_height_tiled
[16:37:24] [PASSED] drm_test_format_min_pitch_invalid
[16:37:24] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[16:37:24] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[16:37:24] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[16:37:24] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[16:37:24] [PASSED] drm_test_format_min_pitch_two_plane
[16:37:24] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[16:37:24] [PASSED] drm_test_format_min_pitch_tiled
[16:37:24] =================== [PASSED] drm_format ====================
[16:37:24] ============== drm_framebuffer (10 subtests) ===============
[16:37:24] ========== drm_test_framebuffer_check_src_coords ==========
[16:37:24] [PASSED] Success: source fits into fb
[16:37:24] [PASSED] Fail: overflowing fb with x-axis coordinate
[16:37:24] [PASSED] Fail: overflowing fb with y-axis coordinate
[16:37:24] [PASSED] Fail: overflowing fb with source width
[16:37:24] [PASSED] Fail: overflowing fb with source height
[16:37:24] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[16:37:24] [PASSED] drm_test_framebuffer_cleanup
[16:37:24] =============== drm_test_framebuffer_create ===============
[16:37:24] [PASSED] ABGR8888 normal sizes
[16:37:24] [PASSED] ABGR8888 max sizes
[16:37:24] [PASSED] ABGR8888 pitch greater than min required
[16:37:24] [PASSED] ABGR8888 pitch less than min required
[16:37:24] [PASSED] ABGR8888 Invalid width
[16:37:24] [PASSED] ABGR8888 Invalid buffer handle
[16:37:24] [PASSED] No pixel format
[16:37:24] [PASSED] ABGR8888 Width 0
[16:37:24] [PASSED] ABGR8888 Height 0
[16:37:24] [PASSED] ABGR8888 Out of bound height * pitch combination
[16:37:24] [PASSED] ABGR8888 Large buffer offset
[16:37:24] [PASSED] ABGR8888 Buffer offset for inexistent plane
[16:37:24] [PASSED] ABGR8888 Invalid flag
[16:37:24] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[16:37:24] [PASSED] ABGR8888 Valid buffer modifier
[16:37:24] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[16:37:24] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[16:37:24] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[16:37:24] [PASSED] NV12 Normal sizes
[16:37:24] [PASSED] NV12 Max sizes
[16:37:24] [PASSED] NV12 Invalid pitch
[16:37:24] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[16:37:24] [PASSED] NV12 different modifier per-plane
[16:37:24] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[16:37:24] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[16:37:24] [PASSED] NV12 Modifier for inexistent plane
[16:37:24] [PASSED] NV12 Handle for inexistent plane
[16:37:24] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[16:37:24] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[16:37:24] [PASSED] YVU420 Normal sizes
[16:37:24] [PASSED] YVU420 Max sizes
[16:37:24] [PASSED] YVU420 Invalid pitch
[16:37:24] [PASSED] YVU420 Different pitches
[16:37:24] [PASSED] YVU420 Different buffer offsets/pitches
[16:37:24] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[16:37:24] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[16:37:24] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[16:37:24] [PASSED] YVU420 Valid modifier
[16:37:24] [PASSED] YVU420 Different modifiers per plane
[16:37:24] [PASSED] YVU420 Modifier for inexistent plane
[16:37:24] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[16:37:24] [PASSED] X0L2 Normal sizes
[16:37:24] [PASSED] X0L2 Max sizes
[16:37:24] [PASSED] X0L2 Invalid pitch
[16:37:24] [PASSED] X0L2 Pitch greater than minimum required
[16:37:24] [PASSED] X0L2 Handle for inexistent plane
[16:37:24] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[16:37:24] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[16:37:24] [PASSED] X0L2 Valid modifier
[16:37:24] [PASSED] X0L2 Modifier for inexistent plane
[16:37:24] =========== [PASSED] drm_test_framebuffer_create ===========
[16:37:24] [PASSED] drm_test_framebuffer_free
[16:37:24] [PASSED] drm_test_framebuffer_init
[16:37:24] [PASSED] drm_test_framebuffer_init_bad_format
[16:37:24] [PASSED] drm_test_framebuffer_init_dev_mismatch
[16:37:24] [PASSED] drm_test_framebuffer_lookup
[16:37:24] [PASSED] drm_test_framebuffer_lookup_inexistent
[16:37:24] [PASSED] drm_test_framebuffer_modifiers_not_supported
[16:37:24] ================= [PASSED] drm_framebuffer =================
[16:37:24] ================ drm_gem_shmem (8 subtests) ================
[16:37:24] [PASSED] drm_gem_shmem_test_obj_create
[16:37:24] [PASSED] drm_gem_shmem_test_obj_create_private
[16:37:24] [PASSED] drm_gem_shmem_test_pin_pages
[16:37:24] [PASSED] drm_gem_shmem_test_vmap
[16:37:24] [PASSED] drm_gem_shmem_test_get_sg_table
[16:37:24] [PASSED] drm_gem_shmem_test_get_pages_sgt
[16:37:24] [PASSED] drm_gem_shmem_test_madvise
[16:37:24] [PASSED] drm_gem_shmem_test_purge
[16:37:24] ================== [PASSED] drm_gem_shmem ==================
[16:37:24] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[16:37:24] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[16:37:24] [PASSED] Automatic
[16:37:24] [PASSED] Full
[16:37:24] [PASSED] Limited 16:235
[16:37:24] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[16:37:24] [PASSED] drm_test_check_disable_connector
[16:37:24] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[16:37:24] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[16:37:24] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[16:37:24] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[16:37:24] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[16:37:24] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[16:37:24] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[16:37:24] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[16:37:24] [PASSED] drm_test_check_output_bpc_dvi
[16:37:24] [PASSED] drm_test_check_output_bpc_format_vic_1
[16:37:24] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[16:37:24] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[16:37:24] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[16:37:24] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[16:37:24] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[16:37:24] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[16:37:24] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[16:37:24] ============ drm_test_check_hdmi_color_format =============
[16:37:24] [PASSED] AUTO -> RGB
[16:37:24] [PASSED] YCBCR422 -> YUV422
[16:37:24] [PASSED] YCBCR420 -> YUV420
[16:37:24] [PASSED] YCBCR444 -> YUV444
[16:37:24] [PASSED] RGB -> RGB
[16:37:24] ======== [PASSED] drm_test_check_hdmi_color_format =========
[16:37:24] ======== drm_test_check_hdmi_color_format_420_only ========
[16:37:24] [PASSED] RGB should fail
[16:37:24] [PASSED] YUV444 should fail
[16:37:24] [PASSED] YUV422 should fail
[16:37:24] [PASSED] YUV420 should work
[16:37:24] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[16:37:24] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[16:37:24] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[16:37:24] [PASSED] drm_test_check_broadcast_rgb_value
[16:37:24] [PASSED] drm_test_check_bpc_8_value
[16:37:24] [PASSED] drm_test_check_bpc_10_value
[16:37:24] [PASSED] drm_test_check_bpc_12_value
[16:37:24] [PASSED] drm_test_check_format_value
[16:37:24] [PASSED] drm_test_check_tmds_char_value
[16:37:24] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[16:37:24] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[16:37:24] [PASSED] drm_test_check_mode_valid
[16:37:24] [PASSED] drm_test_check_mode_valid_reject
[16:37:24] [PASSED] drm_test_check_mode_valid_reject_rate
[16:37:24] [PASSED] drm_test_check_mode_valid_reject_max_clock
[16:37:24] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[16:37:24] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[16:37:24] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[16:37:24] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[16:37:24] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[16:37:24] [PASSED] drm_test_check_infoframes
[16:37:24] [PASSED] drm_test_check_reject_avi_infoframe
[16:37:24] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[16:37:24] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[16:37:24] [PASSED] drm_test_check_reject_audio_infoframe
[16:37:24] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[16:37:24] ================= drm_managed (2 subtests) =================
[16:37:24] [PASSED] drm_test_managed_release_action
[16:37:24] [PASSED] drm_test_managed_run_action
[16:37:24] =================== [PASSED] drm_managed ===================
[16:37:24] =================== drm_mm (6 subtests) ====================
[16:37:24] [PASSED] drm_test_mm_init
[16:37:24] [PASSED] drm_test_mm_debug
[16:37:24] [PASSED] drm_test_mm_align32
[16:37:24] [PASSED] drm_test_mm_align64
[16:37:24] [PASSED] drm_test_mm_lowest
[16:37:24] [PASSED] drm_test_mm_highest
[16:37:24] ===================== [PASSED] drm_mm ======================
[16:37:24] ============= drm_modes_analog_tv (5 subtests) =============
[16:37:24] [PASSED] drm_test_modes_analog_tv_mono_576i
[16:37:24] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[16:37:24] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[16:37:24] [PASSED] drm_test_modes_analog_tv_pal_576i
[16:37:24] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[16:37:24] =============== [PASSED] drm_modes_analog_tv ===============
[16:37:24] ============== drm_panic_helper (3 subtests) ===============
[16:37:24] ============= drm_test_panic_screen_user_map ==============
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:37:24] ========= [PASSED] drm_test_panic_screen_user_map ==========
[16:37:24] ============= drm_test_panic_screen_user_page =============
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:37:24] ========= [PASSED] drm_test_panic_screen_user_page =========
[16:37:24] ========== drm_test_panic_screen_user_set_pixel ===========
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:37:24] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:37:24] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:37:25] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:37:25] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:37:25] ====== [PASSED] drm_test_panic_screen_user_set_pixel =======
[16:37:25] ================ [PASSED] drm_panic_helper =================
[16:37:25] ============== drm_plane_helper (2 subtests) ===============
[16:37:25] =============== drm_test_check_plane_state ================
[16:37:25] [PASSED] clipping_simple
[16:37:25] [PASSED] clipping_rotate_reflect
[16:37:25] [PASSED] positioning_simple
[16:37:25] [PASSED] upscaling
[16:37:25] [PASSED] downscaling
[16:37:25] [PASSED] rounding1
[16:37:25] [PASSED] rounding2
[16:37:25] [PASSED] rounding3
[16:37:25] [PASSED] rounding4
[16:37:25] =========== [PASSED] drm_test_check_plane_state ============
[16:37:25] =========== drm_test_check_invalid_plane_state ============
[16:37:25] [PASSED] positioning_invalid
[16:37:25] [PASSED] upscaling_invalid
[16:37:25] [PASSED] downscaling_invalid
[16:37:25] ======= [PASSED] drm_test_check_invalid_plane_state ========
[16:37:25] ================ [PASSED] drm_plane_helper =================
[16:37:25] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[16:37:25] ====== drm_test_connector_helper_tv_get_modes_check =======
[16:37:25] [PASSED] None
[16:37:25] [PASSED] PAL
[16:37:25] [PASSED] NTSC
[16:37:25] [PASSED] Both, NTSC Default
[16:37:25] [PASSED] Both, PAL Default
[16:37:25] [PASSED] Both, NTSC Default, with PAL on command-line
[16:37:25] [PASSED] Both, PAL Default, with NTSC on command-line
[16:37:25] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[16:37:25] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[16:37:25] ================== drm_rect (9 subtests) ===================
[16:37:25] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[16:37:25] [PASSED] drm_test_rect_clip_scaled_not_clipped
[16:37:25] [PASSED] drm_test_rect_clip_scaled_clipped
[16:37:25] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[16:37:25] ================= drm_test_rect_intersect =================
[16:37:25] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[16:37:25] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[16:37:25] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[16:37:25] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[16:37:25] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[16:37:25] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[16:37:25] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[16:37:25] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[16:37:25] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[16:37:25] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[16:37:25] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[16:37:25] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[16:37:25] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[16:37:25] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[16:37:25] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[16:37:25] ============= [PASSED] drm_test_rect_intersect =============
[16:37:25] ================ drm_test_rect_calc_hscale ================
[16:37:25] [PASSED] normal use
[16:37:25] [PASSED] out of max range
[16:37:25] [PASSED] out of min range
[16:37:25] [PASSED] zero dst
[16:37:25] [PASSED] negative src
[16:37:25] [PASSED] negative dst
[16:37:25] ============ [PASSED] drm_test_rect_calc_hscale ============
[16:37:25] ================ drm_test_rect_calc_vscale ================
[16:37:25] [PASSED] normal use
[16:37:25] [PASSED] out of max range
[16:37:25] [PASSED] out of min range
[16:37:25] [PASSED] zero dst
[16:37:25] [PASSED] negative src
[16:37:25] [PASSED] negative dst
[16:37:25] ============ [PASSED] drm_test_rect_calc_vscale ============
[16:37:25] ================== drm_test_rect_rotate ===================
[16:37:25] [PASSED] reflect-x
[16:37:25] [PASSED] reflect-y
[16:37:25] [PASSED] rotate-0
[16:37:25] [PASSED] rotate-90
[16:37:25] [PASSED] rotate-180
[16:37:25] [PASSED] rotate-270
[16:37:25] ============== [PASSED] drm_test_rect_rotate ===============
[16:37:25] ================ drm_test_rect_rotate_inv =================
[16:37:25] [PASSED] reflect-x
[16:37:25] [PASSED] reflect-y
[16:37:25] [PASSED] rotate-0
[16:37:25] [PASSED] rotate-90
[16:37:25] [PASSED] rotate-180
[16:37:25] [PASSED] rotate-270
[16:37:25] ============ [PASSED] drm_test_rect_rotate_inv =============
[16:37:25] ==================== [PASSED] drm_rect =====================
[16:37:25] ============ drm_sysfb_modeset_test (1 subtest) ============
[16:37:25] ============ drm_test_sysfb_build_fourcc_list =============
[16:37:25] [PASSED] no native formats
[16:37:25] [PASSED] XRGB8888 as native format
[16:37:25] [PASSED] remove duplicates
[16:37:25] [PASSED] convert alpha formats
[16:37:25] [PASSED] random formats
[16:37:25] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[16:37:25] ============= [PASSED] drm_sysfb_modeset_test ==============
[16:37:25] ================== drm_fixp (2 subtests) ===================
[16:37:25] [PASSED] drm_test_int2fixp
[16:37:25] [PASSED] drm_test_sm2fixp
[16:37:25] ==================== [PASSED] drm_fixp =====================
[16:37:25] ============================================================
[16:37:25] Testing complete. Ran 671 tests: passed: 671
[16:37:25] Elapsed time: 27.557s total, 1.852s configuring, 25.239s building, 0.416s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[16:37:25] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:37:27] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:37:37] Starting KUnit Kernel (1/1)...
[16:37:37] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:37:37] ============= refcount_interrupt (4 subtests) ==============
[16:37:37] [PASSED] test_single_irq_change
[16:37:37] [PASSED] test_nested_irq_change
[16:37:37] [PASSED] test_multiple_irq_change
[16:37:37] [PASSED] test_irq_save
[16:37:37] =============== [PASSED] refcount_interrupt ================
[16:37:37] ================= ttm_device (5 subtests) ==================
[16:37:37] [PASSED] ttm_device_init_basic
[16:37:37] [PASSED] ttm_device_init_multiple
[16:37:37] [PASSED] ttm_device_fini_basic
[16:37:37] [PASSED] ttm_device_init_no_vma_man
[16:37:37] ================== ttm_device_init_pools ==================
[16:37:37] [PASSED] No DMA allocations, no DMA32 required
[16:37:37] [PASSED] DMA allocations, DMA32 required
[16:37:37] [PASSED] No DMA allocations, DMA32 required
[16:37:37] [PASSED] DMA allocations, no DMA32 required
[16:37:37] ============== [PASSED] ttm_device_init_pools ==============
[16:37:37] =================== [PASSED] ttm_device ====================
[16:37:37] ================== ttm_pool (8 subtests) ===================
[16:37:37] ================== ttm_pool_alloc_basic ===================
[16:37:37] [PASSED] One page
[16:37:37] [PASSED] More than one page
[16:37:37] [PASSED] Above the allocation limit
[16:37:37] [PASSED] One page, with coherent DMA mappings enabled
[16:37:37] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:37:37] ============== [PASSED] ttm_pool_alloc_basic ===============
[16:37:37] ============== ttm_pool_alloc_basic_dma_addr ==============
[16:37:37] [PASSED] One page
[16:37:37] [PASSED] More than one page
[16:37:37] [PASSED] Above the allocation limit
[16:37:37] [PASSED] One page, with coherent DMA mappings enabled
[16:37:37] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:37:37] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[16:37:37] [PASSED] ttm_pool_alloc_order_caching_match
[16:37:37] [PASSED] ttm_pool_alloc_caching_mismatch
[16:37:37] [PASSED] ttm_pool_alloc_order_mismatch
[16:37:37] [PASSED] ttm_pool_free_dma_alloc
[16:37:37] [PASSED] ttm_pool_free_no_dma_alloc
[16:37:37] [PASSED] ttm_pool_fini_basic
[16:37:37] ==================== [PASSED] ttm_pool =====================
[16:37:37] ================ ttm_resource (8 subtests) =================
[16:37:37] ================= ttm_resource_init_basic =================
[16:37:37] [PASSED] Init resource in TTM_PL_SYSTEM
[16:37:37] [PASSED] Init resource in TTM_PL_VRAM
[16:37:37] [PASSED] Init resource in a private placement
[16:37:37] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[16:37:37] ============= [PASSED] ttm_resource_init_basic =============
[16:37:37] [PASSED] ttm_resource_init_pinned
[16:37:37] [PASSED] ttm_resource_fini_basic
[16:37:37] [PASSED] ttm_resource_manager_init_basic
[16:37:37] [PASSED] ttm_resource_manager_usage_basic
[16:37:37] [PASSED] ttm_resource_manager_set_used_basic
[16:37:37] [PASSED] ttm_sys_man_alloc_basic
[16:37:37] [PASSED] ttm_sys_man_free_basic
[16:37:37] ================== [PASSED] ttm_resource ===================
[16:37:37] =================== ttm_tt (15 subtests) ===================
[16:37:37] ==================== ttm_tt_init_basic ====================
[16:37:37] [PASSED] Page-aligned size
[16:37:37] [PASSED] Extra pages requested
[16:37:37] ================ [PASSED] ttm_tt_init_basic ================
[16:37:37] [PASSED] ttm_tt_init_misaligned
[16:37:37] [PASSED] ttm_tt_fini_basic
[16:37:37] [PASSED] ttm_tt_fini_sg
[16:37:37] [PASSED] ttm_tt_fini_shmem
[16:37:37] [PASSED] ttm_tt_create_basic
[16:37:37] [PASSED] ttm_tt_create_invalid_bo_type
[16:37:37] [PASSED] ttm_tt_create_ttm_exists
[16:37:37] [PASSED] ttm_tt_create_failed
[16:37:37] [PASSED] ttm_tt_destroy_basic
[16:37:37] [PASSED] ttm_tt_populate_null_ttm
[16:37:37] [PASSED] ttm_tt_populate_populated_ttm
[16:37:37] [PASSED] ttm_tt_unpopulate_basic
[16:37:37] [PASSED] ttm_tt_unpopulate_empty_ttm
[16:37:37] [PASSED] ttm_tt_swapin_basic
[16:37:37] ===================== [PASSED] ttm_tt ======================
[16:37:37] =================== ttm_bo (14 subtests) ===================
[16:37:37] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[16:37:37] [PASSED] Cannot be interrupted and sleeps
[16:37:37] [PASSED] Cannot be interrupted, locks straight away
[16:37:37] [PASSED] Can be interrupted, sleeps
[16:37:37] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[16:37:37] [PASSED] ttm_bo_reserve_locked_no_sleep
[16:37:37] [PASSED] ttm_bo_reserve_no_wait_ticket
[16:37:37] [PASSED] ttm_bo_reserve_double_resv
[16:37:37] [PASSED] ttm_bo_reserve_interrupted
[16:37:37] [PASSED] ttm_bo_reserve_deadlock
[16:37:37] [PASSED] ttm_bo_unreserve_basic
[16:37:37] [PASSED] ttm_bo_unreserve_pinned
[16:37:37] [PASSED] ttm_bo_unreserve_bulk
[16:37:37] [PASSED] ttm_bo_fini_basic
[16:37:37] [PASSED] ttm_bo_fini_shared_resv
[16:37:37] [PASSED] ttm_bo_pin_basic
[16:37:37] [PASSED] ttm_bo_pin_unpin_resource
[16:37:37] [PASSED] ttm_bo_multiple_pin_one_unpin
[16:37:37] ===================== [PASSED] ttm_bo ======================
[16:37:37] ============== ttm_bo_validate (22 subtests) ===============
[16:37:37] ============== ttm_bo_init_reserved_sys_man ===============
[16:37:37] [PASSED] Buffer object for userspace
[16:37:37] [PASSED] Kernel buffer object
[16:37:37] [PASSED] Shared buffer object
[16:37:37] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[16:37:37] ============== ttm_bo_init_reserved_mock_man ==============
[16:37:37] [PASSED] Buffer object for userspace
[16:37:37] [PASSED] Kernel buffer object
[16:37:37] [PASSED] Shared buffer object
[16:37:37] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[16:37:37] [PASSED] ttm_bo_init_reserved_resv
[16:37:37] ================== ttm_bo_validate_basic ==================
[16:37:37] [PASSED] Buffer object for userspace
[16:37:37] [PASSED] Kernel buffer object
[16:37:37] [PASSED] Shared buffer object
[16:37:37] ============== [PASSED] ttm_bo_validate_basic ==============
[16:37:37] [PASSED] ttm_bo_validate_invalid_placement
[16:37:37] ============= ttm_bo_validate_same_placement ==============
[16:37:37] [PASSED] System manager
[16:37:37] [PASSED] VRAM manager
[16:37:37] ========= [PASSED] ttm_bo_validate_same_placement ==========
[16:37:37] [PASSED] ttm_bo_validate_failed_alloc
[16:37:37] [PASSED] ttm_bo_validate_pinned
[16:37:37] [PASSED] ttm_bo_validate_busy_placement
[16:37:37] ================ ttm_bo_validate_multihop =================
[16:37:37] [PASSED] Buffer object for userspace
[16:37:37] [PASSED] Kernel buffer object
[16:37:37] [PASSED] Shared buffer object
[16:37:37] ============ [PASSED] ttm_bo_validate_multihop =============
[16:37:37] ========== ttm_bo_validate_no_placement_signaled ==========
[16:37:37] [PASSED] Buffer object in system domain, no page vector
[16:37:37] [PASSED] Buffer object in system domain with an existing page vector
[16:37:37] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[16:37:37] ======== ttm_bo_validate_no_placement_not_signaled ========
[16:37:37] [PASSED] Buffer object for userspace
[16:37:37] [PASSED] Kernel buffer object
[16:37:37] [PASSED] Shared buffer object
[16:37:37] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[16:37:37] [PASSED] ttm_bo_validate_move_fence_signaled
[16:37:37] ========= ttm_bo_validate_move_fence_not_signaled =========
[16:37:37] [PASSED] Waits for GPU
[16:37:37] [PASSED] Tries to lock straight away
[16:37:37] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[16:37:37] [PASSED] ttm_bo_validate_swapout
[16:37:37] [PASSED] ttm_bo_validate_happy_evict
[16:37:37] [PASSED] ttm_bo_validate_all_pinned_evict
[16:37:37] [PASSED] ttm_bo_validate_allowed_only_evict
[16:37:37] [PASSED] ttm_bo_validate_deleted_evict
[16:37:37] [PASSED] ttm_bo_validate_busy_domain_evict
[16:37:37] [PASSED] ttm_bo_validate_evict_gutting
[16:37:37] [PASSED] ttm_bo_validate_recrusive_evict
[16:37:37] ================= [PASSED] ttm_bo_validate =================
[16:37:37] ============================================================
[16:37:37] Testing complete. Ran 106 tests: passed: 106
[16:37:37] Elapsed time: 12.036s total, 1.849s configuring, 9.973s building, 0.186s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[16:37:37] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:37:39] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:37:47] Starting KUnit Kernel (1/1)...
[16:37:47] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:37:47] ============= refcount_interrupt (4 subtests) ==============
[16:37:47] [PASSED] test_single_irq_change
[16:37:47] [PASSED] test_nested_irq_change
[16:37:47] [PASSED] test_multiple_irq_change
[16:37:47] [PASSED] test_irq_save
[16:37:47] =============== [PASSED] refcount_interrupt ================
[16:37:47] =============== dma-buf-fence (12 subtests) ================
[16:37:47] [PASSED] test_sanitycheck
[16:37:47] [PASSED] test_signaling
[16:37:47] [PASSED] test_add_callback
[16:37:47] [PASSED] test_late_add_callback
[16:37:47] [PASSED] test_rm_callback
[16:37:47] [PASSED] test_late_rm_callback
[16:37:47] [PASSED] test_status
[16:37:47] [PASSED] test_error
[16:37:47] [PASSED] test_wait
[16:37:47] [PASSED] test_wait_timeout
[16:37:47] [PASSED] test_stub
[16:37:47] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[16:37:47] ================== [PASSED] dma-buf-fence ==================
[16:37:47] ============ dma-buf-fence-chain (11 subtests) =============
[16:37:47] [PASSED] test_sanitycheck
[16:37:47] [PASSED] test_find_seqno
[16:37:47] [PASSED] test_find_signaled
[16:37:47] [PASSED] test_find_out_of_order
[16:37:53] [PASSED] test_find_gap
[16:37:53] [PASSED] test_find_race
[16:37:53] [PASSED] test_signal_forward
[16:37:53] [PASSED] test_signal_backward
[16:37:53] [PASSED] test_wait_forward
[16:37:53] [PASSED] test_wait_backward
[16:37:53] [PASSED] test_wait_random
[16:37:53] =============== [PASSED] dma-buf-fence-chain ===============
[16:37:53] ============ dma-buf-fence-unwrap (10 subtests) ============
[16:37:53] [PASSED] test_sanitycheck
[16:37:53] [PASSED] test_unwrap_array
[16:37:53] [PASSED] test_unwrap_chain
[16:37:53] [PASSED] test_unwrap_chain_array
[16:37:53] [PASSED] test_unwrap_merge
[16:37:53] [PASSED] test_unwrap_merge_duplicate
[16:37:53] [PASSED] test_unwrap_merge_seqno
[16:37:53] [PASSED] test_unwrap_merge_order
[16:37:53] [PASSED] test_unwrap_merge_complex
[16:37:53] [PASSED] test_unwrap_merge_complex_seqno
[16:37:53] ============== [PASSED] dma-buf-fence-unwrap ===============
[16:37:53] ================ dma-buf-resv (5 subtests) =================
[16:37:53] [PASSED] test_sanitycheck
[16:37:53] ===================== test_signaling ======================
[16:37:53] [PASSED] kernel
[16:37:53] [PASSED] write
[16:37:53] [PASSED] read
[16:37:53] [PASSED] bookkeep
[16:37:53] ================= [PASSED] test_signaling ==================
[16:37:53] ====================== test_for_each ======================
[16:37:53] [PASSED] kernel
[16:37:53] [PASSED] write
[16:37:53] [PASSED] read
[16:37:53] [PASSED] bookkeep
[16:37:53] ================== [PASSED] test_for_each ==================
[16:37:53] ================= test_for_each_unlocked ==================
[16:37:53] [PASSED] kernel
[16:37:53] [PASSED] write
[16:37:53] [PASSED] read
[16:37:53] [PASSED] bookkeep
[16:37:53] ============= [PASSED] test_for_each_unlocked ==============
[16:37:53] ===================== test_get_fences =====================
[16:37:53] [PASSED] kernel
[16:37:53] [PASSED] write
[16:37:53] [PASSED] read
[16:37:53] [PASSED] bookkeep
[16:37:53] ================= [PASSED] test_get_fences =================
[16:37:53] ================== [PASSED] dma-buf-resv ===================
[16:37:53] ============================================================
[16:37:53] Testing complete. Ran 54 tests: passed: 53, skipped: 1
[16:37:53] Elapsed time: 15.826s total, 1.842s configuring, 8.662s building, 5.278s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 19+ messages in thread* ✓ Xe.CI.BAT: success for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
` (6 preceding siblings ...)
2026-09-24 16:37 ` ✓ CI.KUnit: success " Patchwork
@ 2026-09-24 17:46 ` Patchwork
2026-09-25 6:20 ` ✓ Xe.CI.FULL: " Patchwork
` (2 subsequent siblings)
10 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2026-09-24 17:46 UTC (permalink / raw)
To: Benjamin Block; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1502 bytes --]
== Series Details ==
Series: PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks
URL : https://patchwork.freedesktop.org/series/174935/
State : success
== Summary ==
CI Bug Log - changes from xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a_BAT -> xe-pw-174935v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (15 -> 15)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-174935v1_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_waitfence@reltime:
- bat-ptl-2: [PASS][1] -> [FAIL][2] ([Intel XE#9115])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/bat-ptl-2/igt@xe_waitfence@reltime.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/bat-ptl-2/igt@xe_waitfence@reltime.html
[Intel XE#9115]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9115
Build changes
-------------
* Linux: xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a -> xe-pw-174935v1
IGT_9112: 8d3284b5ae16ca1aef353dfaffb6c0896ceacc19 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a: c466c7338ac2447a34b4b00c45ac805a9e8ecf7a
xe-pw-174935v1: 174935v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/index.html
[-- Attachment #2: Type: text/html, Size: 2067 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread* ✓ Xe.CI.FULL: success for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
` (7 preceding siblings ...)
2026-09-24 17:46 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-09-25 6:20 ` Patchwork
2026-10-02 13:02 ` ✗ CI.checkpatch: warning for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks (rev2) Patchwork
2026-10-02 13:04 ` ✓ CI.KUnit: success " Patchwork
10 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2026-09-25 6:20 UTC (permalink / raw)
To: Benjamin Block; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 63197 bytes --]
== Series Details ==
Series: PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks
URL : https://patchwork.freedesktop.org/series/174935/
State : success
== Summary ==
CI Bug Log - changes from xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a_FULL -> xe-pw-174935v1_FULL
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (3 -> 3)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-174935v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-ptl: NOTRUN -> [SKIP][1] ([Intel XE#5901])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-ptl: NOTRUN -> [SKIP][2] ([Intel XE#6925])
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@linear-8bpp-rotate-270:
- shard-bmg: NOTRUN -> [SKIP][3] ([Intel XE#2327]) +1 other test skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_big_fb@linear-8bpp-rotate-270.html
- shard-lnl: NOTRUN -> [SKIP][4] ([Intel XE#1407])
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_big_fb@linear-8bpp-rotate-270.html
* igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip:
- shard-ptl: NOTRUN -> [SKIP][5] ([Intel XE#7085]) +1 other test skip
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip:
- shard-bmg: NOTRUN -> [SKIP][6] ([Intel XE#7059] / [Intel XE#7085])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-270:
- shard-ptl: NOTRUN -> [SKIP][7] ([Intel XE#5808]) +9 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-1/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-bmg: NOTRUN -> [SKIP][8] ([Intel XE#610] / [Intel XE#7387])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
- shard-ptl: NOTRUN -> [SKIP][9] ([Intel XE#5855])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#1124]) +5 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-9/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#1124]) +1 other test skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p:
- shard-ptl: NOTRUN -> [SKIP][12] ([Intel XE#7679])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p.html
* igt@kms_bw@connected-linear-tiling-3-displays-target-3840x2160p:
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#7679])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_bw@connected-linear-tiling-3-displays-target-3840x2160p.html
* igt@kms_bw@linear-tiling-2-displays-target-1920x1080p:
- shard-bmg: NOTRUN -> [SKIP][14] ([Intel XE#367])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_bw@linear-tiling-2-displays-target-1920x1080p.html
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#367])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_bw@linear-tiling-2-displays-target-1920x1080p.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2887]) +8 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc:
- shard-ptl: NOTRUN -> [SKIP][17] ([Intel XE#5822]) +8 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#3432])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][19] ([Intel XE#2887]) +2 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_ccs@random-ccs-data-4-tiled-mtl-mc-ccs.html
* igt@kms_chamelium_color@ctm-blue-to-red:
- shard-ptl: NOTRUN -> [SKIP][20] ([Intel XE#5824]) +2 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-7/igt@kms_chamelium_color@ctm-blue-to-red.html
* igt@kms_chamelium_color@degamma:
- shard-bmg: NOTRUN -> [SKIP][21] ([Intel XE#2325] / [Intel XE#7358]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_chamelium_color@degamma.html
* igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lut1d:
- shard-ptl: NOTRUN -> [SKIP][22] ([Intel XE#8391])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lut1d.html
* igt@kms_chamelium_color_pipeline@plane-lut1d:
- shard-bmg: NOTRUN -> [SKIP][23] ([Intel XE#7358]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_chamelium_color_pipeline@plane-lut1d.html
- shard-lnl: NOTRUN -> [SKIP][24] ([Intel XE#7358])
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_chamelium_color_pipeline@plane-lut1d.html
* igt@kms_chamelium_edid@dp-edid-change-during-hibernate:
- shard-bmg: NOTRUN -> [SKIP][25] ([Intel XE#2252]) +2 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_chamelium_edid@dp-edid-change-during-hibernate.html
* igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode:
- shard-lnl: NOTRUN -> [SKIP][26] ([Intel XE#373])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html
* igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
- shard-ptl: NOTRUN -> [SKIP][27] ([Intel XE#2252]) +2 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
* igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-b-plane-4:
- shard-bmg: NOTRUN -> [SKIP][28] ([Intel XE#6969]) +7 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-b-plane-4.html
* igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-d-plane-3:
- shard-ptl: NOTRUN -> [SKIP][29] ([Intel XE#6969]) +7 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-d-plane-3.html
* igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020-lut1d@pipe-a-plane-2:
- shard-ptl: NOTRUN -> [FAIL][30] ([Intel XE#9333]) +12 other tests fail
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt2020-lut1d@pipe-a-plane-2.html
* igt@kms_content_protection@atomic-hdcp14:
- shard-bmg: NOTRUN -> [FAIL][31] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-9/igt@kms_content_protection@atomic-hdcp14.html
* igt@kms_content_protection@lic-type-1:
- shard-ptl: NOTRUN -> [SKIP][32] ([Intel XE#7642]) +1 other test skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_content_protection@lic-type-1.html
* igt@kms_content_protection@type1:
- shard-bmg: NOTRUN -> [SKIP][33] ([Intel XE#7642])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_content_protection@type1.html
* igt@kms_cursor_crc@cursor-offscreen-256x85:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2320]) +2 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_cursor_crc@cursor-offscreen-256x85.html
- shard-ptl: NOTRUN -> [SKIP][35] ([Intel XE#5900])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_cursor_crc@cursor-offscreen-256x85.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-lnl: NOTRUN -> [SKIP][36] ([Intel XE#2321] / [Intel XE#7355])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-bmg: NOTRUN -> [SKIP][37] ([Intel XE#2321] / [Intel XE#7355]) +1 other test skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-ptl: NOTRUN -> [SKIP][38] ([Intel XE#5962]) +1 other test skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
- shard-ptl: NOTRUN -> [SKIP][39] ([Intel XE#5962] / [Intel XE#7343])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-ptl: NOTRUN -> [SKIP][40] ([Intel XE#6035])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][41] ([Intel XE#4210] / [Intel XE#7467])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_dirtyfb@fbc-dirtyfb-ioctl.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc-ultrajoiner:
- shard-lnl: NOTRUN -> [SKIP][42] ([Intel XE#8265])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_dsc@dsc-fractional-bpp-with-bpc-ultrajoiner.html
* igt@kms_dsc@dsc-with-formats-bigjoiner:
- shard-ptl: NOTRUN -> [SKIP][43] ([Intel XE#5907]) +2 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_dsc@dsc-with-formats-bigjoiner.html
* igt@kms_dsc@dsc-with-output-formats-bigjoiner:
- shard-bmg: NOTRUN -> [SKIP][44] ([Intel XE#8265]) +2 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-9/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html
* igt@kms_feature_discovery@hdr:
- shard-ptl: NOTRUN -> [SKIP][45] ([Intel XE#9287])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_feature_discovery@hdr.html
* igt@kms_flip@2x-flip-vs-modeset-vs-hang:
- shard-ptl: NOTRUN -> [SKIP][46] ([Intel XE#2316]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html
* igt@kms_flip@flip-vs-expired-vblank@b-edp1:
- shard-lnl: [PASS][47] -> [FAIL][48] ([Intel XE#301]) +1 other test fail
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yuv-linear-to-32bpp-yuv-linear-reflect-x:
- shard-ptl: NOTRUN -> [SKIP][49] ([Intel XE#7179])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_flip_scaled_crc@flip-32bpp-yuv-linear-to-32bpp-yuv-linear-reflect-x.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
- shard-ptl: NOTRUN -> [SKIP][50] ([Intel XE#7178]) +2 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#7178] / [Intel XE#7349])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#7178] / [Intel XE#7351])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#7178] / [Intel XE#7351]) +3 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-spr-indfb-onoff:
- shard-lnl: NOTRUN -> [SKIP][54] ([Intel XE#6312]) +2 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@drrshdr-rgb565-draw-render:
- shard-ptl: NOTRUN -> [SKIP][55] ([Intel XE#6312]) +5 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_frontbuffer_tracking@drrshdr-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#4141]) +8 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff:
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#656] / [Intel XE#7905]) +6 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-msflip-blt:
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#6312] / [Intel XE#651]) +2 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt:
- shard-ptl: NOTRUN -> [SKIP][59] ([Intel XE#7061] / [Intel XE#7356])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html
- shard-bmg: NOTRUN -> [SKIP][60] ([Intel XE#7061] / [Intel XE#7356])
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-indfb-scaledprimary:
- shard-ptl: NOTRUN -> [SKIP][61] ([Intel XE#5800] / [Intel XE#6312]) +6 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_frontbuffer_tracking@fbcdrrs-indfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-pri-indfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][62] ([Intel XE#7905]) +6 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-rgb565-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#2311]) +32 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcdrrshdr-rgb565-draw-blt.html
* igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-mmap-wc:
- shard-ptl: NOTRUN -> [SKIP][64] ([Intel XE#7865]) +8 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-7/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#2313]) +27 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
- shard-ptl: NOTRUN -> [SKIP][66] ([Intel XE#5812]) +38 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-indfb-pgflip-blt:
- shard-lnl: NOTRUN -> [SKIP][67] ([Intel XE#7865]) +1 other test skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-abgr161616f-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#7061]) +3 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-abgr161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@hdr-abgr161616f-draw-mmap-wc:
- shard-ptl: NOTRUN -> [SKIP][69] ([Intel XE#7061]) +3 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_frontbuffer_tracking@hdr-abgr161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psrhdr-argb161616f-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][70] ([Intel XE#7061]) +1 other test skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_frontbuffer_tracking@psrhdr-argb161616f-draw-mmap-wc.html
* igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery:
- shard-bmg: NOTRUN -> [FAIL][71] ([Intel XE#9346])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html
- shard-ptl: NOTRUN -> [SKIP][72] ([Intel XE#9312])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html
* igt@kms_hdr@static-toggle-dpms:
- shard-ptl: NOTRUN -> [SKIP][73] ([Intel XE#5917] / [Intel XE#6174])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-ptl: NOTRUN -> [SKIP][74] ([Intel XE#6900])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#6901])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_joiner@invalid-modeset-big-joiner.html
- shard-lnl: NOTRUN -> [SKIP][76] ([Intel XE#6901])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping:
- shard-lnl: NOTRUN -> [SKIP][77] ([Intel XE#7283]) +1 other test skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#7283]) +3 other tests skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-x-tiled-modifier:
- shard-ptl: NOTRUN -> [SKIP][79] ([Intel XE#7283])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_plane@pixel-format-x-tiled-modifier.html
* igt@kms_plane@plane-panning-bottom-right-suspend:
- shard-ptl: [PASS][80] -> [ABORT][81] ([Intel XE#9363]) +1 other test abort
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-ptl-3/igt@kms_plane@plane-panning-bottom-right-suspend.html
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-7/igt@kms_plane@plane-panning-bottom-right-suspend.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-ptl: NOTRUN -> [SKIP][82] ([Intel XE#5959])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers:
- shard-ptl: NOTRUN -> [SKIP][83] ([Intel XE#6886]) +9 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers.html
* igt@kms_pm_backlight@basic-brightness:
- shard-bmg: NOTRUN -> [SKIP][84] ([Intel XE#7376] / [Intel XE#7760] / [Intel XE#870]) +1 other test skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_dc@dc3co-vpb-simulation:
- shard-ptl: NOTRUN -> [SKIP][85] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_pm_dc@dc3co-vpb-simulation.html
* igt@kms_pm_dc@dc3co-vpb-simulation@psr2-yuv420:
- shard-ptl: NOTRUN -> [SKIP][86] ([Intel XE#8396]) +1 other test skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_pm_dc@dc3co-vpb-simulation@psr2-yuv420.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-bmg: NOTRUN -> [SKIP][87] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836])
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf:
- shard-ptl: NOTRUN -> [SKIP][88] ([Intel XE#7304])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-bmg: NOTRUN -> [SKIP][89] ([Intel XE#1489])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
- shard-lnl: NOTRUN -> [SKIP][90] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][91] ([Intel XE#4608])
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][92] ([Intel XE#4608] / [Intel XE#7304])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-b-edp-1.html
* igt@kms_psr@fbc-psr2-sprite-plane-onoff:
- shard-lnl: NOTRUN -> [SKIP][93] ([Intel XE#1406] / [Intel XE#7345])
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_psr@fbc-psr2-sprite-plane-onoff.html
* igt@kms_psr@fbc-psr2-sprite-plane-onoff@edp-1:
- shard-lnl: NOTRUN -> [SKIP][94] ([Intel XE#1406] / [Intel XE#4609] / [Intel XE#7345])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_psr@fbc-psr2-sprite-plane-onoff@edp-1.html
* igt@kms_psr@pr-primary-page-flip:
- shard-ptl: NOTRUN -> [SKIP][95] ([Intel XE#1406]) +3 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_psr@pr-primary-page-flip.html
* igt@kms_psr@psr2-suspend:
- shard-bmg: NOTRUN -> [SKIP][96] ([Intel XE#2234] / [Intel XE#2850]) +5 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_psr@psr2-suspend.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
- shard-ptl: NOTRUN -> [SKIP][97] ([Intel XE#5821]) +1 other test skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
- shard-bmg: NOTRUN -> [SKIP][98] ([Intel XE#2330] / [Intel XE#5813])
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
- shard-ptl: NOTRUN -> [SKIP][99] ([Intel XE#5813])
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
- shard-lnl: NOTRUN -> [SKIP][100] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342]) +1 other test skip
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
- shard-bmg: NOTRUN -> [SKIP][101] ([Intel XE#3904] / [Intel XE#7342]) +1 other test skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-bmg: NOTRUN -> [SKIP][102] ([Intel XE#1435] / [Intel XE#8695])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-3/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_sharpness_filter@filter-scaler-upscale:
- shard-bmg: NOTRUN -> [SKIP][103] ([Intel XE#6503])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_sharpness_filter@filter-scaler-upscale.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-bmg: [PASS][104] -> [ABORT][105] ([Intel XE#9375]) +1 other test abort
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-5/igt@kms_vblank@ts-continuation-suspend.html
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-3/igt@kms_vblank@ts-continuation-suspend.html
* igt@kms_vrr@cmrr-desktop-mode:
- shard-ptl: NOTRUN -> [SKIP][106] ([Intel XE#9277])
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_vrr@cmrr-desktop-mode.html
* igt@kms_vrr@cmrr-desktop-mode@pipe-a-edp-1:
- shard-ptl: NOTRUN -> [SKIP][107] ([Intel XE#9277] / [Intel XE#9278])
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_vrr@cmrr-desktop-mode@pipe-a-edp-1.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-lnl: NOTRUN -> [SKIP][108] ([Intel XE#1091] / [Intel XE#2849])
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
* igt@xe_ccs@vm-bind-fault-mode-decompress:
- shard-ptl: NOTRUN -> [SKIP][109] ([Intel XE#7644])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@xe_ccs@vm-bind-fault-mode-decompress.html
* igt@xe_compute@ccs-mode-compute-kernel:
- shard-ptl: NOTRUN -> [SKIP][110] ([Intel XE#6599])
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_compute@ccs-mode-compute-kernel.html
* igt@xe_compute_preempt@compute-preempt-many-vram-evict:
- shard-lnl: NOTRUN -> [SKIP][111] ([Intel XE#5191] / [Intel XE#7316] / [Intel XE#7346])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_compute_preempt@compute-preempt-many-vram-evict.html
* igt@xe_create@multigpu-create-massive-size:
- shard-bmg: NOTRUN -> [SKIP][112] ([Intel XE#2504] / [Intel XE#7319] / [Intel XE#7350])
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-3/igt@xe_create@multigpu-create-massive-size.html
* igt@xe_evict@evict-beng-mixed-many-threads-small:
- shard-bmg: [PASS][113] -> [INCOMPLETE][114] ([Intel XE#6321] / [Intel XE#8355])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-10/igt@xe_evict@evict-beng-mixed-many-threads-small.html
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-8/igt@xe_evict@evict-beng-mixed-many-threads-small.html
* igt@xe_evict@evict-cm-threads-small-multi-vm:
- shard-lnl: NOTRUN -> [SKIP][115] ([Intel XE#6540] / [Intel XE#688]) +1 other test skip
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_evict@evict-cm-threads-small-multi-vm.html
* igt@xe_evict@evict-large-multi-vm-cm:
- shard-ptl: NOTRUN -> [SKIP][116] ([Intel XE#5764]) +2 other tests skip
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_evict@evict-large-multi-vm-cm.html
* igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen:
- shard-ptl: NOTRUN -> [SKIP][117] ([Intel XE#6144])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen.html
* igt@xe_exec_balancer@once-cm-parallel-rebind:
- shard-ptl: NOTRUN -> [SKIP][118] ([Intel XE#7482]) +9 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_exec_balancer@once-cm-parallel-rebind.html
* igt@xe_exec_balancer@once-parallel-userptr-rebind:
- shard-lnl: NOTRUN -> [SKIP][119] ([Intel XE#7482]) +4 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_exec_balancer@once-parallel-userptr-rebind.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-bmg: NOTRUN -> [SKIP][120] ([Intel XE#2322] / [Intel XE#7372]) +3 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
- shard-ptl: NOTRUN -> [SKIP][121] ([Intel XE#5575] / [Intel XE#7484]) +3 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
* igt@xe_exec_basic@multigpu-once-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][122] ([Intel XE#1392])
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_exec_basic@multigpu-once-userptr-invalidate.html
* igt@xe_exec_fault_mode@atomic-many:
- shard-bmg: [PASS][123] -> [FAIL][124] ([Intel XE#8578])
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-2/igt@xe_exec_fault_mode@atomic-many.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-5/igt@xe_exec_fault_mode@atomic-many.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate:
- shard-bmg: NOTRUN -> [SKIP][125] ([Intel XE#8374]) +4 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-rebind-imm:
- shard-lnl: NOTRUN -> [SKIP][126] ([Intel XE#8374]) +3 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-rebind-imm.html
* igt@xe_exec_fault_mode@once-multi-queue-invalid-fault:
- shard-ptl: NOTRUN -> [SKIP][127] ([Intel XE#8374]) +4 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_exec_fault_mode@once-multi-queue-invalid-fault.html
* igt@xe_exec_multi_queue@many-queues-preempt-mode-basic-smem:
- shard-lnl: NOTRUN -> [SKIP][128] ([Intel XE#8364]) +6 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_exec_multi_queue@many-queues-preempt-mode-basic-smem.html
* igt@xe_exec_multi_queue@max-queues-userptr:
- shard-ptl: NOTRUN -> [SKIP][129] ([Intel XE#8364]) +12 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-1/igt@xe_exec_multi_queue@max-queues-userptr.html
* igt@xe_exec_multi_queue@two-queues-priority:
- shard-bmg: NOTRUN -> [SKIP][130] ([Intel XE#8364]) +16 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-3/igt@xe_exec_multi_queue@two-queues-priority.html
* igt@xe_exec_reset@multi-queue-cancel:
- shard-bmg: NOTRUN -> [SKIP][131] ([Intel XE#8369])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@xe_exec_reset@multi-queue-cancel.html
* igt@xe_exec_reset@multi-queue-close-execqueues:
- shard-ptl: NOTRUN -> [SKIP][132] ([Intel XE#8369]) +1 other test skip
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_exec_reset@multi-queue-close-execqueues.html
* igt@xe_exec_threads@threads-multi-queue-cm-shared-vm-userptr-rebind:
- shard-lnl: NOTRUN -> [SKIP][133] ([Intel XE#8378]) +1 other test skip
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_exec_threads@threads-multi-queue-cm-shared-vm-userptr-rebind.html
* igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate-race:
- shard-bmg: NOTRUN -> [SKIP][134] ([Intel XE#8378]) +7 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate-race.html
* igt@xe_exec_threads@threads-multi-queue-userptr-invalidate-race:
- shard-ptl: NOTRUN -> [SKIP][135] ([Intel XE#8378]) +3 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_exec_threads@threads-multi-queue-userptr-invalidate-race.html
* igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ads_init:
- shard-bmg: [PASS][136] -> [ABORT][137] ([Intel XE#8007])
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-4/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ads_init.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-2/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_ads_init.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- shard-ptl: NOTRUN -> [SKIP][138] ([Intel XE#5775])
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
* igt@xe_media_fill@media-fill:
- shard-ptl: NOTRUN -> [SKIP][139] ([Intel XE#5830] / [Intel XE#7453])
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-1/igt@xe_media_fill@media-fill.html
* igt@xe_mmap@pci-membarrier:
- shard-lnl: NOTRUN -> [SKIP][140] ([Intel XE#5100] / [Intel XE#7322] / [Intel XE#7408])
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_mmap@pci-membarrier.html
* igt@xe_multigpu_svm@mgpu-coherency-prefetch:
- shard-lnl: NOTRUN -> [SKIP][141] ([Intel XE#6964])
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_multigpu_svm@mgpu-coherency-prefetch.html
* igt@xe_multigpu_svm@mgpu-xgpu-access-prefetch:
- shard-ptl: NOTRUN -> [SKIP][142] ([Intel XE#6964])
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@xe_multigpu_svm@mgpu-xgpu-access-prefetch.html
- shard-bmg: NOTRUN -> [SKIP][143] ([Intel XE#6964])
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@xe_multigpu_svm@mgpu-xgpu-access-prefetch.html
* igt@xe_page_reclaim@basic-mixed:
- shard-bmg: NOTRUN -> [SKIP][144] ([Intel XE#7793])
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@xe_page_reclaim@basic-mixed.html
- shard-ptl: NOTRUN -> [SKIP][145] ([Intel XE#7793])
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@xe_page_reclaim@basic-mixed.html
* igt@xe_pm@d3cold-mmap-vram:
- shard-ptl: NOTRUN -> [SKIP][146] ([Intel XE#5741])
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_pm@d3cold-mmap-vram.html
* igt@xe_pm@d3hot-i2c:
- shard-bmg: NOTRUN -> [SKIP][147] ([Intel XE#5742] / [Intel XE#7328] / [Intel XE#7400])
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@xe_pm@d3hot-i2c.html
* igt@xe_pm@s2idle-d3cold-basic-exec:
- shard-bmg: NOTRUN -> [SKIP][148] ([Intel XE#2284] / [Intel XE#7370]) +1 other test skip
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@xe_pm@s2idle-d3cold-basic-exec.html
- shard-lnl: NOTRUN -> [SKIP][149] ([Intel XE#2284] / [Intel XE#366] / [Intel XE#7370])
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_pm@s2idle-d3cold-basic-exec.html
* igt@xe_pm@s3-vm-bind-unbind-all:
- shard-ptl: NOTRUN -> [SKIP][150] ([Intel XE#6867])
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_pm@s3-vm-bind-unbind-all.html
* igt@xe_pm@s4-vm-bind-userptr:
- shard-lnl: [PASS][151] -> [ABORT][152] ([Intel XE#9362]) +1 other test abort
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-lnl-6/igt@xe_pm@s4-vm-bind-userptr.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-2/igt@xe_pm@s4-vm-bind-userptr.html
* igt@xe_pm_residency@cpg-basic:
- shard-lnl: NOTRUN -> [SKIP][153] ([Intel XE#584] / [Intel XE#7369])
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_pm_residency@cpg-basic.html
* igt@xe_pxp@pxp-stale-bo-exec-post-suspend:
- shard-ptl: NOTRUN -> [ABORT][154] ([Intel XE#9362])
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-1/igt@xe_pxp@pxp-stale-bo-exec-post-suspend.html
* igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq:
- shard-bmg: NOTRUN -> [SKIP][155] ([Intel XE#4733] / [Intel XE#7417])
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@xe_pxp@pxp-stale-bo-exec-post-termination-irq.html
* igt@xe_pxp@pxp-termination-key-update-post-suspend:
- shard-ptl: [PASS][156] -> [ABORT][157] ([Intel XE#9362]) +3 other tests abort
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-ptl-5/igt@xe_pxp@pxp-termination-key-update-post-suspend.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-8/igt@xe_pxp@pxp-termination-key-update-post-suspend.html
* igt@xe_query@multigpu-query-invalid-query:
- shard-ptl: NOTRUN -> [SKIP][158] ([Intel XE#6019])
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@xe_query@multigpu-query-invalid-query.html
* igt@xe_query@multigpu-query-invalid-size:
- shard-lnl: NOTRUN -> [SKIP][159] ([Intel XE#944])
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_query@multigpu-query-invalid-size.html
* igt@xe_sriov_admin@bulk-sched-priority-vfs-disabled:
- shard-lnl: NOTRUN -> [SKIP][160] ([Intel XE#7174])
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_sriov_admin@bulk-sched-priority-vfs-disabled.html
* igt@xe_survivability@i2c-functionality:
- shard-lnl: NOTRUN -> [SKIP][161] ([Intel XE#8415])
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_survivability@i2c-functionality.html
* igt@xe_wedged@wedged-at-any-timeout:
- shard-bmg: NOTRUN -> [DMESG-WARN][162] ([Intel XE#8963])
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-9/igt@xe_wedged@wedged-at-any-timeout.html
- shard-ptl: NOTRUN -> [DMESG-WARN][163] ([Intel XE#8963])
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-7/igt@xe_wedged@wedged-at-any-timeout.html
#### Possible fixes ####
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: [INCOMPLETE][164] ([Intel XE#7084] / [Intel XE#8150]) -> [PASS][165] +1 other test pass
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-2/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-bmg: [DMESG-WARN][166] ([Intel XE#9365]) -> [PASS][167] +2 other tests pass
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-9/igt@kms_cursor_crc@cursor-suspend.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-3/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_flip@flip-vs-dpms-on-nop@c-dp2:
- shard-bmg: [FAIL][168] ([Intel XE#5408] / [Intel XE#6266]) -> [PASS][169] +1 other test pass
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-8/igt@kms_flip@flip-vs-dpms-on-nop@c-dp2.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-10/igt@kms_flip@flip-vs-dpms-on-nop@c-dp2.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
- shard-lnl: [FAIL][170] ([Intel XE#301]) -> [PASS][171] +1 other test pass
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
* igt@kms_flip@flip-vs-suspend:
- shard-bmg: [INCOMPLETE][172] ([Intel XE#2049] / [Intel XE#2597] / [Intel XE#8155]) -> [PASS][173] +1 other test pass
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-7/igt@kms_flip@flip-vs-suspend.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@flip-vs-suspend@a-dp2:
- shard-bmg: [DMESG-WARN][174] -> [PASS][175]
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-7/igt@kms_flip@flip-vs-suspend@a-dp2.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-4/igt@kms_flip@flip-vs-suspend@a-dp2.html
* igt@kms_vrr@flip-suspend@pipe-a-edp-1:
- shard-ptl: [ABORT][176] ([Intel XE#9362]) -> [PASS][177] +2 other tests pass
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-ptl-5/igt@kms_vrr@flip-suspend@pipe-a-edp-1.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-2/igt@kms_vrr@flip-suspend@pipe-a-edp-1.html
* igt@kms_vrr@flipline@pipe-a-edp-1:
- shard-ptl: [FAIL][178] ([Intel XE#4227] / [Intel XE#7397]) -> [PASS][179] +3 other tests pass
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-ptl-5/igt@kms_vrr@flipline@pipe-a-edp-1.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-8/igt@kms_vrr@flipline@pipe-a-edp-1.html
* igt@sriov_basic@pf-unbind-with-vf-probed:
- shard-bmg: [ABORT][180] ([Intel XE#8868]) -> [PASS][181]
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-6/igt@sriov_basic@pf-unbind-with-vf-probed.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-9/igt@sriov_basic@pf-unbind-with-vf-probed.html
* igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all:
- shard-ptl: [ABORT][182] ([Intel XE#8868]) -> [PASS][183] +1 other test pass
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-ptl-5/igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-3/igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all.html
* igt@xe_pm@s4-mocs:
- shard-bmg: [ABORT][184] ([Intel XE#9399]) -> [PASS][185]
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-5/igt@xe_pm@s4-mocs.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-7/igt@xe_pm@s4-mocs.html
#### Warnings ####
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: [SKIP][186] ([Intel XE#2426] / [Intel XE#5848]) -> [FAIL][187] ([Intel XE#1729] / [Intel XE#7424])
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][188] ([Intel XE#2509] / [Intel XE#7437]) -> [SKIP][189] ([Intel XE#2426] / [Intel XE#5848])
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-ptl: [ABORT][190] ([Intel XE#9375]) -> [ABORT][191] ([Intel XE#9362])
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-ptl-1/igt@kms_vblank@ts-continuation-suspend.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-ptl-5/igt@kms_vblank@ts-continuation-suspend.html
* igt@xe_pm@s4-vm-bind-prefetch:
- shard-lnl: [ABORT][192] ([Intel XE#9362]) -> [DMESG-WARN][193] ([Intel XE#7727])
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a/shard-lnl-5/igt@xe_pm@s4-vm-bind-prefetch.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/shard-lnl-3/igt@xe_pm@s4-vm-bind-prefetch.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[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#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[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#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#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#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2504
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4210]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4210
[Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
[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#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#5100]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5100
[Intel XE#5191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5191
[Intel XE#5408]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5408
[Intel XE#5575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5575
[Intel XE#5741]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5741
[Intel XE#5742]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5742
[Intel XE#5764]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5764
[Intel XE#5775]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5775
[Intel XE#5800]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5800
[Intel XE#5808]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5808
[Intel XE#5812]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5812
[Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
[Intel XE#5821]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5821
[Intel XE#5822]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5822
[Intel XE#5824]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5824
[Intel XE#5830]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5830
[Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
[Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
[Intel XE#5855]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5855
[Intel XE#5900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5900
[Intel XE#5901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5901
[Intel XE#5907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5907
[Intel XE#5917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5917
[Intel XE#5959]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5959
[Intel XE#5962]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5962
[Intel XE#6019]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6019
[Intel XE#6035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6035
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#6144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6144
[Intel XE#6174]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6174
[Intel XE#6266]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6266
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
[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#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
[Intel XE#6867]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6867
[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#6900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6900
[Intel XE#6901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6901
[Intel XE#6925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6925
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#6969]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6969
[Intel XE#7059]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7059
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
[Intel XE#7085]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7085
[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#7179]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7179
[Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
[Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
[Intel XE#7316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7316
[Intel XE#7319]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7319
[Intel XE#7322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7322
[Intel XE#7328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7328
[Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
[Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
[Intel XE#7345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7345
[Intel XE#7346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7346
[Intel XE#7349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7349
[Intel XE#7350]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7350
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
[Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
[Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
[Intel XE#7369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7369
[Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
[Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
[Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
[Intel XE#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
[Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
[Intel XE#7387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7387
[Intel XE#7397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7397
[Intel XE#7400]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7400
[Intel XE#7408]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7408
[Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
[Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
[Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
[Intel XE#7453]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7453
[Intel XE#7467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7467
[Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
[Intel XE#7484]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7484
[Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
[Intel XE#7644]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7644
[Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
[Intel XE#7727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7727
[Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760
[Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
[Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
[Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
[Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
[Intel XE#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
[Intel XE#8155]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8155
[Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
[Intel XE#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
[Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
[Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
[Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
[Intel XE#8391]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8391
[Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
[Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
[Intel XE#8415]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8415
[Intel XE#8578]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8578
[Intel XE#8695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8695
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#8868]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8868
[Intel XE#8963]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8963
[Intel XE#9277]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9277
[Intel XE#9278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9278
[Intel XE#9287]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9287
[Intel XE#9312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9312
[Intel XE#9333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9333
[Intel XE#9346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9346
[Intel XE#9362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9362
[Intel XE#9363]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9363
[Intel XE#9365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9365
[Intel XE#9375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9375
[Intel XE#9399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9399
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* Linux: xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a -> xe-pw-174935v1
IGT_9112: 8d3284b5ae16ca1aef353dfaffb6c0896ceacc19 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5821-c466c7338ac2447a34b4b00c45ac805a9e8ecf7a: c466c7338ac2447a34b4b00c45ac805a9e8ecf7a
xe-pw-174935v1: 174935v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174935v1/index.html
[-- Attachment #2: Type: text/html, Size: 71581 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread* ✗ CI.checkpatch: warning for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks (rev2)
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
` (8 preceding siblings ...)
2026-09-25 6:20 ` ✓ Xe.CI.FULL: " Patchwork
@ 2026-10-02 13:02 ` Patchwork
2026-10-02 13:04 ` ✓ CI.KUnit: success " Patchwork
10 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2026-10-02 13:02 UTC (permalink / raw)
To: Benjamin Block; +Cc: intel-xe
== Series Details ==
Series: PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks (rev2)
URL : https://patchwork.freedesktop.org/series/174935/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
6bef5ce5c74dc76b4ee69ab2832c0d1fd63c91c7
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit a9b69b94066aa26cb02e450bc10399e2aa69e379
Author: Benjamin Block <bblock@linux.ibm.com>
Date: Fri Oct 2 14:55:53 2026 +0200
s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
When removing PCI device or PCI bus objects there are a couple of
call-chains where it is possible that the kernel runs into a circular
deadlock involving the central `pci_rescan_remove_lock`.
Two examples:
(A) Thread α receives a PCI event notifying the kernel that a PCI
virtual function has been moved into Reserved state, and so the PCI
subsystem will try to remove that PCI function. The call-chain for that
looks like this:
__zpci_event_availability()
-> zpci_zdev_put() # will lock(zpci_add_remove_lock),
# and lock(zpci_list_lock)
-> zpci_release_device() # will unlock(zpci_list_lock)
-> zpci_cleanup_bus_resources() # will lock(pci_rescan_remove_lock)
Thread β is triggered by userspace writing 0 into the SysFS attribute
`sriov_numvfs` of the parent PCI physical function of the same function
we just try to remove. This will also try to release the PCI virtual
function; but this time the call-chain looks like this:
sriov_numvfs_store()
-> ... (device driver dependent)
-> sriov_disable()
-> sriov_del_vfs() # will lock(pci_rescan_remove_lock)
-> ... (deep chain)
-> pci_release_dev()
-> pcibios_release_device()
-> zpci_zdev_put() # will lock(zpci_add_remove_lock)
If thread α and β coincide, this will result in a cyclic deadlock.
(B) Thread γ receives a PCI event notifying the kernel that one or more
PCI functions got hot plugged, and need to be configured. A possible
call-chain that might happen while the PCI subsystem is trying to add
those new function looks like this:
__zpci_event_availability()
-> ... (multiple ways in which a device gets added)
-> zpci_add_device() # will lock(zpci_add_remove_lock)
-> zpci_bus_device_register()
-> zpci_bus_put() # will lock(zbus_list_lock)
-> zpci_bus_release() # will unlock(zbus_list_lock)
# will lock(pci_rescan_remove_lock)
Now the same thread β as above in (A) might coincide, and again could
result in a cyclic deadlock.
`pci_rescan_remove_lock` has to be and is taken at a "high level" in
most call-chains since it is intended to protect/mutual exclude all
rescan and/or removal actions taken in the PCI subsystem. So to prevent
the outlined deadlock scenarios above remove it instead from the "low
level" release functions for both the PCI device and PCI bus objects.
Instead, lock `pci_rescan_remove_lock` in all call-chains leading to
those release functions:
* initialization of the PCI subsystem;
* processing of availability events (CRWs) for PCI functions;
* processing of error events (CRWs) for PCI functions;
* architecture specific release PCI device implementation.
Additionally, remove `pci_rescan_remove_lock` from zpci_bus_scan_bus()
since its only caller zpci_scan_devices() is now always called with
`pci_rescan_remove_lock` already held.
Lastly, document the new locking expectations after these changes. Add
sparse and lockdep annotations to functions that previously locked
`pci_rescan_remove_lock` explicitly, making sure the lock is now
already held when called. Additionally also add the annotations to
zpci_zdev_put() and zpci_bus_put() to make sure that every function that
potentially drops the last reference already holds the lock to prevent
surprises.
Fixes: 05bc1be6db4b2 ("s390/pci: create zPCI bus")
Fixes: ab909509850b2 ("PCI: s390: Fix use-after-free of PCI resources with per-function hotplug")
Cc: stable@vger.kernel.org
Signed-off-by: Benjamin Block <bblock@linux.ibm.com>
+ /mt/dim checkpatch 9a844a5028d85ae6d941dddfda6450f3f3887fed drm-intel
f4e8964a4743 PCI/IOV: Make pci_lock_rescan_remove() reentrant and protect sriov_add_vfs/sriov_del_vfs
d1d8e6118ba8 PCI: Fix AB-BA deadlock between device_lock and pci_rescan_remove_lock in remove_store
118973047c54 PCI: Move declaration of pci_rescan_remove_lock into public pci.h
be830271ef34 PCI: Provide lock guard for pci_rescan_remove_lock
a9b69b94066a s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release
-:331: WARNING:TABSTOP: Statements should start on a tabstop
#331: FILE: arch/s390/pci/pci_sysfs.c:81:
+ if (_T) sysfs_unbreak_active_protection(_T),
-:331: ERROR:TRAILING_STATEMENTS: trailing statements should be on next line
#331: FILE: arch/s390/pci/pci_sysfs.c:81:
+ if (_T) sysfs_unbreak_active_protection(_T),
total: 1 errors, 1 warnings, 0 checks, 257 lines checked
^ permalink raw reply [flat|nested] 19+ messages in thread* ✓ CI.KUnit: success for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks (rev2)
2026-09-24 16:29 [PATCH v15 0/5] PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks Benjamin Block
` (9 preceding siblings ...)
2026-10-02 13:02 ` ✗ CI.checkpatch: warning for PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks (rev2) Patchwork
@ 2026-10-02 13:04 ` Patchwork
10 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2026-10-02 13:04 UTC (permalink / raw)
To: Benjamin Block; +Cc: intel-xe
== Series Details ==
Series: PCI/IOV: Fix SR-IOV locking races and AB-BA deadlocks (rev2)
URL : https://patchwork.freedesktop.org/series/174935/
State : success
== Summary ==
+ trap cleanup EXIT
+ kunitconfigs=('/kernel/drivers/gpu/tests/.kunitconfig' '/kernel/drivers/gpu/drm/xe/.kunitconfig' '/kernel/drivers/gpu/drm/tests/.kunitconfig' '/kernel/drivers/gpu/drm/ttm/tests/.kunitconfig' '/kernel/drivers/dma-buf/.kunitconfig')
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/tests/.kunitconfig
[13:02:50] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:02:54] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:03:15] Starting KUnit Kernel (1/1)...
[13:03:15] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:03:15] ============= refcount_interrupt (4 subtests) ==============
[13:03:15] [PASSED] test_single_irq_change
[13:03:15] [PASSED] test_nested_irq_change
[13:03:15] [PASSED] test_multiple_irq_change
[13:03:15] [PASSED] test_irq_save
[13:03:15] =============== [PASSED] refcount_interrupt ================
[13:03:15] ================= gpu_buddy (14 subtests) ==================
[13:03:15] [PASSED] gpu_test_buddy_alloc_limit
[13:03:15] [PASSED] gpu_test_buddy_alloc_optimistic
[13:03:15] [PASSED] gpu_test_buddy_alloc_pessimistic
[13:03:15] [PASSED] gpu_test_buddy_alloc_pathological
[13:03:15] [PASSED] gpu_test_buddy_alloc_contiguous
[13:03:15] [PASSED] gpu_test_buddy_alloc_clear
[13:03:15] [PASSED] gpu_test_buddy_alloc_range
[13:03:15] [PASSED] gpu_test_buddy_alloc_range_bias
[13:03:16] [PASSED] gpu_test_buddy_fragmentation_performance
[13:03:17] [PASSED] gpu_test_buddy_dirty_tracker_performance
[13:03:17] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[13:03:17] [PASSED] gpu_test_buddy_offset_aligned_allocation
[13:03:17] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[13:03:17] [PASSED] gpu_test_buddy_addr_to_block
[13:03:17] ==================== [PASSED] gpu_buddy ====================
[13:03:17] ============================================================
[13:03:17] Testing complete. Ran 18 tests: passed: 18
[13:03:17] Elapsed time: 27.462s total, 4.303s configuring, 20.991s building, 2.101s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/xe/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[13:03:17] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:03:19] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:03:53] Starting KUnit Kernel (1/1)...
[13:03:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:03:53] ============= refcount_interrupt (4 subtests) ==============
[13:03:53] [PASSED] test_single_irq_change
[13:03:53] [PASSED] test_nested_irq_change
[13:03:53] [PASSED] test_multiple_irq_change
[13:03:53] [PASSED] test_irq_save
[13:03:53] =============== [PASSED] refcount_interrupt ================
[13:03:53] ================== guc_buf (11 subtests) ===================
[13:03:53] [PASSED] test_smallest
[13:03:53] [PASSED] test_largest
[13:03:53] [PASSED] test_granular
[13:03:53] [PASSED] test_unique
[13:03:53] [PASSED] test_overlap
[13:03:53] [PASSED] test_reusable
[13:03:53] [PASSED] test_too_big
[13:03:53] [PASSED] test_flush
[13:03:53] [PASSED] test_lookup
[13:03:53] [PASSED] test_data
[13:03:53] [PASSED] test_class
[13:03:53] ===================== [PASSED] guc_buf =====================
[13:03:53] =================== guc_dbm (7 subtests) ===================
[13:03:53] [PASSED] test_empty
[13:03:53] [PASSED] test_default
[13:03:53] ======================== test_size ========================
[13:03:53] [PASSED] 4
[13:03:53] [PASSED] 8
[13:03:53] [PASSED] 32
[13:03:53] [PASSED] 256
[13:03:53] ==================== [PASSED] test_size ====================
[13:03:53] ======================= test_reuse ========================
[13:03:53] [PASSED] 4
[13:03:53] [PASSED] 8
[13:03:53] [PASSED] 32
[13:03:53] [PASSED] 256
[13:03:53] =================== [PASSED] test_reuse ====================
[13:03:53] =================== test_range_overlap ====================
[13:03:53] [PASSED] 4
[13:03:53] [PASSED] 8
[13:03:53] [PASSED] 32
[13:03:53] [PASSED] 256
[13:03:53] =============== [PASSED] test_range_overlap ================
[13:03:53] =================== test_range_compact ====================
[13:03:53] [PASSED] 4
[13:03:53] [PASSED] 8
[13:03:53] [PASSED] 32
[13:03:53] [PASSED] 256
[13:03:53] =============== [PASSED] test_range_compact ================
[13:03:53] ==================== test_range_spare =====================
[13:03:53] [PASSED] 4
[13:03:53] [PASSED] 8
[13:03:53] [PASSED] 32
[13:03:53] [PASSED] 256
[13:03:53] ================ [PASSED] test_range_spare =================
[13:03:53] ===================== [PASSED] guc_dbm =====================
[13:03:53] =================== guc_idm (6 subtests) ===================
[13:03:53] [PASSED] bad_init
[13:03:53] [PASSED] no_init
[13:03:53] [PASSED] init_fini
[13:03:53] [PASSED] check_used
[13:03:53] [PASSED] check_quota
[13:03:53] [PASSED] check_all
[13:03:53] ===================== [PASSED] guc_idm =====================
[13:03:53] ============== guc_klv_helpers (13 subtests) ===============
[13:03:53] [PASSED] test_count
[13:03:53] [PASSED] test_encode_u32
[13:03:53] [PASSED] test_encode_u64
[13:03:53] [PASSED] test_encode_string
[13:03:53] [PASSED] test_encode_object_raw
[13:03:53] [PASSED] test_encode_object_klv
[13:03:53] [PASSED] test_encode_object_nested
[13:03:53] [PASSED] test_encode_object_basic
[13:03:53] ===================== test_decode_u16 =====================
[13:03:53] [PASSED] empty
[13:03:53] [PASSED] valid
[13:03:53] [PASSED] max
[13:03:53] [PASSED] big
[13:03:53] [PASSED] long
[13:03:53] ================= [PASSED] test_decode_u16 =================
[13:03:53] ===================== test_decode_u32 =====================
[13:03:53] [PASSED] empty
[13:03:53] [PASSED] valid
[13:03:53] [PASSED] max
[13:03:53] [PASSED] long
[13:03:53] ================= [PASSED] test_decode_u32 =================
[13:03:53] ===================== test_decode_u64 =====================
[13:03:53] [PASSED] empty
[13:03:53] [PASSED] short
[13:03:53] [PASSED] valid
[13:03:53] [PASSED] max
[13:03:53] [PASSED] long
[13:03:53] ================= [PASSED] test_decode_u64 =================
[13:03:53] ===================== test_decode_str =====================
[13:03:53] [PASSED] empty
[13:03:53] [PASSED] one
[13:03:53] [PASSED] one_trash
[13:03:53] [PASSED] two
[13:03:53] [PASSED] two_trash
[13:03:53] [PASSED] three
[13:03:53] [PASSED] dword
[13:03:53] [PASSED] four
[13:03:53] [PASSED] five
[13:03:53] [PASSED] six
[13:03:53] [PASSED] seven
[13:03:53] [PASSED] qword
[13:03:53] ================= [PASSED] test_decode_str =================
[13:03:53] [PASSED] test_print
[13:03:53] ================= [PASSED] guc_klv_helpers =================
[13:03:53] =================== xe_log (4 subtests) ====================
[13:03:53] [PASSED] demo_cper
[13:03:53] [PASSED] demo_dmesg
[13:03:53] ======================= test_dmesg ========================
[13:03:53] [PASSED] test_fatal
[13:03:53] [PASSED] test_fatal_tile
[13:03:53] [PASSED] test_fatal_gt
[13:03:53] [PASSED] test_fatal_comp
[13:03:53] [PASSED] test_fatal_comp_tile
[13:03:53] [PASSED] test_fatal_comp_gt
[13:03:53] [PASSED] test_fatal_all
[13:03:53] [PASSED] test_recoverable
[13:03:53] [PASSED] test_recoverable_tile
[13:03:53] [PASSED] test_recoverable_gt
[13:03:53] [PASSED] test_recoverable_comp
[13:03:53] [PASSED] test_recoverable_comp_tile
[13:03:53] [PASSED] test_recoverable_comp_gt
[13:03:53] [PASSED] test_recoverable_all
[13:03:54] [PASSED] test_info
[13:03:54] [PASSED] test_info_tile
[13:03:54] [PASSED] test_info_gt
[13:03:54] [PASSED] test_info_err
[13:03:54] [PASSED] test_info_comp
[13:03:54] [PASSED] test_info_comp_tile
[13:03:54] [PASSED] test_info_comp_gt
[13:03:54] [PASSED] test_info_all
[13:03:54] [PASSED] test_hw_fatal
[13:03:54] [PASSED] test_hw_recoverable
[13:03:54] [PASSED] test_hw_corrected
[13:03:54] [PASSED] test_hw_informational
[13:03:54] =================== [PASSED] test_dmesg ====================
[13:03:54] ====================== test_invalid =======================
[13:03:54] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[13:03:54] ================== [SKIPPED] test_invalid ==================
[13:03:54] ===================== [PASSED] xe_log ======================
[13:03:54] ================== no_relay (3 subtests) ===================
[13:03:54] [PASSED] xe_drops_guc2pf_if_not_ready
[13:03:54] [PASSED] xe_drops_guc2vf_if_not_ready
[13:03:54] [PASSED] xe_rejects_send_if_not_ready
[13:03:54] ==================== [PASSED] no_relay =====================
[13:03:54] ================== pf_relay (14 subtests) ==================
[13:03:54] [PASSED] pf_rejects_guc2pf_too_short
[13:03:54] [PASSED] pf_rejects_guc2pf_too_long
[13:03:54] [PASSED] pf_rejects_guc2pf_no_payload
[13:03:54] [PASSED] pf_fails_no_payload
[13:03:54] [PASSED] pf_fails_bad_origin
[13:03:54] [PASSED] pf_fails_bad_type
[13:03:54] [PASSED] pf_txn_reports_error
[13:03:54] [PASSED] pf_txn_sends_pf2guc
[13:03:54] [PASSED] pf_sends_pf2guc
[13:03:54] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:03:54] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:03:54] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:03:54] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:03:54] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:03:54] ==================== [PASSED] pf_relay =====================
[13:03:54] ================== vf_relay (3 subtests) ===================
[13:03:54] [PASSED] vf_rejects_guc2vf_too_short
[13:03:54] [PASSED] vf_rejects_guc2vf_too_long
[13:03:54] [PASSED] vf_rejects_guc2vf_no_payload
[13:03:54] ==================== [PASSED] vf_relay =====================
[13:03:54] ================ pf_gt_config (9 subtests) =================
[13:03:54] [PASSED] fair_contexts_1vf
[13:03:54] [PASSED] fair_doorbells_1vf
[13:03:54] [PASSED] fair_ggtt_1vf
[13:03:54] ====================== fair_vram_1vf ======================
[13:03:54] [PASSED] 3.50 GiB
[13:03:54] [PASSED] 11.5 GiB
[13:03:54] [PASSED] 15.5 GiB
[13:03:54] [PASSED] 31.5 GiB
[13:03:54] [PASSED] 63.5 GiB
[13:03:54] [PASSED] 1.91 GiB
[13:03:54] ================== [PASSED] fair_vram_1vf ==================
[13:03:54] ================ fair_vram_1vf_admin_only =================
[13:03:54] [PASSED] 3.50 GiB
[13:03:54] [PASSED] 11.5 GiB
[13:03:54] [PASSED] 15.5 GiB
[13:03:54] [PASSED] 31.5 GiB
[13:03:54] [PASSED] 63.5 GiB
[13:03:54] [PASSED] 1.91 GiB
[13:03:54] ============ [PASSED] fair_vram_1vf_admin_only =============
[13:03:54] ====================== fair_contexts ======================
[13:03:54] [PASSED] 1 VF
[13:03:54] [PASSED] 2 VFs
[13:03:54] [PASSED] 3 VFs
[13:03:54] [PASSED] 4 VFs
[13:03:54] [PASSED] 5 VFs
[13:03:54] [PASSED] 6 VFs
[13:03:54] [PASSED] 7 VFs
[13:03:54] [PASSED] 8 VFs
[13:03:54] [PASSED] 9 VFs
[13:03:54] [PASSED] 10 VFs
[13:03:54] [PASSED] 11 VFs
[13:03:54] [PASSED] 12 VFs
[13:03:54] [PASSED] 13 VFs
[13:03:54] [PASSED] 14 VFs
[13:03:54] [PASSED] 15 VFs
[13:03:54] [PASSED] 16 VFs
[13:03:54] [PASSED] 17 VFs
[13:03:54] [PASSED] 18 VFs
[13:03:54] [PASSED] 19 VFs
[13:03:54] [PASSED] 20 VFs
[13:03:54] [PASSED] 21 VFs
[13:03:54] [PASSED] 22 VFs
[13:03:54] [PASSED] 23 VFs
[13:03:54] [PASSED] 24 VFs
[13:03:54] [PASSED] 25 VFs
[13:03:54] [PASSED] 26 VFs
[13:03:54] [PASSED] 27 VFs
[13:03:54] [PASSED] 28 VFs
[13:03:54] [PASSED] 29 VFs
[13:03:54] [PASSED] 30 VFs
[13:03:54] [PASSED] 31 VFs
[13:03:54] [PASSED] 32 VFs
[13:03:54] [PASSED] 33 VFs
[13:03:54] [PASSED] 34 VFs
[13:03:54] [PASSED] 35 VFs
[13:03:54] [PASSED] 36 VFs
[13:03:54] [PASSED] 37 VFs
[13:03:54] [PASSED] 38 VFs
[13:03:54] [PASSED] 39 VFs
[13:03:54] [PASSED] 40 VFs
[13:03:54] [PASSED] 41 VFs
[13:03:54] [PASSED] 42 VFs
[13:03:54] [PASSED] 43 VFs
[13:03:54] [PASSED] 44 VFs
[13:03:54] [PASSED] 45 VFs
[13:03:54] [PASSED] 46 VFs
[13:03:54] [PASSED] 47 VFs
[13:03:54] [PASSED] 48 VFs
[13:03:54] [PASSED] 49 VFs
[13:03:54] [PASSED] 50 VFs
[13:03:54] [PASSED] 51 VFs
[13:03:54] [PASSED] 52 VFs
[13:03:54] [PASSED] 53 VFs
[13:03:54] [PASSED] 54 VFs
[13:03:54] [PASSED] 55 VFs
[13:03:54] [PASSED] 56 VFs
[13:03:54] [PASSED] 57 VFs
[13:03:54] [PASSED] 58 VFs
[13:03:54] [PASSED] 59 VFs
[13:03:54] [PASSED] 60 VFs
[13:03:54] [PASSED] 61 VFs
[13:03:54] [PASSED] 62 VFs
[13:03:54] [PASSED] 63 VFs
[13:03:54] ================== [PASSED] fair_contexts ==================
[13:03:54] ===================== fair_doorbells ======================
[13:03:54] [PASSED] 1 VF
[13:03:54] [PASSED] 2 VFs
[13:03:54] [PASSED] 3 VFs
[13:03:54] [PASSED] 4 VFs
[13:03:54] [PASSED] 5 VFs
[13:03:54] [PASSED] 6 VFs
[13:03:54] [PASSED] 7 VFs
[13:03:54] [PASSED] 8 VFs
[13:03:54] [PASSED] 9 VFs
[13:03:54] [PASSED] 10 VFs
[13:03:54] [PASSED] 11 VFs
[13:03:54] [PASSED] 12 VFs
[13:03:54] [PASSED] 13 VFs
[13:03:54] [PASSED] 14 VFs
[13:03:54] [PASSED] 15 VFs
[13:03:54] [PASSED] 16 VFs
[13:03:54] [PASSED] 17 VFs
[13:03:54] [PASSED] 18 VFs
[13:03:54] [PASSED] 19 VFs
[13:03:54] [PASSED] 20 VFs
[13:03:54] [PASSED] 21 VFs
[13:03:54] [PASSED] 22 VFs
[13:03:54] [PASSED] 23 VFs
[13:03:54] [PASSED] 24 VFs
[13:03:54] [PASSED] 25 VFs
[13:03:54] [PASSED] 26 VFs
[13:03:54] [PASSED] 27 VFs
[13:03:54] [PASSED] 28 VFs
[13:03:54] [PASSED] 29 VFs
[13:03:54] [PASSED] 30 VFs
[13:03:54] [PASSED] 31 VFs
[13:03:54] [PASSED] 32 VFs
[13:03:54] [PASSED] 33 VFs
[13:03:54] [PASSED] 34 VFs
[13:03:54] [PASSED] 35 VFs
[13:03:54] [PASSED] 36 VFs
[13:03:54] [PASSED] 37 VFs
[13:03:54] [PASSED] 38 VFs
[13:03:54] [PASSED] 39 VFs
[13:03:54] [PASSED] 40 VFs
[13:03:54] [PASSED] 41 VFs
[13:03:54] [PASSED] 42 VFs
[13:03:54] [PASSED] 43 VFs
[13:03:54] [PASSED] 44 VFs
[13:03:54] [PASSED] 45 VFs
[13:03:54] [PASSED] 46 VFs
[13:03:54] [PASSED] 47 VFs
[13:03:54] [PASSED] 48 VFs
[13:03:54] [PASSED] 49 VFs
[13:03:54] [PASSED] 50 VFs
[13:03:54] [PASSED] 51 VFs
[13:03:54] [PASSED] 52 VFs
[13:03:54] [PASSED] 53 VFs
[13:03:54] [PASSED] 54 VFs
[13:03:54] [PASSED] 55 VFs
[13:03:54] [PASSED] 56 VFs
[13:03:54] [PASSED] 57 VFs
[13:03:54] [PASSED] 58 VFs
[13:03:54] [PASSED] 59 VFs
[13:03:54] [PASSED] 60 VFs
[13:03:54] [PASSED] 61 VFs
[13:03:54] [PASSED] 62 VFs
[13:03:54] [PASSED] 63 VFs
[13:03:54] ================= [PASSED] fair_doorbells ==================
[13:03:54] ======================== fair_ggtt ========================
[13:03:54] [PASSED] 1 VF
[13:03:54] [PASSED] 2 VFs
[13:03:54] [PASSED] 3 VFs
[13:03:54] [PASSED] 4 VFs
[13:03:54] [PASSED] 5 VFs
[13:03:54] [PASSED] 6 VFs
[13:03:54] [PASSED] 7 VFs
[13:03:54] [PASSED] 8 VFs
[13:03:54] [PASSED] 9 VFs
[13:03:54] [PASSED] 10 VFs
[13:03:54] [PASSED] 11 VFs
[13:03:54] [PASSED] 12 VFs
[13:03:54] [PASSED] 13 VFs
[13:03:54] [PASSED] 14 VFs
[13:03:54] [PASSED] 15 VFs
[13:03:54] [PASSED] 16 VFs
[13:03:54] [PASSED] 17 VFs
[13:03:54] [PASSED] 18 VFs
[13:03:54] [PASSED] 19 VFs
[13:03:54] [PASSED] 20 VFs
[13:03:54] [PASSED] 21 VFs
[13:03:54] [PASSED] 22 VFs
[13:03:54] [PASSED] 23 VFs
[13:03:54] [PASSED] 24 VFs
[13:03:54] [PASSED] 25 VFs
[13:03:54] [PASSED] 26 VFs
[13:03:54] [PASSED] 27 VFs
[13:03:54] [PASSED] 28 VFs
[13:03:54] [PASSED] 29 VFs
[13:03:54] [PASSED] 30 VFs
[13:03:54] [PASSED] 31 VFs
[13:03:54] [PASSED] 32 VFs
[13:03:54] [PASSED] 33 VFs
[13:03:54] [PASSED] 34 VFs
[13:03:54] [PASSED] 35 VFs
[13:03:54] [PASSED] 36 VFs
[13:03:54] [PASSED] 37 VFs
[13:03:54] [PASSED] 38 VFs
[13:03:54] [PASSED] 39 VFs
[13:03:54] [PASSED] 40 VFs
[13:03:54] [PASSED] 41 VFs
[13:03:54] [PASSED] 42 VFs
[13:03:54] [PASSED] 43 VFs
[13:03:54] [PASSED] 44 VFs
[13:03:54] [PASSED] 45 VFs
[13:03:54] [PASSED] 46 VFs
[13:03:54] [PASSED] 47 VFs
[13:03:54] [PASSED] 48 VFs
[13:03:54] [PASSED] 49 VFs
[13:03:54] [PASSED] 50 VFs
[13:03:54] [PASSED] 51 VFs
[13:03:54] [PASSED] 52 VFs
[13:03:54] [PASSED] 53 VFs
[13:03:54] [PASSED] 54 VFs
[13:03:54] [PASSED] 55 VFs
[13:03:54] [PASSED] 56 VFs
[13:03:54] [PASSED] 57 VFs
[13:03:54] [PASSED] 58 VFs
[13:03:54] [PASSED] 59 VFs
[13:03:54] [PASSED] 60 VFs
[13:03:54] [PASSED] 61 VFs
[13:03:54] [PASSED] 62 VFs
[13:03:54] [PASSED] 63 VFs
[13:03:54] ==================== [PASSED] fair_ggtt ====================
[13:03:54] ======================== fair_vram ========================
[13:03:54] [PASSED] 1 VF
[13:03:54] [PASSED] 2 VFs
[13:03:54] [PASSED] 3 VFs
[13:03:54] [PASSED] 4 VFs
[13:03:54] [PASSED] 5 VFs
[13:03:54] [PASSED] 6 VFs
[13:03:54] [PASSED] 7 VFs
[13:03:54] [PASSED] 8 VFs
[13:03:54] [PASSED] 9 VFs
[13:03:54] [PASSED] 10 VFs
[13:03:54] [PASSED] 11 VFs
[13:03:54] [PASSED] 12 VFs
[13:03:54] [PASSED] 13 VFs
[13:03:54] [PASSED] 14 VFs
[13:03:54] [PASSED] 15 VFs
[13:03:54] [PASSED] 16 VFs
[13:03:54] [PASSED] 17 VFs
[13:03:54] [PASSED] 18 VFs
[13:03:54] [PASSED] 19 VFs
[13:03:54] [PASSED] 20 VFs
[13:03:54] [PASSED] 21 VFs
[13:03:54] [PASSED] 22 VFs
[13:03:54] [PASSED] 23 VFs
[13:03:54] [PASSED] 24 VFs
[13:03:54] [PASSED] 25 VFs
[13:03:54] [PASSED] 26 VFs
[13:03:54] [PASSED] 27 VFs
[13:03:54] [PASSED] 28 VFs
[13:03:54] [PASSED] 29 VFs
[13:03:54] [PASSED] 30 VFs
[13:03:54] [PASSED] 31 VFs
[13:03:54] [PASSED] 32 VFs
[13:03:54] [PASSED] 33 VFs
[13:03:54] [PASSED] 34 VFs
[13:03:54] [PASSED] 35 VFs
[13:03:54] [PASSED] 36 VFs
[13:03:54] [PASSED] 37 VFs
[13:03:54] [PASSED] 38 VFs
[13:03:54] [PASSED] 39 VFs
[13:03:54] [PASSED] 40 VFs
[13:03:54] [PASSED] 41 VFs
[13:03:54] [PASSED] 42 VFs
[13:03:54] [PASSED] 43 VFs
[13:03:54] [PASSED] 44 VFs
[13:03:54] [PASSED] 45 VFs
[13:03:54] [PASSED] 46 VFs
[13:03:54] [PASSED] 47 VFs
[13:03:54] [PASSED] 48 VFs
[13:03:54] [PASSED] 49 VFs
[13:03:54] [PASSED] 50 VFs
[13:03:54] [PASSED] 51 VFs
[13:03:54] [PASSED] 52 VFs
[13:03:54] [PASSED] 53 VFs
[13:03:54] [PASSED] 54 VFs
[13:03:54] [PASSED] 55 VFs
[13:03:54] [PASSED] 56 VFs
[13:03:54] [PASSED] 57 VFs
[13:03:54] [PASSED] 58 VFs
[13:03:54] [PASSED] 59 VFs
[13:03:54] [PASSED] 60 VFs
[13:03:54] [PASSED] 61 VFs
[13:03:54] [PASSED] 62 VFs
[13:03:54] [PASSED] 63 VFs
[13:03:54] ==================== [PASSED] fair_vram ====================
[13:03:54] ================== [PASSED] pf_gt_config ===================
[13:03:54] ===================== lmtt (1 subtest) =====================
[13:03:54] ======================== test_ops =========================
[13:03:54] [PASSED] 2-level
[13:03:54] [PASSED] multi-level
[13:03:54] ==================== [PASSED] test_ops =====================
[13:03:54] ====================== [PASSED] lmtt =======================
[13:03:54] ================= sriov_packet (1 subtest) =================
[13:03:54] [PASSED] test_descriptor_init
[13:03:54] ================== [PASSED] sriov_packet ===================
[13:03:54] ================= pf_service (11 subtests) =================
[13:03:54] [PASSED] pf_negotiate_any
[13:03:54] [PASSED] pf_negotiate_base_match
[13:03:54] [PASSED] pf_negotiate_base_newer
[13:03:54] [PASSED] pf_negotiate_base_next
[13:03:54] [SKIPPED] pf_negotiate_base_older (no older minor)
[13:03:54] [PASSED] pf_negotiate_base_prev
[13:03:54] [PASSED] pf_negotiate_latest_match
[13:03:54] [PASSED] pf_negotiate_latest_newer
[13:03:54] [PASSED] pf_negotiate_latest_next
[13:03:54] [SKIPPED] pf_negotiate_latest_older (no older minor)
[13:03:54] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[13:03:54] =================== [PASSED] pf_service ====================
[13:03:54] ================= xe_guc_g2g (2 subtests) ==================
[13:03:54] ============== xe_live_guc_g2g_kunit_default ==============
[13:03:54] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[13:03:54] ============== xe_live_guc_g2g_kunit_allmem ===============
[13:03:54] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[13:03:54] =================== [SKIPPED] xe_guc_g2g ===================
[13:03:54] =================== xe_mocs (2 subtests) ===================
[13:03:54] ================ xe_live_mocs_kernel_kunit ================
[13:03:54] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[13:03:54] ================ xe_live_mocs_reset_kunit =================
[13:03:54] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[13:03:54] ==================== [SKIPPED] xe_mocs =====================
[13:03:54] ================= xe_migrate (2 subtests) ==================
[13:03:54] ================= xe_migrate_sanity_kunit =================
[13:03:54] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[13:03:54] ================== xe_validate_ccs_kunit ==================
[13:03:54] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[13:03:54] =================== [SKIPPED] xe_migrate ===================
[13:03:54] ================== xe_dma_buf (1 subtest) ==================
[13:03:54] ==================== xe_dma_buf_kunit =====================
[13:03:54] ================ [SKIPPED] xe_dma_buf_kunit ================
[13:03:54] =================== [SKIPPED] xe_dma_buf ===================
[13:03:54] ================= xe_bo_shrink (1 subtest) =================
[13:03:54] =================== xe_bo_shrink_kunit ====================
[13:03:54] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[13:03:54] ================== [SKIPPED] xe_bo_shrink ==================
[13:03:54] ==================== xe_bo (2 subtests) ====================
[13:03:54] ================== xe_ccs_migrate_kunit ===================
[13:03:54] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[13:03:54] ==================== xe_bo_evict_kunit ====================
[13:03:54] =============== [SKIPPED] xe_bo_evict_kunit ================
[13:03:54] ===================== [SKIPPED] xe_bo ======================
[13:03:54] =================== xe_any (9 subtests) ====================
[13:03:54] [PASSED] test_to_xe
[13:03:54] [PASSED] test_to_dev
[13:03:54] [PASSED] test_to_pdev
[13:03:54] [PASSED] test_to_drm
[13:03:54] [PASSED] test_if_pdev
[13:03:54] [PASSED] test_if_xe
[13:03:54] [PASSED] test_if_tile
[13:03:54] [PASSED] test_if_gt
[13:03:54] [PASSED] test_to_id
[13:03:54] ===================== [PASSED] xe_any ======================
[13:03:54] ==================== args (13 subtests) ====================
[13:03:54] [PASSED] count_args_test
[13:03:54] [PASSED] call_args_example
[13:03:54] [PASSED] call_args_test
[13:03:54] [PASSED] drop_first_arg_example
[13:03:54] [PASSED] drop_first_arg_test
[13:03:54] [PASSED] first_arg_example
[13:03:54] [PASSED] first_arg_test
[13:03:54] [PASSED] last_arg_example
[13:03:54] [PASSED] last_arg_test
[13:03:54] [PASSED] pick_arg_example
[13:03:54] [PASSED] if_args_example
[13:03:54] [PASSED] if_args_test
[13:03:54] [PASSED] sep_comma_example
[13:03:54] ====================== [PASSED] args =======================
[13:03:54] =================== xe_pci (3 subtests) ====================
[13:03:54] ==================== check_graphics_ip ====================
[13:03:54] [PASSED] 12.00 Xe_LP
[13:03:54] [PASSED] 12.10 Xe_LP+
[13:03:54] [PASSED] 12.55 Xe_HPG
[13:03:54] [PASSED] 12.60 Xe_HPC
[13:03:54] [PASSED] 12.70 Xe_LPG
[13:03:54] [PASSED] 12.71 Xe_LPG
[13:03:54] [PASSED] 12.74 Xe_LPG+
[13:03:54] [PASSED] 20.01 Xe2_HPG
[13:03:54] [PASSED] 20.02 Xe2_HPG
[13:03:54] [PASSED] 20.04 Xe2_LPG
[13:03:54] [PASSED] 30.00 Xe3_LPG
[13:03:54] [PASSED] 30.01 Xe3_LPG
[13:03:54] [PASSED] 30.03 Xe3_LPG
[13:03:54] [PASSED] 30.04 Xe3_LPG
[13:03:54] [PASSED] 30.05 Xe3_LPG
[13:03:54] [PASSED] 35.10 Xe3p_LPG
[13:03:54] [PASSED] 35.11 Xe3p_XPC
[13:03:54] ================ [PASSED] check_graphics_ip ================
[13:03:54] ===================== check_media_ip ======================
[13:03:54] [PASSED] 12.00 Xe_M
[13:03:54] [PASSED] 12.55 Xe_HPM
[13:03:54] [PASSED] 13.00 Xe_LPM+
[13:03:54] [PASSED] 13.01 Xe2_HPM
[13:03:54] [PASSED] 20.00 Xe2_LPM
[13:03:54] [PASSED] 30.00 Xe3_LPM
[13:03:54] [PASSED] 30.02 Xe3_LPM
[13:03:54] [PASSED] 35.00 Xe3p_LPM
[13:03:54] [PASSED] 35.03 Xe3p_HPM
[13:03:54] ================= [PASSED] check_media_ip ==================
[13:03:54] =================== check_platform_desc ===================
[13:03:54] [PASSED] 0x9A60 (TIGERLAKE)
[13:03:54] [PASSED] 0x9A68 (TIGERLAKE)
[13:03:54] [PASSED] 0x9A70 (TIGERLAKE)
[13:03:54] [PASSED] 0x9A40 (TIGERLAKE)
[13:03:54] [PASSED] 0x9A49 (TIGERLAKE)
[13:03:54] [PASSED] 0x9A59 (TIGERLAKE)
[13:03:54] [PASSED] 0x9A78 (TIGERLAKE)
[13:03:54] [PASSED] 0x9AC0 (TIGERLAKE)
[13:03:54] [PASSED] 0x9AC9 (TIGERLAKE)
[13:03:54] [PASSED] 0x9AD9 (TIGERLAKE)
[13:03:54] [PASSED] 0x9AF8 (TIGERLAKE)
[13:03:54] [PASSED] 0x4C80 (ROCKETLAKE)
[13:03:54] [PASSED] 0x4C8A (ROCKETLAKE)
[13:03:54] [PASSED] 0x4C8B (ROCKETLAKE)
[13:03:54] [PASSED] 0x4C8C (ROCKETLAKE)
[13:03:54] [PASSED] 0x4C90 (ROCKETLAKE)
[13:03:54] [PASSED] 0x4C9A (ROCKETLAKE)
[13:03:54] [PASSED] 0x4680 (ALDERLAKE_S)
[13:03:54] [PASSED] 0x4682 (ALDERLAKE_S)
[13:03:54] [PASSED] 0x4688 (ALDERLAKE_S)
[13:03:54] [PASSED] 0x468A (ALDERLAKE_S)
[13:03:54] [PASSED] 0x468B (ALDERLAKE_S)
[13:03:54] [PASSED] 0x4690 (ALDERLAKE_S)
[13:03:54] [PASSED] 0x4692 (ALDERLAKE_S)
[13:03:54] [PASSED] 0x4693 (ALDERLAKE_S)
[13:03:54] [PASSED] 0x46A0 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46A1 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46A2 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46A3 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46A6 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46A8 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46AA (ALDERLAKE_P)
[13:03:54] [PASSED] 0x462A (ALDERLAKE_P)
[13:03:54] [PASSED] 0x4626 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x4628 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46B0 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46B1 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46B2 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46B3 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46C0 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46C1 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46C2 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46C3 (ALDERLAKE_P)
[13:03:54] [PASSED] 0x46D0 (ALDERLAKE_N)
[13:03:54] [PASSED] 0x46D1 (ALDERLAKE_N)
[13:03:54] [PASSED] 0x46D2 (ALDERLAKE_N)
[13:03:54] [PASSED] 0x46D3 (ALDERLAKE_N)
[13:03:54] [PASSED] 0x46D4 (ALDERLAKE_N)
[13:03:54] [PASSED] 0xA721 (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA7A1 (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA7A9 (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA7AC (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA7AD (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA720 (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA7A0 (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA7A8 (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA7AA (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA7AB (ALDERLAKE_P)
[13:03:54] [PASSED] 0xA780 (ALDERLAKE_S)
[13:03:54] [PASSED] 0xA781 (ALDERLAKE_S)
[13:03:54] [PASSED] 0xA782 (ALDERLAKE_S)
[13:03:54] [PASSED] 0xA783 (ALDERLAKE_S)
[13:03:54] [PASSED] 0xA788 (ALDERLAKE_S)
[13:03:54] [PASSED] 0xA789 (ALDERLAKE_S)
[13:03:54] [PASSED] 0xA78A (ALDERLAKE_S)
[13:03:54] [PASSED] 0xA78B (ALDERLAKE_S)
[13:03:54] [PASSED] 0x4905 (DG1)
[13:03:54] [PASSED] 0x4906 (DG1)
[13:03:54] [PASSED] 0x4907 (DG1)
[13:03:54] [PASSED] 0x4908 (DG1)
[13:03:54] [PASSED] 0x4909 (DG1)
[13:03:54] [PASSED] 0x56C0 (DG2)
[13:03:54] [PASSED] 0x56C2 (DG2)
[13:03:54] [PASSED] 0x56C1 (DG2)
[13:03:54] [PASSED] 0x7D51 (METEORLAKE)
[13:03:54] [PASSED] 0x7DD1 (METEORLAKE)
[13:03:54] [PASSED] 0x7D41 (METEORLAKE)
[13:03:54] [PASSED] 0x7D67 (METEORLAKE)
[13:03:54] [PASSED] 0xB640 (METEORLAKE)
[13:03:54] [PASSED] 0x56A0 (DG2)
[13:03:54] [PASSED] 0x56A1 (DG2)
[13:03:54] [PASSED] 0x56A2 (DG2)
[13:03:54] [PASSED] 0x56BE (DG2)
[13:03:54] [PASSED] 0x56BF (DG2)
[13:03:54] [PASSED] 0x5690 (DG2)
[13:03:54] [PASSED] 0x5691 (DG2)
[13:03:54] [PASSED] 0x5692 (DG2)
[13:03:54] [PASSED] 0x56A5 (DG2)
[13:03:54] [PASSED] 0x56A6 (DG2)
[13:03:54] [PASSED] 0x56B0 (DG2)
[13:03:54] [PASSED] 0x56B1 (DG2)
[13:03:54] [PASSED] 0x56BA (DG2)
[13:03:54] [PASSED] 0x56BB (DG2)
[13:03:54] [PASSED] 0x56BC (DG2)
[13:03:54] [PASSED] 0x56BD (DG2)
[13:03:54] [PASSED] 0x5693 (DG2)
[13:03:54] [PASSED] 0x5694 (DG2)
[13:03:54] [PASSED] 0x5695 (DG2)
[13:03:54] [PASSED] 0x56A3 (DG2)
[13:03:54] [PASSED] 0x56A4 (DG2)
[13:03:54] [PASSED] 0x56B2 (DG2)
[13:03:54] [PASSED] 0x56B3 (DG2)
[13:03:54] [PASSED] 0x5696 (DG2)
[13:03:54] [PASSED] 0x5697 (DG2)
[13:03:54] [PASSED] 0xB69 (PVC)
[13:03:54] [PASSED] 0xB6E (PVC)
[13:03:54] [PASSED] 0xBD4 (PVC)
[13:03:54] [PASSED] 0xBD5 (PVC)
[13:03:54] [PASSED] 0xBD6 (PVC)
[13:03:54] [PASSED] 0xBD7 (PVC)
[13:03:54] [PASSED] 0xBD8 (PVC)
[13:03:54] [PASSED] 0xBD9 (PVC)
[13:03:54] [PASSED] 0xBDA (PVC)
[13:03:54] [PASSED] 0xBDB (PVC)
[13:03:54] [PASSED] 0xBE0 (PVC)
[13:03:54] [PASSED] 0xBE1 (PVC)
[13:03:54] [PASSED] 0xBE5 (PVC)
[13:03:54] [PASSED] 0x7D40 (METEORLAKE)
[13:03:54] [PASSED] 0x7D45 (METEORLAKE)
[13:03:54] [PASSED] 0x7D55 (METEORLAKE)
[13:03:54] [PASSED] 0x7D60 (METEORLAKE)
[13:03:54] [PASSED] 0x7DD5 (METEORLAKE)
[13:03:54] [PASSED] 0x6420 (LUNARLAKE)
[13:03:54] [PASSED] 0x64A0 (LUNARLAKE)
[13:03:54] [PASSED] 0x64B0 (LUNARLAKE)
[13:03:54] [PASSED] 0xE202 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE209 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE20B (BATTLEMAGE)
[13:03:54] [PASSED] 0xE20C (BATTLEMAGE)
[13:03:54] [PASSED] 0xE20D (BATTLEMAGE)
[13:03:54] [PASSED] 0xE210 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE211 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE212 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE216 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE220 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE221 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE222 (BATTLEMAGE)
[13:03:54] [PASSED] 0xE223 (BATTLEMAGE)
[13:03:54] [PASSED] 0xB080 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB081 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB082 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB083 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB084 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB085 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB086 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB087 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB08F (PANTHERLAKE)
[13:03:54] [PASSED] 0xB090 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB0A0 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB0A1 (PANTHERLAKE)
[13:03:54] [PASSED] 0xB0B0 (PANTHERLAKE)
[13:03:54] [PASSED] 0xFD80 (PANTHERLAKE)
[13:03:54] [PASSED] 0xFD81 (PANTHERLAKE)
[13:03:54] [PASSED] 0xD740 (NOVALAKE_S)
[13:03:54] [PASSED] 0xD741 (NOVALAKE_S)
[13:03:54] [PASSED] 0xD742 (NOVALAKE_S)
[13:03:54] [PASSED] 0xD743 (NOVALAKE_S)
[13:03:54] [PASSED] 0xD745 (NOVALAKE_S)
[13:03:54] [PASSED] 0xD74A (NOVALAKE_S)
[13:03:54] [PASSED] 0xD74B (NOVALAKE_S)
[13:03:54] [PASSED] 0x674C (CRESCENTISLAND)
[13:03:54] [PASSED] 0x674D (CRESCENTISLAND)
[13:03:54] [PASSED] 0x674E (CRESCENTISLAND)
[13:03:54] [PASSED] 0x674F (CRESCENTISLAND)
[13:03:54] [PASSED] 0x6750 (CRESCENTISLAND)
[13:03:54] [PASSED] 0x6751 (CRESCENTISLAND)
[13:03:54] [PASSED] 0xD750 (NOVALAKE_P)
[13:03:54] [PASSED] 0xD751 (NOVALAKE_P)
[13:03:54] [PASSED] 0xD752 (NOVALAKE_P)
[13:03:54] [PASSED] 0xD753 (NOVALAKE_P)
[13:03:54] [PASSED] 0xD754 (NOVALAKE_P)
[13:03:54] [PASSED] 0xD755 (NOVALAKE_P)
[13:03:54] [PASSED] 0xD756 (NOVALAKE_P)
[13:03:54] [PASSED] 0xD757 (NOVALAKE_P)
[13:03:54] [PASSED] 0xD75F (NOVALAKE_P)
[13:03:54] =============== [PASSED] check_platform_desc ===============
[13:03:54] ===================== [PASSED] xe_pci ======================
[13:03:54] ============= xe_rtp_tables_test (5 subtests) ==============
[13:03:54] ================== xe_rtp_table_gt_test ===================
[13:03:54] [PASSED] gt_was/14011060649
[13:03:54] [PASSED] gt_was/14011059788
[13:03:54] [PASSED] gt_was/14015795083
[13:03:54] [PASSED] gt_was/16021867713
[13:03:54] [PASSED] gt_was/14019449301
[13:03:54] [PASSED] gt_was/16028005424
[13:03:54] [PASSED] gt_was/14026578760
[13:03:54] [PASSED] gt_was/1409420604
[13:03:54] [PASSED] gt_was/1408615072
[13:03:54] [PASSED] gt_was/22010523718
[13:03:54] [PASSED] gt_was/14011006942
[13:03:54] [PASSED] gt_was/14014830051
[13:03:54] [PASSED] gt_was/18018781329
[13:03:54] [PASSED] gt_was/1509235366
[13:03:54] [PASSED] gt_was/18018781329
[13:03:54] [PASSED] gt_was/16016694945
[13:03:54] [PASSED] gt_was/14018575942
[13:03:54] [PASSED] gt_was/22016670082
[13:03:54] [PASSED] gt_was/22016670082
[13:03:54] [PASSED] gt_was/14017421178
[13:03:54] [PASSED] gt_was/16025250150
[13:03:54] [PASSED] gt_was/14021871409
[13:03:54] [PASSED] gt_was/16021865536
[13:03:54] [PASSED] gt_was/14021486841
[13:03:54] [PASSED] gt_was/14025160223
[13:03:54] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[13:03:54] [PASSED] gt_was/14025635424
[13:03:54] [PASSED] gt_was/16028005424
[13:03:54] ============== [PASSED] xe_rtp_table_gt_test ===============
[13:03:54] ================== xe_rtp_table_gt_test ===================
[13:03:54] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[13:03:54] [PASSED] gt_tunings/Tuning: 32B Access Enable
[13:03:54] [PASSED] gt_tunings/Tuning: L3 cache
[13:03:54] [PASSED] gt_tunings/Tuning: L3 cache - media
[13:03:54] [PASSED] gt_tunings/Tuning: Compression Overfetch
[13:03:54] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[13:03:54] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[13:03:54] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[13:03:54] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[13:03:54] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[13:03:54] [PASSED] gt_tunings/Tuning: Stateless compression control
[13:03:54] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[13:03:54] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[13:03:54] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[13:03:54] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[13:03:54] [PASSED] gt_tunings/Tuning: Force All Non-Compressible Memory Reads to be 256B Overfetches
[13:03:54] ============== [PASSED] xe_rtp_table_gt_test ===============
[13:03:54] ================== xe_rtp_table_oob_test ==================
[13:03:54] [PASSED] oob_was/1607983814
[13:03:54] [PASSED] oob_was/16010904313
[13:03:54] [PASSED] oob_was/18022495364
[13:03:54] [PASSED] oob_was/22012773006
[13:03:54] [PASSED] oob_was/14014475959
[13:03:54] [PASSED] oob_was/22011391025
[13:03:54] [PASSED] oob_was/22012727170
[13:03:54] [PASSED] oob_was/22012727685
[13:03:54] [PASSED] oob_was/22016596838
[13:03:54] [PASSED] oob_was/18020744125
[13:03:54] [PASSED] oob_was/1409600907
[13:03:54] [PASSED] oob_was/22014953428
[13:03:54] [PASSED] oob_was/16017236439
[13:03:54] [PASSED] oob_was/14019821291
[13:03:54] [PASSED] oob_was/14015076503
[13:03:54] [PASSED] oob_was/22016122933
[13:03:54] [PASSED] oob_was/14018913170
[13:03:54] [PASSED] oob_was/14018094691
[13:03:54] [PASSED] oob_was/18024947630
[13:03:54] [PASSED] oob_was/16022287689
[13:03:54] [PASSED] oob_was/13011645652
[13:03:54] [PASSED] oob_was/14022293748
[13:03:54] [PASSED] oob_was/22019794406
[13:03:54] [PASSED] oob_was/22019338487
[13:03:54] [PASSED] oob_was/16023588340
[13:03:54] [PASSED] oob_was/14019789679
[13:03:54] [PASSED] oob_was/14022866841
[13:03:54] [PASSED] oob_was/16021333562
[13:03:54] [PASSED] oob_was/14016712196
[13:03:54] [PASSED] oob_was/14015568240
[13:03:54] [PASSED] oob_was/18013179988
[13:03:54] [PASSED] oob_was/1508761755
[13:03:54] [PASSED] oob_was/16023105232
[13:03:54] [PASSED] oob_was/16026508708
[13:03:54] [PASSED] oob_was/14020001231
[13:03:54] [PASSED] oob_was/16023683509
[13:03:54] [PASSED] oob_was/14025515070
[13:03:54] [PASSED] oob_was/15015404425_disable
[13:03:54] [PASSED] oob_was/16026007364
[13:03:54] [PASSED] oob_was/14020316580
[13:03:54] [PASSED] oob_was/14025883347
[13:03:54] [PASSED] oob_was/16029380221
[13:03:54] [PASSED] oob_was/22022079272
[13:03:54] [PASSED] oob_was/16029897822
[13:03:54] [PASSED] oob_was/14027054324
[13:03:54] [PASSED] oob_was/14025941587
[13:03:54] [PASSED] oob_was/16030224309
[13:03:54] ============== [PASSED] xe_rtp_table_oob_test ==============
[13:03:54] ================ xe_rtp_table_dev_oob_test ================
[13:03:54] [PASSED] device_oob_was/22010954014
[13:03:54] [PASSED] device_oob_was/15015404425
[13:03:54] [PASSED] device_oob_was/22019338487_display
[13:03:54] [PASSED] device_oob_was/14022085890
[13:03:54] [PASSED] device_oob_was/14026539277
[13:03:54] [PASSED] device_oob_was/14026633728
[13:03:54] [PASSED] device_oob_was/14026746987
[13:03:54] [PASSED] device_oob_was/14026779378
[13:03:54] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[13:03:54] ========== xe_rtp_table_missing_upper_bound_test ==========
[13:03:54] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[13:03:54] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[13:03:54] [PASSED] register_whitelist/1806527549
[13:03:54] [PASSED] register_whitelist/allow_read_ctx_timestamp
[13:03:54] [PASSED] register_whitelist/allow_read_queue_timestamp
[13:03:54] [PASSED] register_whitelist/16014440446
[13:03:54] [PASSED] register_whitelist/16017236439
[13:03:54] [PASSED] register_whitelist/16020183090
[13:03:54] [PASSED] register_whitelist/14024997852
[13:03:54] [PASSED] register_whitelist/14024997852
[13:03:54] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[13:03:54] =============== [PASSED] xe_rtp_tables_test ================
[13:03:54] =================== xe_rtp (3 subtests) ====================
[13:03:54] =================== xe_rtp_rules_tests ====================
[13:03:54] [PASSED] no
[13:03:54] [PASSED] yes
[13:03:54] [PASSED] no-and-no
[13:03:54] [PASSED] no-and-yes
[13:03:54] [PASSED] yes-and-no
[13:03:54] [PASSED] yes-and-yes
[13:03:54] [PASSED] no-or-no
[13:03:54] [PASSED] no-or-yes
[13:03:54] [PASSED] yes-or-no
[13:03:54] [PASSED] yes-or-yes
[13:03:54] [PASSED] no-yes-or-yes-no
[13:03:54] [PASSED] no-yes-or-yes-yes
[13:03:54] [PASSED] yes-yes-or-no-yes
[13:03:54] [PASSED] yes-yes-or-yes-yes
[13:03:54] [PASSED] no-no-or-yes-or-no
[13:03:54] [PASSED] or
[13:03:54] [PASSED] or-yes
[13:03:54] [PASSED] or-no
[13:03:54] [PASSED] yes-or
[13:03:54] [PASSED] no-or
[13:03:54] [PASSED] no-or-or-yes
[13:03:54] [PASSED] yes-or-or-no
[13:03:54] [PASSED] no-or-or-no
[13:03:54] [PASSED] missing-context-engine-class
[13:03:54] [PASSED] missing-context-engine-class-or-yes
[13:03:54] [PASSED] missing-context-engine-class-or-or-yes
[13:03:54] =============== [PASSED] xe_rtp_rules_tests ================
[13:03:54] =============== xe_rtp_process_to_sr_tests ================
[13:03:54] [PASSED] coalesce-same-reg
[13:03:54] [PASSED] coalesce-same-reg-literal-and-func
[13:03:54] [PASSED] no-match-no-add
[13:03:54] [PASSED] two-regs-two-entries
[13:03:54] [PASSED] clr-one-set-other
[13:03:54] [PASSED] set-field
[13:03:54] [PASSED] conflict-duplicate
[13:03:54] [PASSED] conflict-not-disjoint
[13:03:54] [PASSED] conflict-not-disjoint-literal-and-func
[13:03:54] [PASSED] conflict-reg-type
[13:03:54] [PASSED] bad-mcr-reg-forced-to-regular
[13:03:54] [PASSED] bad-regular-reg-forced-to-mcr
[13:03:54] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[13:03:54] ================== xe_rtp_process_tests ===================
[13:03:54] [PASSED] active1
[13:03:54] [PASSED] active2
[13:03:54] [PASSED] active-inactive
[13:03:54] [PASSED] inactive-active
[13:03:54] [PASSED] inactive-active-inactive
[13:03:54] [PASSED] inactive-inactive-inactive
[13:03:54] ============== [PASSED] xe_rtp_process_tests ===============
[13:03:54] ===================== [PASSED] xe_rtp ======================
[13:03:54] ==================== xe_wa (1 subtest) =====================
[13:03:54] ======================== xe_wa_gt =========================
[13:03:54] [PASSED] TIGERLAKE B0
[13:03:54] [PASSED] DG1 A0
[13:03:54] [PASSED] DG1 B0
[13:03:54] [PASSED] ALDERLAKE_S A0
[13:03:54] [PASSED] ALDERLAKE_S B0
[13:03:54] [PASSED] ALDERLAKE_S C0
[13:03:54] [PASSED] ALDERLAKE_S D0
[13:03:54] [PASSED] ALDERLAKE_P A0
[13:03:54] [PASSED] ALDERLAKE_P B0
[13:03:54] [PASSED] ALDERLAKE_P C0
[13:03:54] [PASSED] ALDERLAKE_S RPLS D0
[13:03:54] [PASSED] ALDERLAKE_P RPLU E0
[13:03:54] [PASSED] DG2 G10 C0
[13:03:54] [PASSED] DG2 G11 B1
[13:03:54] [PASSED] DG2 G12 A1
[13:03:54] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[13:03:54] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[13:03:54] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[13:03:54] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[13:03:54] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[13:03:54] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[13:03:54] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[13:03:54] ==================== [PASSED] xe_wa_gt =====================
[13:03:54] ====================== [PASSED] xe_wa ======================
[13:03:54] ============================================================
[13:03:54] Testing complete. Ran 825 tests: passed: 797, skipped: 28
[13:03:54] Elapsed time: 36.691s total, 1.772s configuring, 34.203s building, 0.708s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[13:03:54] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:03:56] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:04:21] Starting KUnit Kernel (1/1)...
[13:04:21] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:04:22] ============= refcount_interrupt (4 subtests) ==============
[13:04:22] [PASSED] test_single_irq_change
[13:04:22] [PASSED] test_nested_irq_change
[13:04:22] [PASSED] test_multiple_irq_change
[13:04:22] [PASSED] test_irq_save
[13:04:22] =============== [PASSED] refcount_interrupt ================
[13:04:22] ============ drm_test_pick_cmdline (2 subtests) ============
[13:04:22] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[13:04:22] =============== drm_test_pick_cmdline_named ===============
[13:04:22] [PASSED] NTSC
[13:04:22] [PASSED] NTSC-J
[13:04:22] [PASSED] PAL
[13:04:22] [PASSED] PAL-M
[13:04:22] =========== [PASSED] drm_test_pick_cmdline_named ===========
[13:04:22] ============== [PASSED] drm_test_pick_cmdline ==============
[13:04:22] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[13:04:22] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[13:04:22] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[13:04:22] =========== drm_validate_clone_mode (2 subtests) ===========
[13:04:22] ============== drm_test_check_in_clone_mode ===============
[13:04:22] [PASSED] in_clone_mode
[13:04:22] [PASSED] not_in_clone_mode
[13:04:22] ========== [PASSED] drm_test_check_in_clone_mode ===========
[13:04:22] =============== drm_test_check_valid_clones ===============
[13:04:22] [PASSED] not_in_clone_mode
[13:04:22] [PASSED] valid_clone
[13:04:22] [PASSED] invalid_clone
[13:04:22] =========== [PASSED] drm_test_check_valid_clones ===========
[13:04:22] ============= [PASSED] drm_validate_clone_mode =============
[13:04:22] ============= drm_validate_modeset (1 subtest) =============
[13:04:22] [PASSED] drm_test_check_connector_changed_modeset
[13:04:22] ============== [PASSED] drm_validate_modeset ===============
[13:04:22] ====== drm_test_bridge_get_current_state (1 subtest) =======
[13:04:22] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[13:04:22] ======== [PASSED] drm_test_bridge_get_current_state ========
[13:04:22] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[13:04:22] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[13:04:22] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[13:04:22] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[13:04:22] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[13:04:22] ============== drm_bridge_alloc (2 subtests) ===============
[13:04:22] [PASSED] drm_test_drm_bridge_alloc_basic
[13:04:22] [PASSED] drm_test_drm_bridge_alloc_get_put
[13:04:22] ================ [PASSED] drm_bridge_alloc =================
[13:04:22] ============= drm_bridge_bus_fmt (5 subtests) ==============
[13:04:22] [PASSED] drm_test_bridge_rgb_yuv_rgb
[13:04:22] [PASSED] drm_test_bridge_must_convert_to_yuv444
[13:04:22] [PASSED] drm_test_bridge_hdmi_auto_rgb
[13:04:22] [PASSED] drm_test_bridge_auto_first
[13:04:22] [PASSED] drm_test_bridge_rgb_yuv_no_path
[13:04:22] =============== [PASSED] drm_bridge_bus_fmt ================
[13:04:22] ============= drm_cmdline_parser (40 subtests) =============
[13:04:22] [PASSED] drm_test_cmdline_force_d_only
[13:04:22] [PASSED] drm_test_cmdline_force_D_only_dvi
[13:04:22] [PASSED] drm_test_cmdline_force_D_only_hdmi
[13:04:22] [PASSED] drm_test_cmdline_force_D_only_not_digital
[13:04:22] [PASSED] drm_test_cmdline_force_e_only
[13:04:22] [PASSED] drm_test_cmdline_res
[13:04:22] [PASSED] drm_test_cmdline_res_vesa
[13:04:22] [PASSED] drm_test_cmdline_res_vesa_rblank
[13:04:22] [PASSED] drm_test_cmdline_res_rblank
[13:04:22] [PASSED] drm_test_cmdline_res_bpp
[13:04:22] [PASSED] drm_test_cmdline_res_refresh
[13:04:22] [PASSED] drm_test_cmdline_res_bpp_refresh
[13:04:22] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[13:04:22] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[13:04:22] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[13:04:22] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[13:04:22] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[13:04:22] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[13:04:22] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[13:04:22] [PASSED] drm_test_cmdline_res_margins_force_on
[13:04:22] [PASSED] drm_test_cmdline_res_vesa_margins
[13:04:22] [PASSED] drm_test_cmdline_name
[13:04:22] [PASSED] drm_test_cmdline_name_bpp
[13:04:22] [PASSED] drm_test_cmdline_name_option
[13:04:22] [PASSED] drm_test_cmdline_name_bpp_option
[13:04:22] [PASSED] drm_test_cmdline_rotate_0
[13:04:22] [PASSED] drm_test_cmdline_rotate_90
[13:04:22] [PASSED] drm_test_cmdline_rotate_180
[13:04:22] [PASSED] drm_test_cmdline_rotate_270
[13:04:22] [PASSED] drm_test_cmdline_hmirror
[13:04:22] [PASSED] drm_test_cmdline_vmirror
[13:04:22] [PASSED] drm_test_cmdline_margin_options
[13:04:22] [PASSED] drm_test_cmdline_multiple_options
[13:04:22] [PASSED] drm_test_cmdline_bpp_extra_and_option
[13:04:22] [PASSED] drm_test_cmdline_extra_and_option
[13:04:22] [PASSED] drm_test_cmdline_freestanding_options
[13:04:22] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[13:04:22] [PASSED] drm_test_cmdline_panel_orientation
[13:04:22] ================ drm_test_cmdline_invalid =================
[13:04:22] [PASSED] margin_only
[13:04:22] [PASSED] interlace_only
[13:04:22] [PASSED] res_missing_x
[13:04:22] [PASSED] res_missing_y
[13:04:22] [PASSED] res_bad_y
[13:04:22] [PASSED] res_missing_y_bpp
[13:04:22] [PASSED] res_bad_bpp
[13:04:22] [PASSED] res_bad_refresh
[13:04:22] [PASSED] res_bpp_refresh_force_on_off
[13:04:22] [PASSED] res_invalid_mode
[13:04:22] [PASSED] res_bpp_wrong_place_mode
[13:04:22] [PASSED] name_bpp_refresh
[13:04:22] [PASSED] name_refresh
[13:04:22] [PASSED] name_refresh_wrong_mode
[13:04:22] [PASSED] name_refresh_invalid_mode
[13:04:22] [PASSED] rotate_multiple
[13:04:22] [PASSED] rotate_invalid_val
[13:04:22] [PASSED] rotate_truncated
[13:04:22] [PASSED] invalid_option
[13:04:22] [PASSED] invalid_tv_option
[13:04:22] [PASSED] truncated_tv_option
[13:04:22] ============ [PASSED] drm_test_cmdline_invalid =============
[13:04:22] =============== drm_test_cmdline_tv_options ===============
[13:04:22] [PASSED] NTSC
[13:04:22] [PASSED] NTSC_443
[13:04:22] [PASSED] NTSC_J
[13:04:22] [PASSED] PAL
[13:04:22] [PASSED] PAL_M
[13:04:22] [PASSED] PAL_N
[13:04:22] [PASSED] SECAM
[13:04:22] [PASSED] MONO_525
[13:04:22] [PASSED] MONO_625
[13:04:22] =========== [PASSED] drm_test_cmdline_tv_options ===========
[13:04:22] =============== [PASSED] drm_cmdline_parser ================
[13:04:22] ========== drmm_connector_hdmi_init (20 subtests) ==========
[13:04:22] [PASSED] drm_test_connector_hdmi_init_valid
[13:04:22] [PASSED] drm_test_connector_hdmi_init_bpc_8
[13:04:22] [PASSED] drm_test_connector_hdmi_init_bpc_10
[13:04:22] [PASSED] drm_test_connector_hdmi_init_bpc_12
[13:04:22] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[13:04:22] [PASSED] drm_test_connector_hdmi_init_bpc_null
[13:04:22] [PASSED] drm_test_connector_hdmi_init_formats_empty
[13:04:22] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[13:04:22] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[13:04:22] [PASSED] supported_formats=0x9 yuv420_allowed=1
[13:04:22] [PASSED] supported_formats=0x9 yuv420_allowed=0
[13:04:22] [PASSED] supported_formats=0x5 yuv420_allowed=1
[13:04:22] [PASSED] supported_formats=0x5 yuv420_allowed=0
[13:04:22] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[13:04:22] [PASSED] drm_test_connector_hdmi_init_null_ddc
[13:04:22] [PASSED] drm_test_connector_hdmi_init_null_product
[13:04:22] [PASSED] drm_test_connector_hdmi_init_null_vendor
[13:04:22] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[13:04:22] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[13:04:22] [PASSED] drm_test_connector_hdmi_init_product_valid
[13:04:22] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[13:04:22] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[13:04:22] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[13:04:22] ========= drm_test_connector_hdmi_init_type_valid =========
[13:04:22] [PASSED] HDMI-A
[13:04:22] [PASSED] HDMI-B
[13:04:22] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[13:04:22] ======== drm_test_connector_hdmi_init_type_invalid ========
[13:04:22] [PASSED] Unknown
[13:04:22] [PASSED] VGA
[13:04:22] [PASSED] DVI-I
[13:04:22] [PASSED] DVI-D
[13:04:22] [PASSED] DVI-A
[13:04:22] [PASSED] Composite
[13:04:22] [PASSED] SVIDEO
[13:04:22] [PASSED] LVDS
[13:04:22] [PASSED] Component
[13:04:22] [PASSED] DIN
[13:04:22] [PASSED] DP
[13:04:22] [PASSED] TV
[13:04:22] [PASSED] eDP
[13:04:22] [PASSED] Virtual
[13:04:22] [PASSED] DSI
[13:04:22] [PASSED] DPI
[13:04:22] [PASSED] Writeback
[13:04:22] [PASSED] SPI
[13:04:22] [PASSED] USB
[13:04:22] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[13:04:22] ============ [PASSED] drmm_connector_hdmi_init =============
[13:04:22] ============= drmm_connector_init (3 subtests) =============
[13:04:22] [PASSED] drm_test_drmm_connector_init
[13:04:22] [PASSED] drm_test_drmm_connector_init_null_ddc
[13:04:22] ========= drm_test_drmm_connector_init_type_valid =========
[13:04:22] [PASSED] Unknown
[13:04:22] [PASSED] VGA
[13:04:22] [PASSED] DVI-I
[13:04:22] [PASSED] DVI-D
[13:04:22] [PASSED] DVI-A
[13:04:22] [PASSED] Composite
[13:04:22] [PASSED] SVIDEO
[13:04:22] [PASSED] LVDS
[13:04:22] [PASSED] Component
[13:04:22] [PASSED] DIN
[13:04:22] [PASSED] DP
[13:04:22] [PASSED] HDMI-A
[13:04:22] [PASSED] HDMI-B
[13:04:22] [PASSED] TV
[13:04:22] [PASSED] eDP
[13:04:22] [PASSED] Virtual
[13:04:22] [PASSED] DSI
[13:04:22] [PASSED] DPI
[13:04:22] [PASSED] Writeback
[13:04:22] [PASSED] SPI
[13:04:22] [PASSED] USB
[13:04:22] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[13:04:22] =============== [PASSED] drmm_connector_init ===============
[13:04:22] ========= drm_connector_dynamic_init (6 subtests) ==========
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_init
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_init_properties
[13:04:22] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[13:04:22] [PASSED] Unknown
[13:04:22] [PASSED] VGA
[13:04:22] [PASSED] DVI-I
[13:04:22] [PASSED] DVI-D
[13:04:22] [PASSED] DVI-A
[13:04:22] [PASSED] Composite
[13:04:22] [PASSED] SVIDEO
[13:04:22] [PASSED] LVDS
[13:04:22] [PASSED] Component
[13:04:22] [PASSED] DIN
[13:04:22] [PASSED] DP
[13:04:22] [PASSED] HDMI-A
[13:04:22] [PASSED] HDMI-B
[13:04:22] [PASSED] TV
[13:04:22] [PASSED] eDP
[13:04:22] [PASSED] Virtual
[13:04:22] [PASSED] DSI
[13:04:22] [PASSED] DPI
[13:04:22] [PASSED] Writeback
[13:04:22] [PASSED] SPI
[13:04:22] [PASSED] USB
[13:04:22] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[13:04:22] ======== drm_test_drm_connector_dynamic_init_name =========
[13:04:22] [PASSED] Unknown
[13:04:22] [PASSED] VGA
[13:04:22] [PASSED] DVI-I
[13:04:22] [PASSED] DVI-D
[13:04:22] [PASSED] DVI-A
[13:04:22] [PASSED] Composite
[13:04:22] [PASSED] SVIDEO
[13:04:22] [PASSED] LVDS
[13:04:22] [PASSED] Component
[13:04:22] [PASSED] DIN
[13:04:22] [PASSED] DP
[13:04:22] [PASSED] HDMI-A
[13:04:22] [PASSED] HDMI-B
[13:04:22] [PASSED] TV
[13:04:22] [PASSED] eDP
[13:04:22] [PASSED] Virtual
[13:04:22] [PASSED] DSI
[13:04:22] [PASSED] DPI
[13:04:22] [PASSED] Writeback
[13:04:22] [PASSED] SPI
[13:04:22] [PASSED] USB
[13:04:22] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[13:04:22] =========== [PASSED] drm_connector_dynamic_init ============
[13:04:22] ==== drm_connector_dynamic_register_early (4 subtests) =====
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[13:04:22] ====== [PASSED] drm_connector_dynamic_register_early =======
[13:04:22] ======= drm_connector_dynamic_register (7 subtests) ========
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[13:04:22] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[13:04:22] ========= [PASSED] drm_connector_dynamic_register ==========
[13:04:22] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[13:04:22] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[13:04:22] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[13:04:22] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[13:04:22] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[13:04:22] ========== drm_test_get_tv_mode_from_name_valid ===========
[13:04:22] [PASSED] NTSC
[13:04:22] [PASSED] NTSC-443
[13:04:22] [PASSED] NTSC-J
[13:04:22] [PASSED] PAL
[13:04:22] [PASSED] PAL-M
[13:04:22] [PASSED] PAL-N
[13:04:22] [PASSED] SECAM
[13:04:22] [PASSED] Mono
[13:04:22] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[13:04:22] [PASSED] drm_test_get_tv_mode_from_name_truncated
[13:04:22] ============ [PASSED] drm_get_tv_mode_from_name ============
[13:04:22] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[13:04:22] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[13:04:22] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[13:04:22] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[13:04:22] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[13:04:22] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[13:04:22] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[13:04:22] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[13:04:22] [PASSED] VIC 96
[13:04:22] [PASSED] VIC 97
[13:04:22] [PASSED] VIC 101
[13:04:22] [PASSED] VIC 102
[13:04:22] [PASSED] VIC 106
[13:04:22] [PASSED] VIC 107
[13:04:22] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[13:04:22] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[13:04:22] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[13:04:22] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[13:04:22] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[13:04:22] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[13:04:22] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[13:04:22] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[13:04:22] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[13:04:22] [PASSED] Automatic
[13:04:22] [PASSED] Full
[13:04:22] [PASSED] Limited 16:235
[13:04:22] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[13:04:22] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[13:04:22] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[13:04:22] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[13:04:22] === drm_test_drm_hdmi_connector_get_output_format_name ====
[13:04:22] [PASSED] RGB
[13:04:22] [PASSED] YUV 4:2:0
[13:04:22] [PASSED] YUV 4:2:2
[13:04:22] [PASSED] YUV 4:4:4
[13:04:22] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[13:04:22] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[13:04:22] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[13:04:22] ============= drm_damage_helper (21 subtests) ==============
[13:04:22] [PASSED] drm_test_damage_iter_no_damage
[13:04:22] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[13:04:22] [PASSED] drm_test_damage_iter_no_damage_src_moved
[13:04:22] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[13:04:22] [PASSED] drm_test_damage_iter_no_damage_not_visible
[13:04:22] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[13:04:22] [PASSED] drm_test_damage_iter_no_damage_no_fb
[13:04:22] [PASSED] drm_test_damage_iter_simple_damage
[13:04:22] [PASSED] drm_test_damage_iter_single_damage
[13:04:22] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[13:04:22] [PASSED] drm_test_damage_iter_single_damage_outside_src
[13:04:22] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[13:04:22] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[13:04:22] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[13:04:22] [PASSED] drm_test_damage_iter_single_damage_src_moved
[13:04:22] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[13:04:22] [PASSED] drm_test_damage_iter_damage
[13:04:22] [PASSED] drm_test_damage_iter_damage_one_intersect
[13:04:22] [PASSED] drm_test_damage_iter_damage_one_outside
[13:04:22] [PASSED] drm_test_damage_iter_damage_src_moved
[13:04:22] [PASSED] drm_test_damage_iter_damage_not_visible
[13:04:22] ================ [PASSED] drm_damage_helper ================
[13:04:22] ============== drm_dp_mst_helper (3 subtests) ==============
[13:04:22] ============== drm_test_dp_mst_calc_pbn_mode ==============
[13:04:22] [PASSED] Clock 154000 BPP 30 DSC disabled
[13:04:22] [PASSED] Clock 234000 BPP 30 DSC disabled
[13:04:22] [PASSED] Clock 297000 BPP 24 DSC disabled
[13:04:22] [PASSED] Clock 332880 BPP 24 DSC enabled
[13:04:22] [PASSED] Clock 324540 BPP 24 DSC enabled
[13:04:22] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[13:04:22] ============== drm_test_dp_mst_calc_pbn_div ===============
[13:04:22] [PASSED] Link rate 2000000 lane count 4
[13:04:22] [PASSED] Link rate 2000000 lane count 2
[13:04:22] [PASSED] Link rate 2000000 lane count 1
[13:04:22] [PASSED] Link rate 1350000 lane count 4
[13:04:22] [PASSED] Link rate 1350000 lane count 2
[13:04:22] [PASSED] Link rate 1350000 lane count 1
[13:04:22] [PASSED] Link rate 1000000 lane count 4
[13:04:22] [PASSED] Link rate 1000000 lane count 2
[13:04:22] [PASSED] Link rate 1000000 lane count 1
[13:04:22] [PASSED] Link rate 810000 lane count 4
[13:04:22] [PASSED] Link rate 810000 lane count 2
[13:04:22] [PASSED] Link rate 810000 lane count 1
[13:04:22] [PASSED] Link rate 540000 lane count 4
[13:04:22] [PASSED] Link rate 540000 lane count 2
[13:04:22] [PASSED] Link rate 540000 lane count 1
[13:04:22] [PASSED] Link rate 270000 lane count 4
[13:04:22] [PASSED] Link rate 270000 lane count 2
[13:04:22] [PASSED] Link rate 270000 lane count 1
[13:04:22] [PASSED] Link rate 162000 lane count 4
[13:04:22] [PASSED] Link rate 162000 lane count 2
[13:04:22] [PASSED] Link rate 162000 lane count 1
[13:04:22] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[13:04:22] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[13:04:22] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[13:04:22] [PASSED] DP_POWER_UP_PHY with port number
[13:04:22] [PASSED] DP_POWER_DOWN_PHY with port number
[13:04:22] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[13:04:22] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[13:04:22] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[13:04:22] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[13:04:22] [PASSED] DP_QUERY_PAYLOAD with port number
[13:04:22] [PASSED] DP_QUERY_PAYLOAD with VCPI
[13:04:22] [PASSED] DP_REMOTE_DPCD_READ with port number
[13:04:22] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[13:04:22] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[13:04:22] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[13:04:22] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[13:04:22] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[13:04:22] [PASSED] DP_REMOTE_I2C_READ with port number
[13:04:22] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[13:04:22] [PASSED] DP_REMOTE_I2C_READ with transactions array
[13:04:22] [PASSED] DP_REMOTE_I2C_WRITE with port number
[13:04:22] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[13:04:22] [PASSED] DP_REMOTE_I2C_WRITE with data array
[13:04:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[13:04:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[13:04:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[13:04:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[13:04:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[13:04:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[13:04:22] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[13:04:22] ================ [PASSED] drm_dp_mst_helper ================
[13:04:22] ================== drm_exec (7 subtests) ===================
[13:04:22] [PASSED] sanitycheck
[13:04:22] [PASSED] test_lock
[13:04:22] [PASSED] test_lock_unlock
[13:04:22] [PASSED] test_duplicates
[13:04:22] [PASSED] test_prepare
[13:04:22] [PASSED] test_prepare_array
[13:04:22] [PASSED] test_multiple_loops
[13:04:22] ==================== [PASSED] drm_exec =====================
[13:04:22] =========== drm_format_helper_test (17 subtests) ===========
[13:04:22] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[13:04:22] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[13:04:22] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[13:04:22] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[13:04:22] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[13:04:22] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[13:04:22] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[13:04:22] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[13:04:22] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[13:04:22] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[13:04:22] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[13:04:22] ============== drm_test_fb_xrgb8888_to_mono ===============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[13:04:22] ==================== drm_test_fb_swab =====================
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ================ [PASSED] drm_test_fb_swab =================
[13:04:22] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[13:04:22] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[13:04:22] [PASSED] single_pixel_source_buffer
[13:04:22] [PASSED] single_pixel_clip_rectangle
[13:04:22] [PASSED] well_known_colors
[13:04:22] [PASSED] destination_pitch
[13:04:22] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[13:04:22] ================= drm_test_fb_clip_offset =================
[13:04:22] [PASSED] pass through
[13:04:22] [PASSED] horizontal offset
[13:04:22] [PASSED] vertical offset
[13:04:22] [PASSED] horizontal and vertical offset
[13:04:22] [PASSED] horizontal offset (custom pitch)
[13:04:22] [PASSED] vertical offset (custom pitch)
[13:04:22] [PASSED] horizontal and vertical offset (custom pitch)
[13:04:22] ============= [PASSED] drm_test_fb_clip_offset =============
[13:04:22] =================== drm_test_fb_memcpy ====================
[13:04:22] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[13:04:22] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[13:04:22] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[13:04:22] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[13:04:22] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[13:04:22] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[13:04:22] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[13:04:22] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[13:04:22] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[13:04:22] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[13:04:22] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[13:04:22] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[13:04:22] =============== [PASSED] drm_test_fb_memcpy ================
[13:04:22] ============= [PASSED] drm_format_helper_test ==============
[13:04:22] ================= drm_format (18 subtests) =================
[13:04:22] [PASSED] drm_test_format_block_width_invalid
[13:04:22] [PASSED] drm_test_format_block_width_one_plane
[13:04:22] [PASSED] drm_test_format_block_width_two_plane
[13:04:22] [PASSED] drm_test_format_block_width_three_plane
[13:04:22] [PASSED] drm_test_format_block_width_tiled
[13:04:22] [PASSED] drm_test_format_block_height_invalid
[13:04:22] [PASSED] drm_test_format_block_height_one_plane
[13:04:22] [PASSED] drm_test_format_block_height_two_plane
[13:04:22] [PASSED] drm_test_format_block_height_three_plane
[13:04:22] [PASSED] drm_test_format_block_height_tiled
[13:04:22] [PASSED] drm_test_format_min_pitch_invalid
[13:04:22] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[13:04:22] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[13:04:22] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[13:04:22] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[13:04:22] [PASSED] drm_test_format_min_pitch_two_plane
[13:04:22] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[13:04:22] [PASSED] drm_test_format_min_pitch_tiled
[13:04:22] =================== [PASSED] drm_format ====================
[13:04:22] ============== drm_framebuffer (10 subtests) ===============
[13:04:22] ========== drm_test_framebuffer_check_src_coords ==========
[13:04:22] [PASSED] Success: source fits into fb
[13:04:22] [PASSED] Fail: overflowing fb with x-axis coordinate
[13:04:22] [PASSED] Fail: overflowing fb with y-axis coordinate
[13:04:22] [PASSED] Fail: overflowing fb with source width
[13:04:22] [PASSED] Fail: overflowing fb with source height
[13:04:22] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[13:04:22] [PASSED] drm_test_framebuffer_cleanup
[13:04:22] =============== drm_test_framebuffer_create ===============
[13:04:22] [PASSED] ABGR8888 normal sizes
[13:04:22] [PASSED] ABGR8888 max sizes
[13:04:22] [PASSED] ABGR8888 pitch greater than min required
[13:04:22] [PASSED] ABGR8888 pitch less than min required
[13:04:22] [PASSED] ABGR8888 Invalid width
[13:04:22] [PASSED] ABGR8888 Invalid buffer handle
[13:04:22] [PASSED] No pixel format
[13:04:22] [PASSED] ABGR8888 Width 0
[13:04:22] [PASSED] ABGR8888 Height 0
[13:04:22] [PASSED] ABGR8888 Out of bound height * pitch combination
[13:04:22] [PASSED] ABGR8888 Large buffer offset
[13:04:22] [PASSED] ABGR8888 Buffer offset for inexistent plane
[13:04:22] [PASSED] ABGR8888 Invalid flag
[13:04:22] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[13:04:22] [PASSED] ABGR8888 Valid buffer modifier
[13:04:22] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[13:04:22] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[13:04:22] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[13:04:22] [PASSED] NV12 Normal sizes
[13:04:22] [PASSED] NV12 Max sizes
[13:04:22] [PASSED] NV12 Invalid pitch
[13:04:22] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[13:04:22] [PASSED] NV12 different modifier per-plane
[13:04:22] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[13:04:22] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[13:04:22] [PASSED] NV12 Modifier for inexistent plane
[13:04:22] [PASSED] NV12 Handle for inexistent plane
[13:04:22] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[13:04:22] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[13:04:22] [PASSED] YVU420 Normal sizes
[13:04:22] [PASSED] YVU420 Max sizes
[13:04:22] [PASSED] YVU420 Invalid pitch
[13:04:22] [PASSED] YVU420 Different pitches
[13:04:22] [PASSED] YVU420 Different buffer offsets/pitches
[13:04:22] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[13:04:22] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[13:04:22] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[13:04:22] [PASSED] YVU420 Valid modifier
[13:04:22] [PASSED] YVU420 Different modifiers per plane
[13:04:22] [PASSED] YVU420 Modifier for inexistent plane
[13:04:22] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[13:04:22] [PASSED] X0L2 Normal sizes
[13:04:22] [PASSED] X0L2 Max sizes
[13:04:22] [PASSED] X0L2 Invalid pitch
[13:04:22] [PASSED] X0L2 Pitch greater than minimum required
[13:04:22] [PASSED] X0L2 Handle for inexistent plane
[13:04:22] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[13:04:22] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[13:04:22] [PASSED] X0L2 Valid modifier
[13:04:22] [PASSED] X0L2 Modifier for inexistent plane
[13:04:22] =========== [PASSED] drm_test_framebuffer_create ===========
[13:04:22] [PASSED] drm_test_framebuffer_free
[13:04:22] [PASSED] drm_test_framebuffer_init
[13:04:22] [PASSED] drm_test_framebuffer_init_bad_format
[13:04:22] [PASSED] drm_test_framebuffer_init_dev_mismatch
[13:04:22] [PASSED] drm_test_framebuffer_lookup
[13:04:22] [PASSED] drm_test_framebuffer_lookup_inexistent
[13:04:22] [PASSED] drm_test_framebuffer_modifiers_not_supported
[13:04:22] ================= [PASSED] drm_framebuffer =================
[13:04:22] ================ drm_gem_shmem (8 subtests) ================
[13:04:22] [PASSED] drm_gem_shmem_test_obj_create
[13:04:22] [PASSED] drm_gem_shmem_test_obj_create_private
[13:04:22] [PASSED] drm_gem_shmem_test_pin_pages
[13:04:22] [PASSED] drm_gem_shmem_test_vmap
[13:04:22] [PASSED] drm_gem_shmem_test_get_sg_table
[13:04:22] [PASSED] drm_gem_shmem_test_get_pages_sgt
[13:04:22] [PASSED] drm_gem_shmem_test_madvise
[13:04:22] [PASSED] drm_gem_shmem_test_purge
[13:04:22] ================== [PASSED] drm_gem_shmem ==================
[13:04:22] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[13:04:22] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[13:04:22] [PASSED] Automatic
[13:04:22] [PASSED] Full
[13:04:22] [PASSED] Limited 16:235
[13:04:22] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[13:04:22] [PASSED] drm_test_check_disable_connector
[13:04:22] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[13:04:22] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[13:04:22] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[13:04:22] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[13:04:22] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[13:04:22] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[13:04:22] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[13:04:22] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[13:04:22] [PASSED] drm_test_check_output_bpc_dvi
[13:04:22] [PASSED] drm_test_check_output_bpc_format_vic_1
[13:04:22] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[13:04:22] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[13:04:22] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[13:04:22] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[13:04:22] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[13:04:22] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[13:04:22] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[13:04:22] ============ drm_test_check_hdmi_color_format =============
[13:04:22] [PASSED] AUTO -> RGB
[13:04:22] [PASSED] YCBCR422 -> YUV422
[13:04:22] [PASSED] YCBCR420 -> YUV420
[13:04:22] [PASSED] YCBCR444 -> YUV444
[13:04:22] [PASSED] RGB -> RGB
[13:04:22] ======== [PASSED] drm_test_check_hdmi_color_format =========
[13:04:22] ======== drm_test_check_hdmi_color_format_420_only ========
[13:04:22] [PASSED] RGB should fail
[13:04:22] [PASSED] YUV444 should fail
[13:04:22] [PASSED] YUV422 should fail
[13:04:22] [PASSED] YUV420 should work
[13:04:22] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[13:04:22] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[13:04:22] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[13:04:22] [PASSED] drm_test_check_broadcast_rgb_value
[13:04:22] [PASSED] drm_test_check_bpc_8_value
[13:04:22] [PASSED] drm_test_check_bpc_10_value
[13:04:22] [PASSED] drm_test_check_bpc_12_value
[13:04:22] [PASSED] drm_test_check_format_value
[13:04:22] [PASSED] drm_test_check_tmds_char_value
[13:04:22] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[13:04:22] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[13:04:22] [PASSED] drm_test_check_mode_valid
[13:04:22] [PASSED] drm_test_check_mode_valid_reject
[13:04:22] [PASSED] drm_test_check_mode_valid_reject_rate
[13:04:22] [PASSED] drm_test_check_mode_valid_reject_max_clock
[13:04:22] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[13:04:22] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[13:04:22] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[13:04:22] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[13:04:22] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[13:04:22] [PASSED] drm_test_check_infoframes
[13:04:22] [PASSED] drm_test_check_reject_avi_infoframe
[13:04:22] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[13:04:22] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[13:04:22] [PASSED] drm_test_check_reject_audio_infoframe
[13:04:22] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[13:04:22] ================= drm_managed (2 subtests) =================
[13:04:22] [PASSED] drm_test_managed_release_action
[13:04:22] [PASSED] drm_test_managed_run_action
[13:04:22] =================== [PASSED] drm_managed ===================
[13:04:22] =================== drm_mm (6 subtests) ====================
[13:04:22] [PASSED] drm_test_mm_init
[13:04:22] [PASSED] drm_test_mm_debug
[13:04:22] [PASSED] drm_test_mm_align32
[13:04:22] [PASSED] drm_test_mm_align64
[13:04:22] [PASSED] drm_test_mm_lowest
[13:04:22] [PASSED] drm_test_mm_highest
[13:04:22] ===================== [PASSED] drm_mm ======================
[13:04:22] ============= drm_modes_analog_tv (5 subtests) =============
[13:04:22] [PASSED] drm_test_modes_analog_tv_mono_576i
[13:04:22] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[13:04:22] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[13:04:22] [PASSED] drm_test_modes_analog_tv_pal_576i
[13:04:22] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[13:04:22] =============== [PASSED] drm_modes_analog_tv ===============
[13:04:22] ============== drm_panic_helper (3 subtests) ===============
[13:04:22] ============= drm_test_panic_screen_user_map ==============
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[13:04:22] ========= [PASSED] drm_test_panic_screen_user_map ==========
[13:04:22] ============= drm_test_panic_screen_user_page =============
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[13:04:22] ========= [PASSED] drm_test_panic_screen_user_page =========
[13:04:22] ========== drm_test_panic_screen_user_set_pixel ===========
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[13:04:22] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[13:04:22] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[13:04:22] ====== [PASSED] drm_test_panic_screen_user_set_pixel =======
[13:04:22] ================ [PASSED] drm_panic_helper =================
[13:04:22] ============== drm_plane_helper (2 subtests) ===============
[13:04:22] =============== drm_test_check_plane_state ================
[13:04:22] [PASSED] clipping_simple
[13:04:22] [PASSED] clipping_rotate_reflect
[13:04:22] [PASSED] positioning_simple
[13:04:22] [PASSED] upscaling
[13:04:22] [PASSED] downscaling
[13:04:22] [PASSED] rounding1
[13:04:22] [PASSED] rounding2
[13:04:22] [PASSED] rounding3
[13:04:22] [PASSED] rounding4
[13:04:22] =========== [PASSED] drm_test_check_plane_state ============
[13:04:22] =========== drm_test_check_invalid_plane_state ============
[13:04:22] [PASSED] positioning_invalid
[13:04:22] [PASSED] upscaling_invalid
[13:04:22] [PASSED] downscaling_invalid
[13:04:22] ======= [PASSED] drm_test_check_invalid_plane_state ========
[13:04:22] ================ [PASSED] drm_plane_helper =================
[13:04:22] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[13:04:22] ====== drm_test_connector_helper_tv_get_modes_check =======
[13:04:22] [PASSED] None
[13:04:22] [PASSED] PAL
[13:04:22] [PASSED] NTSC
[13:04:22] [PASSED] Both, NTSC Default
[13:04:22] [PASSED] Both, PAL Default
[13:04:22] [PASSED] Both, NTSC Default, with PAL on command-line
[13:04:22] [PASSED] Both, PAL Default, with NTSC on command-line
[13:04:22] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[13:04:22] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[13:04:22] ================== drm_rect (9 subtests) ===================
[13:04:22] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[13:04:22] [PASSED] drm_test_rect_clip_scaled_not_clipped
[13:04:22] [PASSED] drm_test_rect_clip_scaled_clipped
[13:04:22] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[13:04:22] ================= drm_test_rect_intersect =================
[13:04:22] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[13:04:22] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[13:04:22] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[13:04:22] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[13:04:22] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[13:04:22] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[13:04:22] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[13:04:22] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[13:04:22] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[13:04:22] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[13:04:22] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[13:04:22] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[13:04:22] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[13:04:22] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[13:04:22] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[13:04:22] ============= [PASSED] drm_test_rect_intersect =============
[13:04:22] ================ drm_test_rect_calc_hscale ================
[13:04:22] [PASSED] normal use
[13:04:22] [PASSED] out of max range
[13:04:22] [PASSED] out of min range
[13:04:22] [PASSED] zero dst
[13:04:22] [PASSED] negative src
[13:04:22] [PASSED] negative dst
[13:04:22] ============ [PASSED] drm_test_rect_calc_hscale ============
[13:04:22] ================ drm_test_rect_calc_vscale ================
[13:04:22] [PASSED] normal use
[13:04:22] [PASSED] out of max range
[13:04:22] [PASSED] out of min range
[13:04:22] [PASSED] zero dst
[13:04:22] [PASSED] negative src
[13:04:22] [PASSED] negative dst
[13:04:22] ============ [PASSED] drm_test_rect_calc_vscale ============
[13:04:22] ================== drm_test_rect_rotate ===================
[13:04:22] [PASSED] reflect-x
[13:04:22] [PASSED] reflect-y
[13:04:22] [PASSED] rotate-0
[13:04:22] [PASSED] rotate-90
[13:04:22] [PASSED] rotate-180
[13:04:22] [PASSED] rotate-270
[13:04:22] ============== [PASSED] drm_test_rect_rotate ===============
[13:04:22] ================ drm_test_rect_rotate_inv =================
[13:04:22] [PASSED] reflect-x
[13:04:22] [PASSED] reflect-y
[13:04:22] [PASSED] rotate-0
[13:04:22] [PASSED] rotate-90
[13:04:22] [PASSED] rotate-180
[13:04:22] [PASSED] rotate-270
[13:04:22] ============ [PASSED] drm_test_rect_rotate_inv =============
[13:04:22] ==================== [PASSED] drm_rect =====================
[13:04:22] ============ drm_sysfb_modeset_test (1 subtest) ============
[13:04:22] ============ drm_test_sysfb_build_fourcc_list =============
[13:04:22] [PASSED] no native formats
[13:04:22] [PASSED] XRGB8888 as native format
[13:04:22] [PASSED] remove duplicates
[13:04:22] [PASSED] convert alpha formats
[13:04:22] [PASSED] random formats
[13:04:22] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[13:04:22] ============= [PASSED] drm_sysfb_modeset_test ==============
[13:04:22] ================== drm_fixp (2 subtests) ===================
[13:04:22] [PASSED] drm_test_int2fixp
[13:04:22] [PASSED] drm_test_sm2fixp
[13:04:22] ==================== [PASSED] drm_fixp =====================
[13:04:22] ============================================================
[13:04:22] Testing complete. Ran 671 tests: passed: 671
[13:04:22] Elapsed time: 27.901s total, 1.790s configuring, 25.647s building, 0.413s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[13:04:22] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:04:24] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:04:34] Starting KUnit Kernel (1/1)...
[13:04:34] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:04:34] ============= refcount_interrupt (4 subtests) ==============
[13:04:34] [PASSED] test_single_irq_change
[13:04:34] [PASSED] test_nested_irq_change
[13:04:34] [PASSED] test_multiple_irq_change
[13:04:34] [PASSED] test_irq_save
[13:04:34] =============== [PASSED] refcount_interrupt ================
[13:04:34] ================= ttm_device (5 subtests) ==================
[13:04:34] [PASSED] ttm_device_init_basic
[13:04:34] [PASSED] ttm_device_init_multiple
[13:04:34] [PASSED] ttm_device_fini_basic
[13:04:34] [PASSED] ttm_device_init_no_vma_man
[13:04:34] ================== ttm_device_init_pools ==================
[13:04:34] [PASSED] No DMA allocations, no DMA32 required
[13:04:34] [PASSED] DMA allocations, DMA32 required
[13:04:34] [PASSED] No DMA allocations, DMA32 required
[13:04:34] [PASSED] DMA allocations, no DMA32 required
[13:04:34] ============== [PASSED] ttm_device_init_pools ==============
[13:04:34] =================== [PASSED] ttm_device ====================
[13:04:34] ================== ttm_pool (8 subtests) ===================
[13:04:34] ================== ttm_pool_alloc_basic ===================
[13:04:34] [PASSED] One page
[13:04:34] [PASSED] More than one page
[13:04:34] [PASSED] Above the allocation limit
[13:04:34] [PASSED] One page, with coherent DMA mappings enabled
[13:04:34] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[13:04:34] ============== [PASSED] ttm_pool_alloc_basic ===============
[13:04:34] ============== ttm_pool_alloc_basic_dma_addr ==============
[13:04:34] [PASSED] One page
[13:04:34] [PASSED] More than one page
[13:04:34] [PASSED] Above the allocation limit
[13:04:34] [PASSED] One page, with coherent DMA mappings enabled
[13:04:34] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[13:04:34] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[13:04:34] [PASSED] ttm_pool_alloc_order_caching_match
[13:04:34] [PASSED] ttm_pool_alloc_caching_mismatch
[13:04:34] [PASSED] ttm_pool_alloc_order_mismatch
[13:04:34] [PASSED] ttm_pool_free_dma_alloc
[13:04:34] [PASSED] ttm_pool_free_no_dma_alloc
[13:04:34] [PASSED] ttm_pool_fini_basic
[13:04:34] ==================== [PASSED] ttm_pool =====================
[13:04:34] ================ ttm_resource (8 subtests) =================
[13:04:34] ================= ttm_resource_init_basic =================
[13:04:34] [PASSED] Init resource in TTM_PL_SYSTEM
[13:04:34] [PASSED] Init resource in TTM_PL_VRAM
[13:04:34] [PASSED] Init resource in a private placement
[13:04:34] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[13:04:34] ============= [PASSED] ttm_resource_init_basic =============
[13:04:34] [PASSED] ttm_resource_init_pinned
[13:04:34] [PASSED] ttm_resource_fini_basic
[13:04:34] [PASSED] ttm_resource_manager_init_basic
[13:04:34] [PASSED] ttm_resource_manager_usage_basic
[13:04:34] [PASSED] ttm_resource_manager_set_used_basic
[13:04:34] [PASSED] ttm_sys_man_alloc_basic
[13:04:34] [PASSED] ttm_sys_man_free_basic
[13:04:34] ================== [PASSED] ttm_resource ===================
[13:04:34] =================== ttm_tt (15 subtests) ===================
[13:04:34] ==================== ttm_tt_init_basic ====================
[13:04:34] [PASSED] Page-aligned size
[13:04:34] [PASSED] Extra pages requested
[13:04:34] ================ [PASSED] ttm_tt_init_basic ================
[13:04:34] [PASSED] ttm_tt_init_misaligned
[13:04:34] [PASSED] ttm_tt_fini_basic
[13:04:34] [PASSED] ttm_tt_fini_sg
[13:04:34] [PASSED] ttm_tt_fini_shmem
[13:04:34] [PASSED] ttm_tt_create_basic
[13:04:34] [PASSED] ttm_tt_create_invalid_bo_type
[13:04:34] [PASSED] ttm_tt_create_ttm_exists
[13:04:34] [PASSED] ttm_tt_create_failed
[13:04:34] [PASSED] ttm_tt_destroy_basic
[13:04:34] [PASSED] ttm_tt_populate_null_ttm
[13:04:34] [PASSED] ttm_tt_populate_populated_ttm
[13:04:34] [PASSED] ttm_tt_unpopulate_basic
[13:04:34] [PASSED] ttm_tt_unpopulate_empty_ttm
[13:04:34] [PASSED] ttm_tt_swapin_basic
[13:04:34] ===================== [PASSED] ttm_tt ======================
[13:04:34] =================== ttm_bo (14 subtests) ===================
[13:04:34] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[13:04:34] [PASSED] Cannot be interrupted and sleeps
[13:04:34] [PASSED] Cannot be interrupted, locks straight away
[13:04:34] [PASSED] Can be interrupted, sleeps
[13:04:34] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[13:04:34] [PASSED] ttm_bo_reserve_locked_no_sleep
[13:04:34] [PASSED] ttm_bo_reserve_no_wait_ticket
[13:04:34] [PASSED] ttm_bo_reserve_double_resv
[13:04:34] [PASSED] ttm_bo_reserve_interrupted
[13:04:34] [PASSED] ttm_bo_reserve_deadlock
[13:04:34] [PASSED] ttm_bo_unreserve_basic
[13:04:34] [PASSED] ttm_bo_unreserve_pinned
[13:04:34] [PASSED] ttm_bo_unreserve_bulk
[13:04:34] [PASSED] ttm_bo_fini_basic
[13:04:34] [PASSED] ttm_bo_fini_shared_resv
[13:04:34] [PASSED] ttm_bo_pin_basic
[13:04:34] [PASSED] ttm_bo_pin_unpin_resource
[13:04:34] [PASSED] ttm_bo_multiple_pin_one_unpin
[13:04:34] ===================== [PASSED] ttm_bo ======================
[13:04:34] ============== ttm_bo_validate (22 subtests) ===============
[13:04:34] ============== ttm_bo_init_reserved_sys_man ===============
[13:04:34] [PASSED] Buffer object for userspace
[13:04:34] [PASSED] Kernel buffer object
[13:04:34] [PASSED] Shared buffer object
[13:04:34] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[13:04:34] ============== ttm_bo_init_reserved_mock_man ==============
[13:04:34] [PASSED] Buffer object for userspace
[13:04:34] [PASSED] Kernel buffer object
[13:04:34] [PASSED] Shared buffer object
[13:04:34] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[13:04:34] [PASSED] ttm_bo_init_reserved_resv
[13:04:34] ================== ttm_bo_validate_basic ==================
[13:04:34] [PASSED] Buffer object for userspace
[13:04:34] [PASSED] Kernel buffer object
[13:04:34] [PASSED] Shared buffer object
[13:04:34] ============== [PASSED] ttm_bo_validate_basic ==============
[13:04:34] [PASSED] ttm_bo_validate_invalid_placement
[13:04:34] ============= ttm_bo_validate_same_placement ==============
[13:04:34] [PASSED] System manager
[13:04:34] [PASSED] VRAM manager
[13:04:34] ========= [PASSED] ttm_bo_validate_same_placement ==========
[13:04:34] [PASSED] ttm_bo_validate_failed_alloc
[13:04:34] [PASSED] ttm_bo_validate_pinned
[13:04:34] [PASSED] ttm_bo_validate_busy_placement
[13:04:34] ================ ttm_bo_validate_multihop =================
[13:04:34] [PASSED] Buffer object for userspace
[13:04:34] [PASSED] Kernel buffer object
[13:04:34] [PASSED] Shared buffer object
[13:04:34] ============ [PASSED] ttm_bo_validate_multihop =============
[13:04:34] ========== ttm_bo_validate_no_placement_signaled ==========
[13:04:34] [PASSED] Buffer object in system domain, no page vector
[13:04:34] [PASSED] Buffer object in system domain with an existing page vector
[13:04:34] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[13:04:34] ======== ttm_bo_validate_no_placement_not_signaled ========
[13:04:34] [PASSED] Buffer object for userspace
[13:04:34] [PASSED] Kernel buffer object
[13:04:34] [PASSED] Shared buffer object
[13:04:34] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[13:04:34] [PASSED] ttm_bo_validate_move_fence_signaled
[13:04:34] ========= ttm_bo_validate_move_fence_not_signaled =========
[13:04:34] [PASSED] Waits for GPU
[13:04:34] [PASSED] Tries to lock straight away
[13:04:34] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[13:04:34] [PASSED] ttm_bo_validate_swapout
[13:04:34] [PASSED] ttm_bo_validate_happy_evict
[13:04:34] [PASSED] ttm_bo_validate_all_pinned_evict
[13:04:34] [PASSED] ttm_bo_validate_allowed_only_evict
[13:04:34] [PASSED] ttm_bo_validate_deleted_evict
[13:04:34] [PASSED] ttm_bo_validate_busy_domain_evict
[13:04:34] [PASSED] ttm_bo_validate_evict_gutting
[13:04:34] [PASSED] ttm_bo_validate_recrusive_evict
[13:04:34] ================= [PASSED] ttm_bo_validate =================
[13:04:34] ============================================================
[13:04:34] Testing complete. Ran 106 tests: passed: 106
[13:04:34] Elapsed time: 12.400s total, 1.775s configuring, 10.410s building, 0.176s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[13:04:35] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:04:36] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:04:45] Starting KUnit Kernel (1/1)...
[13:04:45] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:04:45] ============= refcount_interrupt (4 subtests) ==============
[13:04:45] [PASSED] test_single_irq_change
[13:04:45] [PASSED] test_nested_irq_change
[13:04:45] [PASSED] test_multiple_irq_change
[13:04:45] [PASSED] test_irq_save
[13:04:45] =============== [PASSED] refcount_interrupt ================
[13:04:45] =============== dma-buf-fence (12 subtests) ================
[13:04:45] [PASSED] test_sanitycheck
[13:04:45] [PASSED] test_signaling
[13:04:45] [PASSED] test_add_callback
[13:04:45] [PASSED] test_late_add_callback
[13:04:45] [PASSED] test_rm_callback
[13:04:45] [PASSED] test_late_rm_callback
[13:04:45] [PASSED] test_status
[13:04:45] [PASSED] test_error
[13:04:45] [PASSED] test_wait
[13:04:45] [PASSED] test_wait_timeout
[13:04:45] [PASSED] test_stub
[13:04:45] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[13:04:45] ================== [PASSED] dma-buf-fence ==================
[13:04:45] ============ dma-buf-fence-chain (11 subtests) =============
[13:04:45] [PASSED] test_sanitycheck
[13:04:45] [PASSED] test_find_seqno
[13:04:45] [PASSED] test_find_signaled
[13:04:45] [PASSED] test_find_out_of_order
[13:04:50] [PASSED] test_find_gap
[13:04:50] [PASSED] test_find_race
[13:04:50] [PASSED] test_signal_forward
[13:04:50] [PASSED] test_signal_backward
[13:04:50] [PASSED] test_wait_forward
[13:04:50] [PASSED] test_wait_backward
[13:04:50] [PASSED] test_wait_random
[13:04:50] =============== [PASSED] dma-buf-fence-chain ===============
[13:04:50] ============ dma-buf-fence-unwrap (10 subtests) ============
[13:04:50] [PASSED] test_sanitycheck
[13:04:50] [PASSED] test_unwrap_array
[13:04:50] [PASSED] test_unwrap_chain
[13:04:50] [PASSED] test_unwrap_chain_array
[13:04:50] [PASSED] test_unwrap_merge
[13:04:50] [PASSED] test_unwrap_merge_duplicate
[13:04:50] [PASSED] test_unwrap_merge_seqno
[13:04:50] [PASSED] test_unwrap_merge_order
[13:04:50] [PASSED] test_unwrap_merge_complex
[13:04:50] [PASSED] test_unwrap_merge_complex_seqno
[13:04:50] ============== [PASSED] dma-buf-fence-unwrap ===============
[13:04:50] ================ dma-buf-resv (5 subtests) =================
[13:04:50] [PASSED] test_sanitycheck
[13:04:50] ===================== test_signaling ======================
[13:04:50] [PASSED] kernel
[13:04:50] [PASSED] write
[13:04:50] [PASSED] read
[13:04:50] [PASSED] bookkeep
[13:04:50] ================= [PASSED] test_signaling ==================
[13:04:50] ====================== test_for_each ======================
[13:04:50] [PASSED] kernel
[13:04:50] [PASSED] write
[13:04:50] [PASSED] read
[13:04:50] [PASSED] bookkeep
[13:04:50] ================== [PASSED] test_for_each ==================
[13:04:50] ================= test_for_each_unlocked ==================
[13:04:50] [PASSED] kernel
[13:04:50] [PASSED] write
[13:04:50] [PASSED] read
[13:04:50] [PASSED] bookkeep
[13:04:50] ============= [PASSED] test_for_each_unlocked ==============
[13:04:50] ===================== test_get_fences =====================
[13:04:50] [PASSED] kernel
[13:04:50] [PASSED] write
[13:04:50] [PASSED] read
[13:04:50] [PASSED] bookkeep
[13:04:50] ================= [PASSED] test_get_fences =================
[13:04:50] ================== [PASSED] dma-buf-resv ===================
[13:04:50] ============================================================
[13:04:50] Testing complete. Ran 54 tests: passed: 53, skipped: 1
[13:04:50] Elapsed time: 15.864s total, 1.820s configuring, 8.771s building, 5.259s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 19+ messages in thread