Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path
@ 2026-09-08 16:50 Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 1/8] drm/xe/mmio_gem: forbid VMA split Matthew Auld
                   ` (10 more replies)
  0 siblings, 11 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe

Picking up the series from Ilia:
https://lore.kernel.org/intel-xe/20260723161832.137153-1-ilia.levi@intel.com/

This series fixes several issues in xe_mmio_gem, introduced by
1ffcf8b8ae8a ("drm/xe: Support for mmap-ing mmio regions"):
split VMA handling, WB/UC aliasing of the dummy page, a rb-tree
leak on destroy, dummy page accumulation, and use-after-free / MMIO
access after destroy. It also converts the existing PCI barrier mmap
to build on xe_mmio_gem now that the infrastructure is in place.

v5 (Thomas):
- Tweak "convert PCI barrier mmap to use xe_mmio_gem" to use scoped_guard()
v4:
- One extra patch for VM_EXEC and DONTCOPY.
- Tweak the commit message in "use write-back mapping for dummy page" wrt x86.
v3: (Matt Auld)
- New patch using the xe_mmio_gem infra for PCI barrier mmap
- New patch for rejecting VMA split
- Using dma_resv lock for synchronization
- SIGBUS instead of dummy page on access after destroy
- Some changes in patch splitting (e.g. the vm_pgoff handling now lives
  in the destroy-flow patch alongside the zap that needs it)
v2:
- New patch 1/5: fix dummy page WB/UC aliasing (Sashiko)
- Patch 2/5: no longer modifies xe_mmio_gem_vm_fault_dummy_page() (handled by 1/5)
- Patch 3/5: unchanged
- Patch 4/5: compute pfn inside scoped_guard
- Patch 5/5: adapt to xe_mmio_gem_vm_fault_dummy_page() signature change, fix "objecthas" typo

-- 
2.55.0


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

* [PATCH v5 1/8] drm/xe/mmio_gem: forbid VMA split
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
@ 2026-09-08 16:50 ` Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 2/8] drm/xe/mmio_gem: use write-back mapping for dummy page Matthew Auld
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe; +Cc: Ilia Levi

From: Ilia Levi <ilia.levi@intel.com>

The fault handler assumes it always operates on a VMA spanning the entire
GEM object. This does not hold when the VMA has been split, e.g. by a
partial munmap or mprotect. In that case the handler may map wrong
physical pages or cause SIGBUS.

Handle this by forbidding VMA split, as partial unmaps are not deemed
useful for MMIO GEMs.

Suggested-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Fixes: 1ffcf8b8ae8a ("drm/xe: Support for mmap-ing mmio regions")
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/xe/xe_mmio_gem.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
index 3741ae60f532..d54477b93b6e 100644
--- a/drivers/gpu/drm/xe/xe_mmio_gem.c
+++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
@@ -39,10 +39,20 @@ struct xe_mmio_gem {
 	phys_addr_t phys_addr;
 };
 
+static int xe_mmio_gem_vm_may_split(struct vm_area_struct *area, unsigned long addr)
+{
+	/*
+	 * Forbid splitting. Together with VM_DONTEXPAND, this keeps the VMA
+	 * matching the GEM object exactly.
+	 */
+	return -EINVAL;
+}
+
 static const struct vm_operations_struct vm_ops = {
 	.open = drm_gem_vm_open,
 	.close = drm_gem_vm_close,
 	.fault = xe_mmio_gem_vm_fault,
+	.may_split = xe_mmio_gem_vm_may_split,
 };
 
 static const struct drm_gem_object_funcs xe_mmio_gem_funcs = {
-- 
2.55.0


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

* [PATCH v5 2/8] drm/xe/mmio_gem: use write-back mapping for dummy page
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 1/8] drm/xe/mmio_gem: forbid VMA split Matthew Auld
@ 2026-09-08 16:50 ` Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 3/8] drm/xe/mmio_gem: simplify fault handler loop Matthew Auld
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe; +Cc: Ilia Levi, Sashiko

From: Ilia Levi <ilia.levi@intel.com>

Currently vmf_insert_pfn() maps the dummy page as UC, inheriting the
VMA's page protection which was set for the real MMIO region. This
conflicts with the direct map's WB mapping of the same page, creating a
cache type alias which is architecturally undefined on some platforms.

Use vmf_insert_pfn_prot() with a WB pgprot instead. Also simplify to
fault in the requested page instead of the whole VMA.

Fixes: 1ffcf8b8ae8a ("drm/xe: Support for mmap-ing mmio regions")
Reported-by: Sashiko <sashiko-bot@kernel.org>
Closes: https://sashiko.dev/#/patchset/20260525125801.975038-6-ilia.levi%40intel.com
Assisted-by: GitHub-Copilot:claude-opus-4.6
Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/xe/xe_mmio_gem.c | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
index d54477b93b6e..96f3bf46fd75 100644
--- a/drivers/gpu/drm/xe/xe_mmio_gem.c
+++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
@@ -172,14 +172,13 @@ static void xe_mmio_gem_release_dummy_page(struct drm_device *dev, void *res)
 	__free_page((struct page *)res);
 }
 
-static vm_fault_t xe_mmio_gem_vm_fault_dummy_page(struct vm_area_struct *vma)
+static vm_fault_t xe_mmio_gem_vm_fault_dummy_page(struct vm_fault *vmf)
 {
+	struct vm_area_struct *vma = vmf->vma;
 	struct drm_gem_object *base = vma->vm_private_data;
 	struct drm_device *dev = base->dev;
-	vm_fault_t ret = VM_FAULT_NOPAGE;
 	struct page *page;
 	unsigned long pfn;
-	unsigned long i;
 
 	page = alloc_page(GFP_KERNEL | __GFP_ZERO);
 	if (!page)
@@ -190,16 +189,8 @@ static vm_fault_t xe_mmio_gem_vm_fault_dummy_page(struct vm_area_struct *vma)
 
 	pfn = page_to_pfn(page);
 
-	/* Map the entire VMA to the same dummy page */
-	for (i = 0; i < base->size; i += PAGE_SIZE) {
-		unsigned long addr = vma->vm_start + i;
-
-		ret = vmf_insert_pfn(vma, addr, pfn);
-		if (ret & VM_FAULT_ERROR)
-			break;
-	}
-
-	return ret;
+	return vmf_insert_pfn_prot(vma, vmf->address, pfn,
+				   vm_get_page_prot(vma->vm_flags));
 }
 
 static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *vmf)
@@ -219,7 +210,7 @@ static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *vmf)
 		 * It is assumed the userspace will receive the notification via some
 		 * other channel (e.g. drm uevent).
 		 */
-		return xe_mmio_gem_vm_fault_dummy_page(vma);
+		return xe_mmio_gem_vm_fault_dummy_page(vmf);
 	}
 
 	for (i = 0; i < base->size; i += PAGE_SIZE) {
-- 
2.55.0


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

* [PATCH v5 3/8] drm/xe/mmio_gem: simplify fault handler loop
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 1/8] drm/xe/mmio_gem: forbid VMA split Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 2/8] drm/xe/mmio_gem: use write-back mapping for dummy page Matthew Auld
@ 2026-09-08 16:50 ` Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 4/8] drm/xe/mmio_gem: Revoke drm_vma_node on xe_mmio_gem destroy Matthew Auld
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe; +Cc: Ilia Levi

From: Ilia Levi <ilia.levi@intel.com>

Make the iteration over the addresses in the VMA more explicit.
No functional change, as the VMA matches the GEM object exactly.

Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/xe/xe_mmio_gem.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
index 96f3bf46fd75..3b6d04efe81a 100644
--- a/drivers/gpu/drm/xe/xe_mmio_gem.c
+++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
@@ -200,7 +200,7 @@ static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *vmf)
 	struct xe_mmio_gem *obj = to_xe_mmio_gem(base);
 	struct drm_device *dev = base->dev;
 	vm_fault_t ret = VM_FAULT_NOPAGE;
-	unsigned long i;
+	unsigned long addr, pfn;
 	int idx;
 
 	if (!drm_dev_enter(dev, &idx)) {
@@ -213,13 +213,13 @@ static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *vmf)
 		return xe_mmio_gem_vm_fault_dummy_page(vmf);
 	}
 
-	for (i = 0; i < base->size; i += PAGE_SIZE) {
-		unsigned long addr = vma->vm_start + i;
-		unsigned long phys_addr = obj->phys_addr + i;
-
-		ret = vmf_insert_pfn(vma, addr, PHYS_PFN(phys_addr));
+	pfn = PHYS_PFN(obj->phys_addr);
+	for (addr = vma->vm_start; addr < vma->vm_end; addr += PAGE_SIZE) {
+		ret = vmf_insert_pfn(vma, addr, pfn);
 		if (ret & VM_FAULT_ERROR)
 			break;
+
+		pfn++;
 	}
 
 	drm_dev_exit(idx);
-- 
2.55.0


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

* [PATCH v5 4/8] drm/xe/mmio_gem: Revoke drm_vma_node on xe_mmio_gem destroy
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
                   ` (2 preceding siblings ...)
  2026-09-08 16:50 ` [PATCH v5 3/8] drm/xe/mmio_gem: simplify fault handler loop Matthew Auld
@ 2026-09-08 16:50 ` Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 5/8] drm/xe/mmio_gem: cache the dummy page per object Matthew Auld
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe; +Cc: Shuicheng Lin, Ilia Levi

From: Shuicheng Lin <shuicheng.lin@intel.com>

xe_mmio_gem_create() calls drm_vma_node_allow() but nothing ever calls
drm_vma_node_revoke(). The drm_vma_offset_file rb-tree entry allocated
by drm_vma_node_allow() is not freed by drm_gem_object_release(), so
it is leaked on every create/destroy cycle.

Add a struct drm_file * parameter to xe_mmio_gem_destroy() and call
drm_vma_node_revoke() from there, mirroring the drm_vma_node_allow()
call in xe_mmio_gem_create().

Fixes: 1ffcf8b8ae8a ("drm/xe: Support for mmap-ing mmio regions")
Suggested-by: Ilia Levi <ilia.levi@intel.com>
Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Ilia Levi <ilia.levi@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/xe/xe_mmio_gem.c | 4 +++-
 drivers/gpu/drm/xe/xe_mmio_gem.h | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
index 3b6d04efe81a..3c42d8358c7d 100644
--- a/drivers/gpu/drm/xe/xe_mmio_gem.c
+++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
@@ -138,14 +138,16 @@ static void xe_mmio_gem_free(struct drm_gem_object *base)
 /**
  * xe_mmio_gem_destroy - Destroy the GEM object that exposes an MMIO region
  * @gem: the GEM object to destroy
+ * @file: DRM file descriptor previously passed to xe_mmio_gem_create()
  *
  * This function releases resources associated with the GEM object created by
  * xe_mmio_gem_create().
  *
  * See: "Exposing MMIO regions to userspace"
  */
-void xe_mmio_gem_destroy(struct xe_mmio_gem *gem)
+void xe_mmio_gem_destroy(struct xe_mmio_gem *gem, struct drm_file *file)
 {
+	drm_vma_node_revoke(&gem->base.vma_node, file);
 	xe_mmio_gem_free(&gem->base);
 }
 
diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.h b/drivers/gpu/drm/xe/xe_mmio_gem.h
index 4b76d5586ebb..80d7795f07c8 100644
--- a/drivers/gpu/drm/xe/xe_mmio_gem.h
+++ b/drivers/gpu/drm/xe/xe_mmio_gem.h
@@ -15,6 +15,6 @@ struct xe_mmio_gem;
 struct xe_mmio_gem *xe_mmio_gem_create(struct xe_device *xe, struct drm_file *file,
 				       phys_addr_t phys_addr, size_t size);
 u64 xe_mmio_gem_mmap_offset(struct xe_mmio_gem *gem);
-void xe_mmio_gem_destroy(struct xe_mmio_gem *gem);
+void xe_mmio_gem_destroy(struct xe_mmio_gem *gem, struct drm_file *file);
 
 #endif /* _XE_MMIO_GEM_H_ */
-- 
2.55.0


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

* [PATCH v5 5/8] drm/xe/mmio_gem: cache the dummy page per object
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
                   ` (3 preceding siblings ...)
  2026-09-08 16:50 ` [PATCH v5 4/8] drm/xe/mmio_gem: Revoke drm_vma_node on xe_mmio_gem destroy Matthew Auld
@ 2026-09-08 16:50 ` Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 6/8] drm/xe/mmio_gem: fix destroy flow Matthew Auld
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe; +Cc: Ilia Levi

From: Ilia Levi <ilia.levi@intel.com>

Currently, when the fault handler provides a dummy page, it
allocates a new one on every invocation and ties its lifetime to
the drm_device via drmm_add_action_or_reset(). Concurrent faults
after hot-unplug therefore accumulate pages that persist until
device teardown.

Cache a single dummy page in the xe_mmio_gem object and use dma_resv
lock to protect its allocation. Free it with the object.

v2: use dma_resv lock to protect the allocation (Matt Auld)

Assisted-by: GitHub-Copilot:claude-opus-4.6
Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/xe/xe_mmio_gem.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
index 3c42d8358c7d..970b1e2f4981 100644
--- a/drivers/gpu/drm/xe/xe_mmio_gem.c
+++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
@@ -5,9 +5,9 @@
 
 #include "xe_mmio_gem.h"
 
+#include <linux/dma-resv.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_gem.h>
-#include <drm/drm_managed.h>
 
 #include "xe_device_types.h"
 
@@ -37,6 +37,7 @@ static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *);
 struct xe_mmio_gem {
 	struct drm_gem_object base;
 	phys_addr_t phys_addr;
+	struct page *dummy_page; /* protected by the GEM's dma_resv */
 };
 
 static int xe_mmio_gem_vm_may_split(struct vm_area_struct *area, unsigned long addr)
@@ -131,6 +132,8 @@ static void xe_mmio_gem_free(struct drm_gem_object *base)
 {
 	struct xe_mmio_gem *obj = to_xe_mmio_gem(base);
 
+	if (obj->dummy_page)
+		__free_page(obj->dummy_page);
 	drm_gem_object_release(base);
 	kfree(obj);
 }
@@ -169,27 +172,29 @@ static int xe_mmio_gem_mmap(struct drm_gem_object *base, struct vm_area_struct *
 	return 0;
 }
 
-static void xe_mmio_gem_release_dummy_page(struct drm_device *dev, void *res)
+static int alloc_dummy_page_if_needed(struct drm_gem_object *base)
 {
-	__free_page((struct page *)res);
+	struct xe_mmio_gem *obj = to_xe_mmio_gem(base);
+
+	dma_resv_lock(base->resv, NULL);
+	if (!obj->dummy_page)
+		obj->dummy_page = alloc_page(GFP_KERNEL | __GFP_ZERO);
+	dma_resv_unlock(base->resv);
+
+	return obj->dummy_page ? 0 : -ENOMEM;
 }
 
 static vm_fault_t xe_mmio_gem_vm_fault_dummy_page(struct vm_fault *vmf)
 {
 	struct vm_area_struct *vma = vmf->vma;
 	struct drm_gem_object *base = vma->vm_private_data;
-	struct drm_device *dev = base->dev;
-	struct page *page;
+	struct xe_mmio_gem *obj = to_xe_mmio_gem(base);
 	unsigned long pfn;
 
-	page = alloc_page(GFP_KERNEL | __GFP_ZERO);
-	if (!page)
+	if (alloc_dummy_page_if_needed(base))
 		return VM_FAULT_OOM;
 
-	if (drmm_add_action_or_reset(dev, xe_mmio_gem_release_dummy_page, page))
-		return VM_FAULT_OOM;
-
-	pfn = page_to_pfn(page);
+	pfn = page_to_pfn(obj->dummy_page);
 
 	return vmf_insert_pfn_prot(vma, vmf->address, pfn,
 				   vm_get_page_prot(vma->vm_flags));
-- 
2.55.0


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

* [PATCH v5 6/8] drm/xe/mmio_gem: fix destroy flow
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
                   ` (4 preceding siblings ...)
  2026-09-08 16:50 ` [PATCH v5 5/8] drm/xe/mmio_gem: cache the dummy page per object Matthew Auld
@ 2026-09-08 16:50 ` Matthew Auld
  2026-09-08 17:12   ` sashiko-bot
  2026-09-08 16:50 ` [PATCH v5 7/8] drm/xe/mmio_gem: reject VM_EXEC and drop VM_DONTCOPY Matthew Auld
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe; +Cc: Ilia Levi

From: Ilia Levi <ilia.levi@intel.com>

xe_mmio_gem_destroy() currently frees the GEM object directly, bypassing
reference counting.  Since existing VMAs hold a reference and the fault
handler accesses the object through vma->vm_private_data, this is
use-after-free.  Additionally, nothing prevents the fault handler from
installing PTEs to the real MMIO after destroy.

Fix this with proper synchronization and refcounting. Also, do not set
vm_pgoff to zero. Many DRM drivers do this because helpers like
dma_mmap_pages() interpret vm_pgoff as an intra-buffer page offset;
leaving the DRM fake offset there would break these helpers.
Those drivers can get away with zeroing it because they map eagerly -
all PTEs are established before mmap returns, so vm_pgoff is never
consulted again. Our driver does not use such helpers and the newly
introduced call to drm_vma_node_unmap() relies on vm_pgoff being untouched.

v2: (Matt Auld)
- use dma_resv lock to serialize fault handler with destroy
- SIGBUS on access after destroy

Fixes: 1ffcf8b8ae8a ("drm/xe: Support for mmap-ing mmio regions")
Assisted-by: GitHub-Copilot:claude-opus-4.6
Signed-off-by: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/xe/xe_mmio_gem.c | 42 ++++++++++++++++++++++++++------
 1 file changed, 35 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
index 970b1e2f4981..5ffe03d36190 100644
--- a/drivers/gpu/drm/xe/xe_mmio_gem.c
+++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
@@ -38,6 +38,7 @@ struct xe_mmio_gem {
 	struct drm_gem_object base;
 	phys_addr_t phys_addr;
 	struct page *dummy_page; /* protected by the GEM's dma_resv */
+	bool destroyed; /* protected by the GEM's dma_resv */
 };
 
 static int xe_mmio_gem_vm_may_split(struct vm_area_struct *area, unsigned long addr)
@@ -150,8 +151,22 @@ static void xe_mmio_gem_free(struct drm_gem_object *base)
  */
 void xe_mmio_gem_destroy(struct xe_mmio_gem *gem, struct drm_file *file)
 {
-	drm_vma_node_revoke(&gem->base.vma_node, file);
-	xe_mmio_gem_free(&gem->base);
+	struct drm_gem_object *base = &gem->base;
+	struct drm_device *dev = base->dev;
+
+	drm_vma_node_revoke(&base->vma_node, file);
+
+	dma_resv_lock(base->resv, NULL);
+	gem->destroyed = true;
+	dma_resv_unlock(base->resv);
+	/*
+	 * Setting 'destroyed' under lock takes care of the subsequent faults.
+	 * Zap the existing PTEs to cut off access to the real MMIO through
+	 * currently mapped pages.
+	 */
+	drm_vma_node_unmap(&base->vma_node, dev->anon_inode->i_mapping);
+
+	drm_gem_object_put(base);
 }
 
 static int xe_mmio_gem_mmap(struct drm_gem_object *base, struct vm_area_struct *vma)
@@ -162,8 +177,6 @@ static int xe_mmio_gem_mmap(struct drm_gem_object *base, struct vm_area_struct *
 	if ((vma->vm_flags & VM_SHARED) == 0)
 		return -EINVAL;
 
-	/* Set vm_pgoff (used as a fake buffer offset by DRM) to 0 */
-	vma->vm_pgoff = 0;
 	vma->vm_page_prot = pgprot_noncached(vma_get_page_prot(vma));
 	vm_flags_set(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP |
 		     VM_DONTCOPY | VM_NORESERVE);
@@ -176,10 +189,9 @@ static int alloc_dummy_page_if_needed(struct drm_gem_object *base)
 {
 	struct xe_mmio_gem *obj = to_xe_mmio_gem(base);
 
-	dma_resv_lock(base->resv, NULL);
+	dma_resv_assert_held(base->resv);
 	if (!obj->dummy_page)
 		obj->dummy_page = alloc_page(GFP_KERNEL | __GFP_ZERO);
-	dma_resv_unlock(base->resv);
 
 	return obj->dummy_page ? 0 : -ENOMEM;
 }
@@ -200,7 +212,7 @@ static vm_fault_t xe_mmio_gem_vm_fault_dummy_page(struct vm_fault *vmf)
 				   vm_get_page_prot(vma->vm_flags));
 }
 
-static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *vmf)
+static vm_fault_t xe_mmio_gem_vm_fault_locked(struct vm_fault *vmf)
 {
 	struct vm_area_struct *vma = vmf->vma;
 	struct drm_gem_object *base = vma->vm_private_data;
@@ -210,6 +222,10 @@ static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *vmf)
 	unsigned long addr, pfn;
 	int idx;
 
+	dma_resv_assert_held(base->resv);
+	if (obj->destroyed)
+		return VM_FAULT_SIGBUS;
+
 	if (!drm_dev_enter(dev, &idx)) {
 		/*
 		 * Provide a dummy page to avoid SIGBUS for events such as hot-unplug.
@@ -232,3 +248,15 @@ static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *vmf)
 	drm_dev_exit(idx);
 	return ret;
 }
+
+static vm_fault_t xe_mmio_gem_vm_fault(struct vm_fault *vmf)
+{
+	struct vm_area_struct *vma = vmf->vma;
+	struct drm_gem_object *base = vma->vm_private_data;
+	vm_fault_t ret;
+
+	dma_resv_lock(base->resv, NULL);
+	ret = xe_mmio_gem_vm_fault_locked(vmf);
+	dma_resv_unlock(base->resv);
+	return ret;
+}
-- 
2.55.0


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

* [PATCH v5 7/8] drm/xe/mmio_gem: reject VM_EXEC and drop VM_DONTCOPY
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
                   ` (5 preceding siblings ...)
  2026-09-08 16:50 ` [PATCH v5 6/8] drm/xe/mmio_gem: fix destroy flow Matthew Auld
@ 2026-09-08 16:50 ` Matthew Auld
  2026-09-08 16:50 ` [PATCH v5 8/8] drm/xe: convert PCI barrier mmap to use xe_mmio_gem Matthew Auld
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe; +Cc: Thomas Hellström, Tejas Upadhyay, Matthew Brost, Ilia Levi

Hardware MMIO registers should never be executable; reject VM_EXEC
at mmap time and clear VM_MAYEXEC to prevent later mprotect attempts.

Also drop VM_DONTCOPY so that child processes across fork() can
inherit the mapping and lazily fault in the PFNs, matching standard
DRM GEM semantics and making the existing drm_gem_vm_open() callback
functional.

This aligns with existing PCI_BARRIER, which will use this in the next
patch. We don't want any noticeable behaviour change there, since this
will be user visible. This will also be the first user.

Assisted-by: LLM
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 drivers/gpu/drm/xe/xe_mmio_gem.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
index 5ffe03d36190..3cdc9538957d 100644
--- a/drivers/gpu/drm/xe/xe_mmio_gem.c
+++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
@@ -177,9 +177,12 @@ static int xe_mmio_gem_mmap(struct drm_gem_object *base, struct vm_area_struct *
 	if ((vma->vm_flags & VM_SHARED) == 0)
 		return -EINVAL;
 
+	if (vma->vm_flags & VM_EXEC)
+		return -EINVAL;
+
 	vma->vm_page_prot = pgprot_noncached(vma_get_page_prot(vma));
-	vm_flags_set(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP |
-		     VM_DONTCOPY | VM_NORESERVE);
+	vm_flags_mod(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP |
+		     VM_NORESERVE, VM_MAYEXEC);
 
 	/* Defer actual mapping to the fault handler. */
 	return 0;
-- 
2.55.0


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

* [PATCH v5 8/8] drm/xe: convert PCI barrier mmap to use xe_mmio_gem
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
                   ` (6 preceding siblings ...)
  2026-09-08 16:50 ` [PATCH v5 7/8] drm/xe/mmio_gem: reject VM_EXEC and drop VM_DONTCOPY Matthew Auld
@ 2026-09-08 16:50 ` Matthew Auld
  2026-09-08 17:07   ` Thomas Hellström
  2026-09-08 17:23   ` sashiko-bot
  2026-09-08 16:59 ` ✓ CI.KUnit: success for drm/xe/mmio_gem: fix fault handler and destroy path (rev5) Patchwork
                   ` (2 subsequent siblings)
  10 siblings, 2 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 16:50 UTC (permalink / raw)
  To: intel-xe; +Cc: Thomas Hellström, Tejas Upadhyay, Matthew Brost, Ilia Levi

Convert the PCI barrier mmap over to use xe_mmio_gem, which is a good
match for this functionality. This has the following advantages:

 1. Removes a bunch of code.
 2. Replaces the fragile hard coded fake offset design.
 3. Adds the first user for xe_mmio_gem, which is preferred over nuking
    it. There are also potentially other upcoming usecases wanting this
    type of functionality, so having standard component to do this would
    be good.

There shouldn't be any big functional change here. From userspace pov,
they still query the fake offset like before, just that now it is no
longer hard coded in the KMD.

v2 (Thomas):
  - Prefer scoped_guard(). Also, just annotate ALL locations, even if
    not strictly needed. Reflect that in the kernel-doc. This will also
    shut up static analysis tools.

Assisted-by: LLM
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Ilia Levi <ilia.levi@intel.com>
Reviewed-by: Ilia Levi <ilia.levi@intel.com>
---
 drivers/gpu/drm/xe/xe_bo.c           |  51 +++++++++----
 drivers/gpu/drm/xe/xe_bo.h           |   1 -
 drivers/gpu/drm/xe/xe_device.c       | 106 +++------------------------
 drivers/gpu/drm/xe/xe_device_types.h |  13 ++++
 4 files changed, 61 insertions(+), 110 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index b162753cebb7..9f3f0cb95afa 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -28,6 +28,7 @@
 #include "xe_ggtt.h"
 #include "xe_map.h"
 #include "xe_migrate.h"
+#include "xe_mmio_gem.h"
 #include "xe_pat.h"
 #include "xe_pm.h"
 #include "xe_preempt_fence.h"
@@ -3664,6 +3665,39 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
 	return err;
 }
 
+static int xe_gem_pci_barrier_mmap_offset(struct xe_device *xe, struct drm_file *file,
+					  struct drm_xe_gem_mmap_offset *args)
+{
+	struct xe_file *xef = file->driver_priv;
+	struct xe_mmio_gem **barrier = &xef->mmio_gem.pci_barrier;
+
+	if (XE_IOCTL_DBG(xe, !IS_DGFX(xe)))
+		return -EINVAL;
+
+	if (XE_IOCTL_DBG(xe, args->handle))
+		return -EINVAL;
+
+	scoped_guard(mutex, &xef->mmio_gem.lock) {
+		if (!*barrier) {
+			phys_addr_t phys_addr;
+
+#define LAST_DB_PAGE_OFFSET 0x7ff000
+			phys_addr = pci_resource_start(to_pci_dev(xe->drm.dev), 0) +
+				LAST_DB_PAGE_OFFSET;
+			*barrier = xe_mmio_gem_create(xe, file, phys_addr, SZ_4K);
+			if (IS_ERR(*barrier)) {
+				int err = PTR_ERR(*barrier);
+
+				*barrier = NULL;
+				return err;
+			}
+		}
+
+		args->offset = xe_mmio_gem_mmap_offset(*barrier);
+	}
+	return 0;
+}
+
 int xe_gem_mmap_offset_ioctl(struct drm_device *dev, void *data,
 			     struct drm_file *file)
 {
@@ -3679,21 +3713,8 @@ int xe_gem_mmap_offset_ioctl(struct drm_device *dev, void *data,
 			 ~DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER))
 		return -EINVAL;
 
-	if (args->flags & DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER) {
-		if (XE_IOCTL_DBG(xe, !IS_DGFX(xe)))
-			return -EINVAL;
-
-		if (XE_IOCTL_DBG(xe, args->handle))
-			return -EINVAL;
-
-		if (XE_IOCTL_DBG(xe, PAGE_SIZE > SZ_4K))
-			return -EINVAL;
-
-		BUILD_BUG_ON(((XE_PCI_BARRIER_MMAP_OFFSET >> XE_PTE_SHIFT) +
-			      SZ_4K) >= DRM_FILE_PAGE_OFFSET_START);
-		args->offset = XE_PCI_BARRIER_MMAP_OFFSET;
-		return 0;
-	}
+	if (args->flags & DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER)
+		return xe_gem_pci_barrier_mmap_offset(xe, file, args);
 
 	gem_obj = drm_gem_object_lookup(file, args->handle);
 	if (XE_IOCTL_DBG(xe, !gem_obj))
diff --git a/drivers/gpu/drm/xe/xe_bo.h b/drivers/gpu/drm/xe/xe_bo.h
index eede678ad303..290ca624e2a7 100644
--- a/drivers/gpu/drm/xe/xe_bo.h
+++ b/drivers/gpu/drm/xe/xe_bo.h
@@ -87,7 +87,6 @@
 
 #define XE_BO_PROPS_INVALID	(-1)
 
-#define XE_PCI_BARRIER_MMAP_OFFSET	(0x50 << XE_PTE_SHIFT)
 
 /**
  * enum xe_madv_purgeable_state - Buffer object purgeable state enumeration
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 8583b2e9ecf4..205cb4e7f9e8 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -50,6 +50,7 @@
 #include "xe_late_bind_fw.h"
 #include "xe_log.h"
 #include "xe_mmio.h"
+#include "xe_mmio_gem.h"
 #include "xe_module.h"
 #include "xe_nvm.h"
 #include "xe_oa.h"
@@ -111,6 +112,8 @@ static int xe_file_open(struct drm_device *dev, struct drm_file *file)
 	mutex_init(&xef->exec_queue.lock);
 	xa_init_flags(&xef->exec_queue.xa, XA_FLAGS_ALLOC1);
 
+	mutex_init(&xef->mmio_gem.lock);
+
 	file->driver_priv = xef;
 	kref_init(&xef->refcount);
 
@@ -133,6 +136,8 @@ static void xe_file_destroy(struct kref *ref)
 	xa_destroy(&xef->vm.xa);
 	mutex_destroy(&xef->vm.lock);
 
+	mutex_destroy(&xef->mmio_gem.lock);
+
 	xe_drm_client_put(xef->client);
 	kfree(xef->process_name);
 	kfree(xef);
@@ -189,6 +194,13 @@ static void xe_file_close(struct drm_device *dev, struct drm_file *file)
 	xa_for_each(&xef->vm.xa, idx, vm)
 		xe_vm_close_and_put(vm);
 
+	scoped_guard(mutex, &xef->mmio_gem.lock) {
+		if (xef->mmio_gem.pci_barrier) {
+			xe_mmio_gem_destroy(xef->mmio_gem.pci_barrier, file);
+			xef->mmio_gem.pci_barrier = NULL;
+		}
+	}
+
 	xe_file_put(xef);
 }
 
@@ -258,95 +270,6 @@ static long xe_drm_compat_ioctl(struct file *file, unsigned int cmd, unsigned lo
 #define xe_drm_compat_ioctl NULL
 #endif
 
-static void barrier_open(struct vm_area_struct *vma)
-{
-	drm_dev_get(vma->vm_private_data);
-}
-
-static void barrier_close(struct vm_area_struct *vma)
-{
-	drm_dev_put(vma->vm_private_data);
-}
-
-static void barrier_release_dummy_page(struct drm_device *dev, void *res)
-{
-	struct page *dummy_page = (struct page *)res;
-
-	__free_page(dummy_page);
-}
-
-static vm_fault_t barrier_fault(struct vm_fault *vmf)
-{
-	struct drm_device *dev = vmf->vma->vm_private_data;
-	struct vm_area_struct *vma = vmf->vma;
-	vm_fault_t ret = VM_FAULT_NOPAGE;
-	pgprot_t prot;
-	int idx;
-
-	prot = vma_get_page_prot(vma);
-
-	if (drm_dev_enter(dev, &idx)) {
-		unsigned long pfn;
-
-#define LAST_DB_PAGE_OFFSET 0x7ff001
-		pfn = PHYS_PFN(pci_resource_start(to_pci_dev(dev->dev), 0) +
-				LAST_DB_PAGE_OFFSET);
-		ret = vmf_insert_pfn_prot(vma, vma->vm_start, pfn,
-					  pgprot_noncached(prot));
-		drm_dev_exit(idx);
-	} else {
-		struct page *page;
-
-		/* Allocate new dummy page to map all the VA range in this VMA to it*/
-		page = alloc_page(GFP_KERNEL | __GFP_ZERO);
-		if (!page)
-			return VM_FAULT_OOM;
-
-		/* Set the page to be freed using drmm release action */
-		if (drmm_add_action_or_reset(dev, barrier_release_dummy_page, page))
-			return VM_FAULT_OOM;
-
-		ret = vmf_insert_pfn_prot(vma, vma->vm_start, page_to_pfn(page),
-					  prot);
-	}
-
-	return ret;
-}
-
-static const struct vm_operations_struct vm_ops_barrier = {
-	.open = barrier_open,
-	.close = barrier_close,
-	.fault = barrier_fault,
-};
-
-static int xe_pci_barrier_mmap(struct file *filp,
-			       struct vm_area_struct *vma)
-{
-	struct drm_file *priv = filp->private_data;
-	struct drm_device *dev = priv->minor->dev;
-	struct xe_device *xe = to_xe_device(dev);
-
-	if (!IS_DGFX(xe))
-		return -EINVAL;
-
-	if (vma->vm_end - vma->vm_start > SZ_4K)
-		return -EINVAL;
-
-	if (vma_is_cow_mapping(vma))
-		return -EINVAL;
-
-	if (vma->vm_flags & (VM_READ | VM_EXEC))
-		return -EINVAL;
-
-	vm_flags_clear(vma, VM_MAYREAD | VM_MAYEXEC);
-	vm_flags_set(vma, VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP | VM_IO);
-	vma->vm_ops = &vm_ops_barrier;
-	vma->vm_private_data = dev;
-	drm_dev_get(vma->vm_private_data);
-
-	return 0;
-}
-
 static int xe_mmap(struct file *filp, struct vm_area_struct *vma)
 {
 	struct drm_file *priv = filp->private_data;
@@ -355,11 +278,6 @@ static int xe_mmap(struct file *filp, struct vm_area_struct *vma)
 	if (drm_dev_is_unplugged(dev))
 		return -ENODEV;
 
-	switch (vma->vm_pgoff) {
-	case XE_PCI_BARRIER_MMAP_OFFSET >> XE_PTE_SHIFT:
-		return xe_pci_barrier_mmap(filp, vma);
-	}
-
 	return drm_gem_mmap(filp, vma);
 }
 
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 180d450a6deb..f88bacf63c83 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -40,6 +40,7 @@ struct intel_display;
 struct intel_dg_nvm_dev;
 struct xe_ggtt;
 struct xe_i2c;
+struct xe_mmio_gem;
 struct xe_pat_ops;
 struct xe_pxp;
 struct xe_ttm_stolen_mgr;
@@ -676,6 +677,18 @@ struct xe_file {
 
 	/** @refcount: ref count of this xe file */
 	struct kref refcount;
+
+	/** @mmio_gem: MMIO GEM objects for this xe file */
+	struct {
+		/**
+		 * @mmio_gem.lock: Protects allocation and attach of MMIO
+		 * GEM objects on first use (singleton). All MMIO GEM access
+		 * should be guarded by this lock. Prefer scoped_guard().
+		 */
+		struct mutex lock;
+		/** @mmio_gem.pci_barrier: MMIO GEM object for PCI barrier mmap. */
+		struct xe_mmio_gem *pci_barrier;
+	} mmio_gem;
 };
 
 #endif
-- 
2.55.0


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

* ✓ CI.KUnit: success for drm/xe/mmio_gem: fix fault handler and destroy path (rev5)
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
                   ` (7 preceding siblings ...)
  2026-09-08 16:50 ` [PATCH v5 8/8] drm/xe: convert PCI barrier mmap to use xe_mmio_gem Matthew Auld
@ 2026-09-08 16:59 ` Patchwork
  2026-09-08 17:36 ` ✓ Xe.CI.BAT: " Patchwork
  2026-09-08 22:52 ` ✓ Xe.CI.FULL: " Patchwork
  10 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-09-08 16:59 UTC (permalink / raw)
  To: Levi, Ilia; +Cc: intel-xe

== Series Details ==

Series: drm/xe/mmio_gem: fix fault handler and destroy path (rev5)
URL   : https://patchwork.freedesktop.org/series/167217/
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:57:36] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:57:41] 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:58:01] Starting KUnit Kernel (1/1)...
[16:58:01] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:58:01] ============= refcount_interrupt (4 subtests) ==============
[16:58:01] [PASSED] test_single_irq_change
[16:58:01] [PASSED] test_nested_irq_change
[16:58:01] [PASSED] test_multiple_irq_change
[16:58:01] [PASSED] test_irq_save
[16:58:01] =============== [PASSED] refcount_interrupt ================
[16:58:01] ================= gpu_buddy (14 subtests) ==================
[16:58:01] [PASSED] gpu_test_buddy_alloc_limit
[16:58:01] [PASSED] gpu_test_buddy_alloc_optimistic
[16:58:01] [PASSED] gpu_test_buddy_alloc_pessimistic
[16:58:01] [PASSED] gpu_test_buddy_alloc_pathological
[16:58:01] [PASSED] gpu_test_buddy_alloc_contiguous
[16:58:01] [PASSED] gpu_test_buddy_alloc_clear
[16:58:01] [PASSED] gpu_test_buddy_alloc_range
[16:58:01] [PASSED] gpu_test_buddy_alloc_range_bias
[16:58:02] [PASSED] gpu_test_buddy_fragmentation_performance
[16:58:03] [PASSED] gpu_test_buddy_dirty_tracker_performance
[16:58:03] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[16:58:03] [PASSED] gpu_test_buddy_offset_aligned_allocation
[16:58:03] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[16:58:03] [PASSED] gpu_test_buddy_addr_to_block
[16:58:03] ==================== [PASSED] gpu_buddy ====================
[16:58:03] ============================================================
[16:58:03] Testing complete. Ran 18 tests: passed: 18
[16:58:03] Elapsed time: 26.465s total, 4.349s configuring, 20.199s building, 1.866s 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:58:03] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:58:05] 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:58:38] Starting KUnit Kernel (1/1)...
[16:58:38] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:58:38] ============= refcount_interrupt (4 subtests) ==============
[16:58:38] [PASSED] test_single_irq_change
[16:58:38] [PASSED] test_nested_irq_change
[16:58:38] [PASSED] test_multiple_irq_change
[16:58:38] [PASSED] test_irq_save
[16:58:38] =============== [PASSED] refcount_interrupt ================
[16:58:38] ================== guc_buf (11 subtests) ===================
[16:58:38] [PASSED] test_smallest
[16:58:38] [PASSED] test_largest
[16:58:38] [PASSED] test_granular
[16:58:38] [PASSED] test_unique
[16:58:38] [PASSED] test_overlap
[16:58:38] [PASSED] test_reusable
[16:58:38] [PASSED] test_too_big
[16:58:38] [PASSED] test_flush
[16:58:38] [PASSED] test_lookup
[16:58:38] [PASSED] test_data
[16:58:38] [PASSED] test_class
[16:58:38] ===================== [PASSED] guc_buf =====================
[16:58:38] =================== guc_dbm (7 subtests) ===================
[16:58:38] [PASSED] test_empty
[16:58:38] [PASSED] test_default
[16:58:38] ======================== test_size  ========================
[16:58:38] [PASSED] 4
[16:58:38] [PASSED] 8
[16:58:38] [PASSED] 32
[16:58:38] [PASSED] 256
[16:58:38] ==================== [PASSED] test_size ====================
[16:58:38] ======================= test_reuse  ========================
[16:58:38] [PASSED] 4
[16:58:38] [PASSED] 8
[16:58:38] [PASSED] 32
[16:58:38] [PASSED] 256
[16:58:38] =================== [PASSED] test_reuse ====================
[16:58:38] =================== test_range_overlap  ====================
[16:58:38] [PASSED] 4
[16:58:38] [PASSED] 8
[16:58:38] [PASSED] 32
[16:58:38] [PASSED] 256
[16:58:38] =============== [PASSED] test_range_overlap ================
[16:58:38] =================== test_range_compact  ====================
[16:58:38] [PASSED] 4
[16:58:38] [PASSED] 8
[16:58:38] [PASSED] 32
[16:58:38] [PASSED] 256
[16:58:38] =============== [PASSED] test_range_compact ================
[16:58:38] ==================== test_range_spare  =====================
[16:58:38] [PASSED] 4
[16:58:38] [PASSED] 8
[16:58:38] [PASSED] 32
[16:58:38] [PASSED] 256
[16:58:38] ================ [PASSED] test_range_spare =================
[16:58:38] ===================== [PASSED] guc_dbm =====================
[16:58:38] =================== guc_idm (6 subtests) ===================
[16:58:38] [PASSED] bad_init
[16:58:38] [PASSED] no_init
[16:58:38] [PASSED] init_fini
[16:58:38] [PASSED] check_used
[16:58:38] [PASSED] check_quota
[16:58:38] [PASSED] check_all
[16:58:38] ===================== [PASSED] guc_idm =====================
[16:58:38] =============== guc_klv_helpers (9 subtests) ===============
[16:58:38] [PASSED] test_count
[16:58:38] [PASSED] test_encode_u32
[16:58:38] [PASSED] test_encode_u64
[16:58:38] [PASSED] test_encode_string
[16:58:38] [PASSED] test_encode_object_raw
[16:58:38] [PASSED] test_encode_object_klv
[16:58:38] [PASSED] test_encode_object_nested
[16:58:38] [PASSED] test_encode_object_basic
[16:58:38] [PASSED] test_print
[16:58:38] ================= [PASSED] guc_klv_helpers =================
[16:58:38] =================== xe_log (4 subtests) ====================
[16:58:38] [PASSED] demo_cper
[16:58:38] [PASSED] demo_dmesg
[16:58:38] ======================= test_dmesg  ========================
[16:58:38] [PASSED] test_fatal
[16:58:38] [PASSED] test_fatal_tile
[16:58:38] [PASSED] test_fatal_gt
[16:58:38] [PASSED] test_fatal_comp
[16:58:38] [PASSED] test_fatal_comp_tile
[16:58:38] [PASSED] test_fatal_comp_gt
[16:58:38] [PASSED] test_fatal_all
[16:58:38] [PASSED] test_recoverable
[16:58:38] [PASSED] test_recoverable_tile
[16:58:38] [PASSED] test_recoverable_gt
[16:58:38] [PASSED] test_recoverable_comp
[16:58:38] [PASSED] test_recoverable_comp_tile
[16:58:38] [PASSED] test_recoverable_comp_gt
[16:58:38] [PASSED] test_recoverable_all
[16:58:38] [PASSED] test_info
[16:58:38] [PASSED] test_info_tile
[16:58:38] [PASSED] test_info_gt
[16:58:38] [PASSED] test_info_err
[16:58:38] [PASSED] test_info_comp
[16:58:38] [PASSED] test_info_comp_tile
[16:58:38] [PASSED] test_info_comp_gt
[16:58:38] [PASSED] test_info_all
[16:58:38] [PASSED] test_hw_fatal
[16:58:38] [PASSED] test_hw_recoverable
[16:58:38] [PASSED] test_hw_corrected
[16:58:38] [PASSED] test_hw_informational
[16:58:38] =================== [PASSED] test_dmesg ====================
[16:58:38] ====================== test_invalid  =======================
[16:58:38] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[16:58:38] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[16:58:38] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[16:58:38] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[16:58:38] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[16:58:38] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[16:58:38] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[16:58:38] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[16:58:39] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[16:58:39] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[16:58:39] ================== [SKIPPED] test_invalid ==================
[16:58:39] ===================== [PASSED] xe_log ======================
[16:58:39] ================== no_relay (3 subtests) ===================
[16:58:39] [PASSED] xe_drops_guc2pf_if_not_ready
[16:58:39] [PASSED] xe_drops_guc2vf_if_not_ready
[16:58:39] [PASSED] xe_rejects_send_if_not_ready
[16:58:39] ==================== [PASSED] no_relay =====================
[16:58:39] ================== pf_relay (14 subtests) ==================
[16:58:39] [PASSED] pf_rejects_guc2pf_too_short
[16:58:39] [PASSED] pf_rejects_guc2pf_too_long
[16:58:39] [PASSED] pf_rejects_guc2pf_no_payload
[16:58:39] [PASSED] pf_fails_no_payload
[16:58:39] [PASSED] pf_fails_bad_origin
[16:58:39] [PASSED] pf_fails_bad_type
[16:58:39] [PASSED] pf_txn_reports_error
[16:58:39] [PASSED] pf_txn_sends_pf2guc
[16:58:39] [PASSED] pf_sends_pf2guc
[16:58:39] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:58:39] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:58:39] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:58:39] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:58:39] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:58:39] ==================== [PASSED] pf_relay =====================
[16:58:39] ================== vf_relay (3 subtests) ===================
[16:58:39] [PASSED] vf_rejects_guc2vf_too_short
[16:58:39] [PASSED] vf_rejects_guc2vf_too_long
[16:58:39] [PASSED] vf_rejects_guc2vf_no_payload
[16:58:39] ==================== [PASSED] vf_relay =====================
[16:58:39] ================ pf_gt_config (9 subtests) =================
[16:58:39] [PASSED] fair_contexts_1vf
[16:58:39] [PASSED] fair_doorbells_1vf
[16:58:39] [PASSED] fair_ggtt_1vf
[16:58:39] ====================== fair_vram_1vf  ======================
[16:58:39] [PASSED] 3.50 GiB
[16:58:39] [PASSED] 11.5 GiB
[16:58:39] [PASSED] 15.5 GiB
[16:58:39] [PASSED] 31.5 GiB
[16:58:39] [PASSED] 63.5 GiB
[16:58:39] [PASSED] 1.91 GiB
[16:58:39] ================== [PASSED] fair_vram_1vf ==================
[16:58:39] ================ fair_vram_1vf_admin_only  =================
[16:58:39] [PASSED] 3.50 GiB
[16:58:39] [PASSED] 11.5 GiB
[16:58:39] [PASSED] 15.5 GiB
[16:58:39] [PASSED] 31.5 GiB
[16:58:39] [PASSED] 63.5 GiB
[16:58:39] [PASSED] 1.91 GiB
[16:58:39] ============ [PASSED] fair_vram_1vf_admin_only =============
[16:58:39] ====================== fair_contexts  ======================
[16:58:39] [PASSED] 1 VF
[16:58:39] [PASSED] 2 VFs
[16:58:39] [PASSED] 3 VFs
[16:58:39] [PASSED] 4 VFs
[16:58:39] [PASSED] 5 VFs
[16:58:39] [PASSED] 6 VFs
[16:58:39] [PASSED] 7 VFs
[16:58:39] [PASSED] 8 VFs
[16:58:39] [PASSED] 9 VFs
[16:58:39] [PASSED] 10 VFs
[16:58:39] [PASSED] 11 VFs
[16:58:39] [PASSED] 12 VFs
[16:58:39] [PASSED] 13 VFs
[16:58:39] [PASSED] 14 VFs
[16:58:39] [PASSED] 15 VFs
[16:58:39] [PASSED] 16 VFs
[16:58:39] [PASSED] 17 VFs
[16:58:39] [PASSED] 18 VFs
[16:58:39] [PASSED] 19 VFs
[16:58:39] [PASSED] 20 VFs
[16:58:39] [PASSED] 21 VFs
[16:58:39] [PASSED] 22 VFs
[16:58:39] [PASSED] 23 VFs
[16:58:39] [PASSED] 24 VFs
[16:58:39] [PASSED] 25 VFs
[16:58:39] [PASSED] 26 VFs
[16:58:39] [PASSED] 27 VFs
[16:58:39] [PASSED] 28 VFs
[16:58:39] [PASSED] 29 VFs
[16:58:39] [PASSED] 30 VFs
[16:58:39] [PASSED] 31 VFs
[16:58:39] [PASSED] 32 VFs
[16:58:39] [PASSED] 33 VFs
[16:58:39] [PASSED] 34 VFs
[16:58:39] [PASSED] 35 VFs
[16:58:39] [PASSED] 36 VFs
[16:58:39] [PASSED] 37 VFs
[16:58:39] [PASSED] 38 VFs
[16:58:39] [PASSED] 39 VFs
[16:58:39] [PASSED] 40 VFs
[16:58:39] [PASSED] 41 VFs
[16:58:39] [PASSED] 42 VFs
[16:58:39] [PASSED] 43 VFs
[16:58:39] [PASSED] 44 VFs
[16:58:39] [PASSED] 45 VFs
[16:58:39] [PASSED] 46 VFs
[16:58:39] [PASSED] 47 VFs
[16:58:39] [PASSED] 48 VFs
[16:58:39] [PASSED] 49 VFs
[16:58:39] [PASSED] 50 VFs
[16:58:39] [PASSED] 51 VFs
[16:58:39] [PASSED] 52 VFs
[16:58:39] [PASSED] 53 VFs
[16:58:39] [PASSED] 54 VFs
[16:58:39] [PASSED] 55 VFs
[16:58:39] [PASSED] 56 VFs
[16:58:39] [PASSED] 57 VFs
[16:58:39] [PASSED] 58 VFs
[16:58:39] [PASSED] 59 VFs
[16:58:39] [PASSED] 60 VFs
[16:58:39] [PASSED] 61 VFs
[16:58:39] [PASSED] 62 VFs
[16:58:39] [PASSED] 63 VFs
[16:58:39] ================== [PASSED] fair_contexts ==================
[16:58:39] ===================== fair_doorbells  ======================
[16:58:39] [PASSED] 1 VF
[16:58:39] [PASSED] 2 VFs
[16:58:39] [PASSED] 3 VFs
[16:58:39] [PASSED] 4 VFs
[16:58:39] [PASSED] 5 VFs
[16:58:39] [PASSED] 6 VFs
[16:58:39] [PASSED] 7 VFs
[16:58:39] [PASSED] 8 VFs
[16:58:39] [PASSED] 9 VFs
[16:58:39] [PASSED] 10 VFs
[16:58:39] [PASSED] 11 VFs
[16:58:39] [PASSED] 12 VFs
[16:58:39] [PASSED] 13 VFs
[16:58:39] [PASSED] 14 VFs
[16:58:39] [PASSED] 15 VFs
[16:58:39] [PASSED] 16 VFs
[16:58:39] [PASSED] 17 VFs
[16:58:39] [PASSED] 18 VFs
[16:58:39] [PASSED] 19 VFs
[16:58:39] [PASSED] 20 VFs
[16:58:39] [PASSED] 21 VFs
[16:58:39] [PASSED] 22 VFs
[16:58:39] [PASSED] 23 VFs
[16:58:39] [PASSED] 24 VFs
[16:58:39] [PASSED] 25 VFs
[16:58:39] [PASSED] 26 VFs
[16:58:39] [PASSED] 27 VFs
[16:58:39] [PASSED] 28 VFs
[16:58:39] [PASSED] 29 VFs
[16:58:39] [PASSED] 30 VFs
[16:58:39] [PASSED] 31 VFs
[16:58:39] [PASSED] 32 VFs
[16:58:39] [PASSED] 33 VFs
[16:58:39] [PASSED] 34 VFs
[16:58:39] [PASSED] 35 VFs
[16:58:39] [PASSED] 36 VFs
[16:58:39] [PASSED] 37 VFs
[16:58:39] [PASSED] 38 VFs
[16:58:39] [PASSED] 39 VFs
[16:58:39] [PASSED] 40 VFs
[16:58:39] [PASSED] 41 VFs
[16:58:39] [PASSED] 42 VFs
[16:58:39] [PASSED] 43 VFs
[16:58:39] [PASSED] 44 VFs
[16:58:39] [PASSED] 45 VFs
[16:58:39] [PASSED] 46 VFs
[16:58:39] [PASSED] 47 VFs
[16:58:39] [PASSED] 48 VFs
[16:58:39] [PASSED] 49 VFs
[16:58:39] [PASSED] 50 VFs
[16:58:39] [PASSED] 51 VFs
[16:58:39] [PASSED] 52 VFs
[16:58:39] [PASSED] 53 VFs
[16:58:39] [PASSED] 54 VFs
[16:58:39] [PASSED] 55 VFs
[16:58:39] [PASSED] 56 VFs
[16:58:39] [PASSED] 57 VFs
[16:58:39] [PASSED] 58 VFs
[16:58:39] [PASSED] 59 VFs
[16:58:39] [PASSED] 60 VFs
[16:58:39] [PASSED] 61 VFs
[16:58:39] [PASSED] 62 VFs
[16:58:39] [PASSED] 63 VFs
[16:58:39] ================= [PASSED] fair_doorbells ==================
[16:58:39] ======================== fair_ggtt  ========================
[16:58:39] [PASSED] 1 VF
[16:58:39] [PASSED] 2 VFs
[16:58:39] [PASSED] 3 VFs
[16:58:39] [PASSED] 4 VFs
[16:58:39] [PASSED] 5 VFs
[16:58:39] [PASSED] 6 VFs
[16:58:39] [PASSED] 7 VFs
[16:58:39] [PASSED] 8 VFs
[16:58:39] [PASSED] 9 VFs
[16:58:39] [PASSED] 10 VFs
[16:58:39] [PASSED] 11 VFs
[16:58:39] [PASSED] 12 VFs
[16:58:39] [PASSED] 13 VFs
[16:58:39] [PASSED] 14 VFs
[16:58:39] [PASSED] 15 VFs
[16:58:39] [PASSED] 16 VFs
[16:58:39] [PASSED] 17 VFs
[16:58:39] [PASSED] 18 VFs
[16:58:39] [PASSED] 19 VFs
[16:58:39] [PASSED] 20 VFs
[16:58:39] [PASSED] 21 VFs
[16:58:39] [PASSED] 22 VFs
[16:58:39] [PASSED] 23 VFs
[16:58:39] [PASSED] 24 VFs
[16:58:39] [PASSED] 25 VFs
[16:58:39] [PASSED] 26 VFs
[16:58:39] [PASSED] 27 VFs
[16:58:39] [PASSED] 28 VFs
[16:58:39] [PASSED] 29 VFs
[16:58:39] [PASSED] 30 VFs
[16:58:39] [PASSED] 31 VFs
[16:58:39] [PASSED] 32 VFs
[16:58:39] [PASSED] 33 VFs
[16:58:39] [PASSED] 34 VFs
[16:58:39] [PASSED] 35 VFs
[16:58:39] [PASSED] 36 VFs
[16:58:39] [PASSED] 37 VFs
[16:58:39] [PASSED] 38 VFs
[16:58:39] [PASSED] 39 VFs
[16:58:39] [PASSED] 40 VFs
[16:58:39] [PASSED] 41 VFs
[16:58:39] [PASSED] 42 VFs
[16:58:39] [PASSED] 43 VFs
[16:58:39] [PASSED] 44 VFs
[16:58:39] [PASSED] 45 VFs
[16:58:39] [PASSED] 46 VFs
[16:58:39] [PASSED] 47 VFs
[16:58:39] [PASSED] 48 VFs
[16:58:39] [PASSED] 49 VFs
[16:58:39] [PASSED] 50 VFs
[16:58:39] [PASSED] 51 VFs
[16:58:39] [PASSED] 52 VFs
[16:58:39] [PASSED] 53 VFs
[16:58:39] [PASSED] 54 VFs
[16:58:39] [PASSED] 55 VFs
[16:58:39] [PASSED] 56 VFs
[16:58:39] [PASSED] 57 VFs
[16:58:39] [PASSED] 58 VFs
[16:58:39] [PASSED] 59 VFs
[16:58:39] [PASSED] 60 VFs
[16:58:39] [PASSED] 61 VFs
[16:58:39] [PASSED] 62 VFs
[16:58:39] [PASSED] 63 VFs
[16:58:39] ==================== [PASSED] fair_ggtt ====================
[16:58:39] ======================== fair_vram  ========================
[16:58:39] [PASSED] 1 VF
[16:58:39] [PASSED] 2 VFs
[16:58:39] [PASSED] 3 VFs
[16:58:39] [PASSED] 4 VFs
[16:58:39] [PASSED] 5 VFs
[16:58:39] [PASSED] 6 VFs
[16:58:39] [PASSED] 7 VFs
[16:58:39] [PASSED] 8 VFs
[16:58:39] [PASSED] 9 VFs
[16:58:39] [PASSED] 10 VFs
[16:58:39] [PASSED] 11 VFs
[16:58:39] [PASSED] 12 VFs
[16:58:39] [PASSED] 13 VFs
[16:58:39] [PASSED] 14 VFs
[16:58:39] [PASSED] 15 VFs
[16:58:39] [PASSED] 16 VFs
[16:58:39] [PASSED] 17 VFs
[16:58:39] [PASSED] 18 VFs
[16:58:39] [PASSED] 19 VFs
[16:58:39] [PASSED] 20 VFs
[16:58:39] [PASSED] 21 VFs
[16:58:39] [PASSED] 22 VFs
[16:58:39] [PASSED] 23 VFs
[16:58:39] [PASSED] 24 VFs
[16:58:39] [PASSED] 25 VFs
[16:58:39] [PASSED] 26 VFs
[16:58:39] [PASSED] 27 VFs
[16:58:39] [PASSED] 28 VFs
[16:58:39] [PASSED] 29 VFs
[16:58:39] [PASSED] 30 VFs
[16:58:39] [PASSED] 31 VFs
[16:58:39] [PASSED] 32 VFs
[16:58:39] [PASSED] 33 VFs
[16:58:39] [PASSED] 34 VFs
[16:58:39] [PASSED] 35 VFs
[16:58:39] [PASSED] 36 VFs
[16:58:39] [PASSED] 37 VFs
[16:58:39] [PASSED] 38 VFs
[16:58:39] [PASSED] 39 VFs
[16:58:39] [PASSED] 40 VFs
[16:58:39] [PASSED] 41 VFs
[16:58:39] [PASSED] 42 VFs
[16:58:39] [PASSED] 43 VFs
[16:58:39] [PASSED] 44 VFs
[16:58:39] [PASSED] 45 VFs
[16:58:39] [PASSED] 46 VFs
[16:58:39] [PASSED] 47 VFs
[16:58:39] [PASSED] 48 VFs
[16:58:39] [PASSED] 49 VFs
[16:58:39] [PASSED] 50 VFs
[16:58:39] [PASSED] 51 VFs
[16:58:39] [PASSED] 52 VFs
[16:58:39] [PASSED] 53 VFs
[16:58:39] [PASSED] 54 VFs
[16:58:39] [PASSED] 55 VFs
[16:58:39] [PASSED] 56 VFs
[16:58:39] [PASSED] 57 VFs
[16:58:39] [PASSED] 58 VFs
[16:58:39] [PASSED] 59 VFs
[16:58:39] [PASSED] 60 VFs
[16:58:39] [PASSED] 61 VFs
[16:58:39] [PASSED] 62 VFs
[16:58:39] [PASSED] 63 VFs
[16:58:39] ==================== [PASSED] fair_vram ====================
[16:58:39] ================== [PASSED] pf_gt_config ===================
[16:58:39] ===================== lmtt (1 subtest) =====================
[16:58:39] ======================== test_ops  =========================
[16:58:39] [PASSED] 2-level
[16:58:39] [PASSED] multi-level
[16:58:39] ==================== [PASSED] test_ops =====================
[16:58:39] ====================== [PASSED] lmtt =======================
[16:58:39] ================= sriov_packet (1 subtest) =================
[16:58:39] [PASSED] test_descriptor_init
[16:58:39] ================== [PASSED] sriov_packet ===================
[16:58:39] ================= pf_service (11 subtests) =================
[16:58:39] [PASSED] pf_negotiate_any
[16:58:39] [PASSED] pf_negotiate_base_match
[16:58:39] [PASSED] pf_negotiate_base_newer
[16:58:39] [PASSED] pf_negotiate_base_next
[16:58:39] [SKIPPED] pf_negotiate_base_older (no older minor)
[16:58:39] [PASSED] pf_negotiate_base_prev
[16:58:39] [PASSED] pf_negotiate_latest_match
[16:58:39] [PASSED] pf_negotiate_latest_newer
[16:58:39] [PASSED] pf_negotiate_latest_next
[16:58:39] [SKIPPED] pf_negotiate_latest_older (no older minor)
[16:58:39] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[16:58:39] =================== [PASSED] pf_service ====================
[16:58:39] ================= xe_guc_g2g (2 subtests) ==================
[16:58:39] ============== xe_live_guc_g2g_kunit_default  ==============
[16:58:39] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[16:58:39] ============== xe_live_guc_g2g_kunit_allmem  ===============
[16:58:39] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[16:58:39] =================== [SKIPPED] xe_guc_g2g ===================
[16:58:39] =================== xe_mocs (2 subtests) ===================
[16:58:39] ================ xe_live_mocs_kernel_kunit  ================
[16:58:39] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[16:58:39] ================ xe_live_mocs_reset_kunit  =================
[16:58:39] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[16:58:39] ==================== [SKIPPED] xe_mocs =====================
[16:58:39] ================= xe_migrate (2 subtests) ==================
[16:58:39] ================= xe_migrate_sanity_kunit  =================
[16:58:39] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[16:58:39] ================== xe_validate_ccs_kunit  ==================
[16:58:39] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[16:58:39] =================== [SKIPPED] xe_migrate ===================
[16:58:39] ================== xe_dma_buf (1 subtest) ==================
[16:58:39] ==================== xe_dma_buf_kunit  =====================
[16:58:39] ================ [SKIPPED] xe_dma_buf_kunit ================
[16:58:39] =================== [SKIPPED] xe_dma_buf ===================
[16:58:39] ================= xe_bo_shrink (1 subtest) =================
[16:58:39] =================== xe_bo_shrink_kunit  ====================
[16:58:39] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[16:58:39] ================== [SKIPPED] xe_bo_shrink ==================
[16:58:39] ==================== xe_bo (2 subtests) ====================
[16:58:39] ================== xe_ccs_migrate_kunit  ===================
[16:58:39] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[16:58:39] ==================== xe_bo_evict_kunit  ====================
[16:58:39] =============== [SKIPPED] xe_bo_evict_kunit ================
[16:58:39] ===================== [SKIPPED] xe_bo ======================
[16:58:39] =================== xe_any (9 subtests) ====================
[16:58:39] [PASSED] test_to_xe
[16:58:39] [PASSED] test_to_dev
[16:58:39] [PASSED] test_to_pdev
[16:58:39] [PASSED] test_to_drm
[16:58:39] [PASSED] test_if_pdev
[16:58:39] [PASSED] test_if_xe
[16:58:39] [PASSED] test_if_tile
[16:58:39] [PASSED] test_if_gt
[16:58:39] [PASSED] test_to_id
[16:58:39] ===================== [PASSED] xe_any ======================
[16:58:39] ==================== args (13 subtests) ====================
[16:58:39] [PASSED] count_args_test
[16:58:39] [PASSED] call_args_example
[16:58:39] [PASSED] call_args_test
[16:58:39] [PASSED] drop_first_arg_example
[16:58:39] [PASSED] drop_first_arg_test
[16:58:39] [PASSED] first_arg_example
[16:58:39] [PASSED] first_arg_test
[16:58:39] [PASSED] last_arg_example
[16:58:39] [PASSED] last_arg_test
[16:58:39] [PASSED] pick_arg_example
[16:58:39] [PASSED] if_args_example
[16:58:39] [PASSED] if_args_test
[16:58:39] [PASSED] sep_comma_example
[16:58:39] ====================== [PASSED] args =======================
[16:58:39] =================== xe_pci (3 subtests) ====================
[16:58:39] ==================== check_graphics_ip  ====================
[16:58:39] [PASSED] 12.00 Xe_LP
[16:58:39] [PASSED] 12.10 Xe_LP+
[16:58:39] [PASSED] 12.55 Xe_HPG
[16:58:39] [PASSED] 12.60 Xe_HPC
[16:58:39] [PASSED] 12.70 Xe_LPG
[16:58:39] [PASSED] 12.71 Xe_LPG
[16:58:39] [PASSED] 12.74 Xe_LPG+
[16:58:39] [PASSED] 20.01 Xe2_HPG
[16:58:39] [PASSED] 20.02 Xe2_HPG
[16:58:39] [PASSED] 20.04 Xe2_LPG
[16:58:39] [PASSED] 30.00 Xe3_LPG
[16:58:39] [PASSED] 30.01 Xe3_LPG
[16:58:39] [PASSED] 30.03 Xe3_LPG
[16:58:39] [PASSED] 30.04 Xe3_LPG
[16:58:39] [PASSED] 30.05 Xe3_LPG
[16:58:39] [PASSED] 35.10 Xe3p_LPG
[16:58:39] [PASSED] 35.11 Xe3p_XPC
[16:58:39] ================ [PASSED] check_graphics_ip ================
[16:58:39] ===================== check_media_ip  ======================
[16:58:39] [PASSED] 12.00 Xe_M
[16:58:39] [PASSED] 12.55 Xe_HPM
[16:58:39] [PASSED] 13.00 Xe_LPM+
[16:58:39] [PASSED] 13.01 Xe2_HPM
[16:58:39] [PASSED] 20.00 Xe2_LPM
[16:58:39] [PASSED] 30.00 Xe3_LPM
[16:58:39] [PASSED] 30.02 Xe3_LPM
[16:58:39] [PASSED] 35.00 Xe3p_LPM
[16:58:39] [PASSED] 35.03 Xe3p_HPM
[16:58:39] ================= [PASSED] check_media_ip ==================
[16:58:39] =================== check_platform_desc  ===================
[16:58:39] [PASSED] 0x9A60 (TIGERLAKE)
[16:58:39] [PASSED] 0x9A68 (TIGERLAKE)
[16:58:39] [PASSED] 0x9A70 (TIGERLAKE)
[16:58:39] [PASSED] 0x9A40 (TIGERLAKE)
[16:58:39] [PASSED] 0x9A49 (TIGERLAKE)
[16:58:39] [PASSED] 0x9A59 (TIGERLAKE)
[16:58:39] [PASSED] 0x9A78 (TIGERLAKE)
[16:58:39] [PASSED] 0x9AC0 (TIGERLAKE)
[16:58:39] [PASSED] 0x9AC9 (TIGERLAKE)
[16:58:39] [PASSED] 0x9AD9 (TIGERLAKE)
[16:58:39] [PASSED] 0x9AF8 (TIGERLAKE)
[16:58:39] [PASSED] 0x4C80 (ROCKETLAKE)
[16:58:39] [PASSED] 0x4C8A (ROCKETLAKE)
[16:58:39] [PASSED] 0x4C8B (ROCKETLAKE)
[16:58:39] [PASSED] 0x4C8C (ROCKETLAKE)
[16:58:39] [PASSED] 0x4C90 (ROCKETLAKE)
[16:58:39] [PASSED] 0x4C9A (ROCKETLAKE)
[16:58:39] [PASSED] 0x4680 (ALDERLAKE_S)
[16:58:39] [PASSED] 0x4682 (ALDERLAKE_S)
[16:58:39] [PASSED] 0x4688 (ALDERLAKE_S)
[16:58:39] [PASSED] 0x468A (ALDERLAKE_S)
[16:58:39] [PASSED] 0x468B (ALDERLAKE_S)
[16:58:39] [PASSED] 0x4690 (ALDERLAKE_S)
[16:58:39] [PASSED] 0x4692 (ALDERLAKE_S)
[16:58:39] [PASSED] 0x4693 (ALDERLAKE_S)
[16:58:39] [PASSED] 0x46A0 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46A1 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46A2 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46A3 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46A6 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46A8 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46AA (ALDERLAKE_P)
[16:58:39] [PASSED] 0x462A (ALDERLAKE_P)
[16:58:39] [PASSED] 0x4626 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x4628 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46B0 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46B1 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46B2 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46B3 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46C0 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46C1 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46C2 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46C3 (ALDERLAKE_P)
[16:58:39] [PASSED] 0x46D0 (ALDERLAKE_N)
[16:58:39] [PASSED] 0x46D1 (ALDERLAKE_N)
[16:58:39] [PASSED] 0x46D2 (ALDERLAKE_N)
[16:58:39] [PASSED] 0x46D3 (ALDERLAKE_N)
[16:58:39] [PASSED] 0x46D4 (ALDERLAKE_N)
[16:58:39] [PASSED] 0xA721 (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA7A1 (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA7A9 (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA7AC (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA7AD (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA720 (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA7A0 (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA7A8 (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA7AA (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA7AB (ALDERLAKE_P)
[16:58:39] [PASSED] 0xA780 (ALDERLAKE_S)
[16:58:39] [PASSED] 0xA781 (ALDERLAKE_S)
[16:58:39] [PASSED] 0xA782 (ALDERLAKE_S)
[16:58:39] [PASSED] 0xA783 (ALDERLAKE_S)
[16:58:39] [PASSED] 0xA788 (ALDERLAKE_S)
[16:58:39] [PASSED] 0xA789 (ALDERLAKE_S)
[16:58:39] [PASSED] 0xA78A (ALDERLAKE_S)
[16:58:39] [PASSED] 0xA78B (ALDERLAKE_S)
[16:58:39] [PASSED] 0x4905 (DG1)
[16:58:39] [PASSED] 0x4906 (DG1)
[16:58:39] [PASSED] 0x4907 (DG1)
[16:58:39] [PASSED] 0x4908 (DG1)
[16:58:39] [PASSED] 0x4909 (DG1)
[16:58:39] [PASSED] 0x56C0 (DG2)
[16:58:39] [PASSED] 0x56C2 (DG2)
[16:58:39] [PASSED] 0x56C1 (DG2)
[16:58:39] [PASSED] 0x7D51 (METEORLAKE)
[16:58:39] [PASSED] 0x7DD1 (METEORLAKE)
[16:58:39] [PASSED] 0x7D41 (METEORLAKE)
[16:58:39] [PASSED] 0x7D67 (METEORLAKE)
[16:58:39] [PASSED] 0xB640 (METEORLAKE)
[16:58:39] [PASSED] 0x56A0 (DG2)
[16:58:39] [PASSED] 0x56A1 (DG2)
[16:58:39] [PASSED] 0x56A2 (DG2)
[16:58:39] [PASSED] 0x56BE (DG2)
[16:58:39] [PASSED] 0x56BF (DG2)
[16:58:39] [PASSED] 0x5690 (DG2)
[16:58:39] [PASSED] 0x5691 (DG2)
[16:58:39] [PASSED] 0x5692 (DG2)
[16:58:39] [PASSED] 0x56A5 (DG2)
[16:58:39] [PASSED] 0x56A6 (DG2)
[16:58:39] [PASSED] 0x56B0 (DG2)
[16:58:39] [PASSED] 0x56B1 (DG2)
[16:58:39] [PASSED] 0x56BA (DG2)
[16:58:39] [PASSED] 0x56BB (DG2)
[16:58:39] [PASSED] 0x56BC (DG2)
[16:58:39] [PASSED] 0x56BD (DG2)
[16:58:39] [PASSED] 0x5693 (DG2)
[16:58:39] [PASSED] 0x5694 (DG2)
[16:58:39] [PASSED] 0x5695 (DG2)
[16:58:39] [PASSED] 0x56A3 (DG2)
[16:58:39] [PASSED] 0x56A4 (DG2)
[16:58:39] [PASSED] 0x56B2 (DG2)
[16:58:39] [PASSED] 0x56B3 (DG2)
[16:58:39] [PASSED] 0x5696 (DG2)
[16:58:39] [PASSED] 0x5697 (DG2)
[16:58:39] [PASSED] 0xB69 (PVC)
[16:58:39] [PASSED] 0xB6E (PVC)
[16:58:39] [PASSED] 0xBD4 (PVC)
[16:58:39] [PASSED] 0xBD5 (PVC)
[16:58:39] [PASSED] 0xBD6 (PVC)
[16:58:39] [PASSED] 0xBD7 (PVC)
[16:58:39] [PASSED] 0xBD8 (PVC)
[16:58:39] [PASSED] 0xBD9 (PVC)
[16:58:39] [PASSED] 0xBDA (PVC)
[16:58:39] [PASSED] 0xBDB (PVC)
[16:58:39] [PASSED] 0xBE0 (PVC)
[16:58:39] [PASSED] 0xBE1 (PVC)
[16:58:39] [PASSED] 0xBE5 (PVC)
[16:58:39] [PASSED] 0x7D40 (METEORLAKE)
[16:58:39] [PASSED] 0x7D45 (METEORLAKE)
[16:58:39] [PASSED] 0x7D55 (METEORLAKE)
[16:58:39] [PASSED] 0x7D60 (METEORLAKE)
[16:58:39] [PASSED] 0x7DD5 (METEORLAKE)
[16:58:39] [PASSED] 0x6420 (LUNARLAKE)
[16:58:39] [PASSED] 0x64A0 (LUNARLAKE)
[16:58:39] [PASSED] 0x64B0 (LUNARLAKE)
[16:58:39] [PASSED] 0xE202 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE209 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE20B (BATTLEMAGE)
[16:58:39] [PASSED] 0xE20C (BATTLEMAGE)
[16:58:39] [PASSED] 0xE20D (BATTLEMAGE)
[16:58:39] [PASSED] 0xE210 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE211 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE212 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE216 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE220 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE221 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE222 (BATTLEMAGE)
[16:58:39] [PASSED] 0xE223 (BATTLEMAGE)
[16:58:39] [PASSED] 0xB080 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB081 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB082 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB083 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB084 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB085 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB086 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB087 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB08F (PANTHERLAKE)
[16:58:39] [PASSED] 0xB090 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB0A0 (PANTHERLAKE)
[16:58:39] [PASSED] 0xB0B0 (PANTHERLAKE)
[16:58:39] [PASSED] 0xFD80 (PANTHERLAKE)
[16:58:39] [PASSED] 0xFD81 (PANTHERLAKE)
[16:58:39] [PASSED] 0xD740 (NOVALAKE_S)
[16:58:39] [PASSED] 0xD741 (NOVALAKE_S)
[16:58:39] [PASSED] 0xD742 (NOVALAKE_S)
[16:58:39] [PASSED] 0xD743 (NOVALAKE_S)
[16:58:39] [PASSED] 0xD745 (NOVALAKE_S)
[16:58:39] [PASSED] 0xD74A (NOVALAKE_S)
[16:58:39] [PASSED] 0xD74B (NOVALAKE_S)
[16:58:39] [PASSED] 0x674C (CRESCENTISLAND)
[16:58:39] [PASSED] 0x674D (CRESCENTISLAND)
[16:58:39] [PASSED] 0x674E (CRESCENTISLAND)
[16:58:39] [PASSED] 0x674F (CRESCENTISLAND)
[16:58:39] [PASSED] 0x6750 (CRESCENTISLAND)
[16:58:39] [PASSED] 0xD750 (NOVALAKE_P)
[16:58:39] [PASSED] 0xD751 (NOVALAKE_P)
[16:58:39] [PASSED] 0xD752 (NOVALAKE_P)
[16:58:39] [PASSED] 0xD753 (NOVALAKE_P)
[16:58:39] [PASSED] 0xD754 (NOVALAKE_P)
[16:58:39] [PASSED] 0xD755 (NOVALAKE_P)
[16:58:39] [PASSED] 0xD756 (NOVALAKE_P)
[16:58:39] [PASSED] 0xD757 (NOVALAKE_P)
[16:58:39] [PASSED] 0xD75F (NOVALAKE_P)
[16:58:39] =============== [PASSED] check_platform_desc ===============
[16:58:39] ===================== [PASSED] xe_pci ======================
[16:58:39] ============= xe_rtp_tables_test (5 subtests) ==============
[16:58:39] ================== xe_rtp_table_gt_test  ===================
[16:58:39] [PASSED] gt_was/14011060649
[16:58:39] [PASSED] gt_was/14011059788
[16:58:39] [PASSED] gt_was/14015795083
[16:58:39] [PASSED] gt_was/16021867713
[16:58:39] [PASSED] gt_was/14019449301
[16:58:39] [PASSED] gt_was/16028005424
[16:58:39] [PASSED] gt_was/14026578760
[16:58:39] [PASSED] gt_was/1409420604
[16:58:39] [PASSED] gt_was/1408615072
[16:58:39] [PASSED] gt_was/22010523718
[16:58:39] [PASSED] gt_was/14011006942
[16:58:39] [PASSED] gt_was/14014830051
[16:58:39] [PASSED] gt_was/18018781329
[16:58:39] [PASSED] gt_was/1509235366
[16:58:39] [PASSED] gt_was/18018781329
[16:58:39] [PASSED] gt_was/16016694945
[16:58:39] [PASSED] gt_was/14018575942
[16:58:39] [PASSED] gt_was/22016670082
[16:58:39] [PASSED] gt_was/22016670082
[16:58:39] [PASSED] gt_was/14017421178
[16:58:39] [PASSED] gt_was/16025250150
[16:58:39] [PASSED] gt_was/14021871409
[16:58:39] [PASSED] gt_was/16021865536
[16:58:39] [PASSED] gt_was/14021486841
[16:58:39] [PASSED] gt_was/14025160223
[16:58:39] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[16:58:39] [PASSED] gt_was/14025635424
[16:58:39] [PASSED] gt_was/16028005424
[16:58:39] ============== [PASSED] xe_rtp_table_gt_test ===============
[16:58:39] ================== xe_rtp_table_gt_test  ===================
[16:58:39] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[16:58:39] [PASSED] gt_tunings/Tuning: 32B Access Enable
[16:58:39] [PASSED] gt_tunings/Tuning: L3 cache
[16:58:39] [PASSED] gt_tunings/Tuning: L3 cache - media
[16:58:39] [PASSED] gt_tunings/Tuning: Compression Overfetch
[16:58:39] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[16:58:39] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[16:58:39] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[16:58:39] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[16:58:39] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[16:58:39] [PASSED] gt_tunings/Tuning: Stateless compression control
[16:58:39] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[16:58:39] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[16:58:39] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[16:58:39] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[16:58:39] ============== [PASSED] xe_rtp_table_gt_test ===============
[16:58:39] ================== xe_rtp_table_oob_test  ==================
[16:58:39] [PASSED] oob_was/1607983814
[16:58:39] [PASSED] oob_was/16010904313
[16:58:39] [PASSED] oob_was/18022495364
[16:58:39] [PASSED] oob_was/22012773006
[16:58:39] [PASSED] oob_was/14014475959
[16:58:39] [PASSED] oob_was/22011391025
[16:58:39] [PASSED] oob_was/22012727170
[16:58:39] [PASSED] oob_was/22012727685
[16:58:39] [PASSED] oob_was/22016596838
[16:58:39] [PASSED] oob_was/18020744125
[16:58:39] [PASSED] oob_was/1409600907
[16:58:39] [PASSED] oob_was/22014953428
[16:58:39] [PASSED] oob_was/16017236439
[16:58:39] [PASSED] oob_was/14019821291
[16:58:39] [PASSED] oob_was/14015076503
[16:58:39] [PASSED] oob_was/14018913170
[16:58:39] [PASSED] oob_was/14018094691
[16:58:39] [PASSED] oob_was/18024947630
[16:58:39] [PASSED] oob_was/16022287689
[16:58:39] [PASSED] oob_was/13011645652
[16:58:39] [PASSED] oob_was/14022293748
[16:58:39] [PASSED] oob_was/22019794406
[16:58:39] [PASSED] oob_was/22019338487
[16:58:39] [PASSED] oob_was/16023588340
[16:58:39] [PASSED] oob_was/14019789679
[16:58:39] [PASSED] oob_was/14022866841
[16:58:39] [PASSED] oob_was/16021333562
[16:58:39] [PASSED] oob_was/14016712196
[16:58:39] [PASSED] oob_was/14015568240
[16:58:39] [PASSED] oob_was/18013179988
[16:58:39] [PASSED] oob_was/1508761755
[16:58:39] [PASSED] oob_was/16023105232
[16:58:39] [PASSED] oob_was/16026508708
[16:58:39] [PASSED] oob_was/14020001231
[16:58:39] [PASSED] oob_was/16023683509
[16:58:39] [PASSED] oob_was/14025515070
[16:58:39] [PASSED] oob_was/15015404425_disable
[16:58:39] [PASSED] oob_was/16026007364
[16:58:39] [PASSED] oob_was/14020316580
[16:58:39] [PASSED] oob_was/14025883347
[16:58:39] [PASSED] oob_was/16029380221
[16:58:39] [PASSED] oob_was/22022079272
[16:58:39] [PASSED] oob_was/16029897822
[16:58:39] [PASSED] oob_was/14027054324
[16:58:39] ============== [PASSED] xe_rtp_table_oob_test ==============
[16:58:39] ================ xe_rtp_table_dev_oob_test  ================
[16:58:39] [PASSED] device_oob_was/22010954014
[16:58:39] [PASSED] device_oob_was/15015404425
[16:58:39] [PASSED] device_oob_was/22019338487_display
[16:58:39] [PASSED] device_oob_was/14022085890
[16:58:39] [PASSED] device_oob_was/14026539277
[16:58:39] [PASSED] device_oob_was/14026633728
[16:58:39] [PASSED] device_oob_was/14026746987
[16:58:39] [PASSED] device_oob_was/14026779378
[16:58:39] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[16:58:39] ========== xe_rtp_table_missing_upper_bound_test  ==========
[16:58:39] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[16:58:39] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[16:58:39] [PASSED] register_whitelist/1806527549
[16:58:39] [PASSED] register_whitelist/allow_read_ctx_timestamp
[16:58:39] [PASSED] register_whitelist/allow_read_queue_timestamp
[16:58:39] [PASSED] register_whitelist/16014440446
[16:58:39] [PASSED] register_whitelist/16017236439
[16:58:39] [PASSED] register_whitelist/16020183090
[16:58:39] [PASSED] register_whitelist/14024997852
[16:58:39] [PASSED] register_whitelist/14024997852
[16:58:39] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[16:58:39] =============== [PASSED] xe_rtp_tables_test ================
[16:58:39] =================== xe_rtp (3 subtests) ====================
[16:58:39] =================== xe_rtp_rules_tests  ====================
[16:58:39] [PASSED] no
[16:58:39] [PASSED] yes
[16:58:39] [PASSED] no-and-no
[16:58:39] [PASSED] no-and-yes
[16:58:39] [PASSED] yes-and-no
[16:58:39] [PASSED] yes-and-yes
[16:58:39] [PASSED] no-or-no
[16:58:39] [PASSED] no-or-yes
[16:58:39] [PASSED] yes-or-no
[16:58:39] [PASSED] yes-or-yes
[16:58:39] [PASSED] no-yes-or-yes-no
[16:58:39] [PASSED] no-yes-or-yes-yes
[16:58:39] [PASSED] yes-yes-or-no-yes
[16:58:39] [PASSED] yes-yes-or-yes-yes
[16:58:39] [PASSED] no-no-or-yes-or-no
[16:58:39] [PASSED] or
[16:58:39] [PASSED] or-yes
[16:58:39] [PASSED] or-no
[16:58:39] [PASSED] yes-or
[16:58:39] [PASSED] no-or
[16:58:39] [PASSED] no-or-or-yes
[16:58:39] [PASSED] yes-or-or-no
[16:58:39] [PASSED] no-or-or-no
[16:58:39] [PASSED] missing-context-engine-class
[16:58:39] [PASSED] missing-context-engine-class-or-yes
[16:58:39] [PASSED] missing-context-engine-class-or-or-yes
[16:58:39] =============== [PASSED] xe_rtp_rules_tests ================
[16:58:39] =============== xe_rtp_process_to_sr_tests  ================
[16:58:39] [PASSED] coalesce-same-reg
[16:58:39] [PASSED] coalesce-same-reg-literal-and-func
[16:58:39] [PASSED] no-match-no-add
[16:58:39] [PASSED] two-regs-two-entries
[16:58:39] [PASSED] clr-one-set-other
[16:58:39] [PASSED] set-field
[16:58:39] [PASSED] conflict-duplicate
[16:58:39] [PASSED] conflict-not-disjoint
[16:58:39] [PASSED] conflict-not-disjoint-literal-and-func
[16:58:39] [PASSED] conflict-reg-type
[16:58:39] [PASSED] bad-mcr-reg-forced-to-regular
[16:58:39] [PASSED] bad-regular-reg-forced-to-mcr
[16:58:39] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[16:58:39] ================== xe_rtp_process_tests  ===================
[16:58:39] [PASSED] active1
[16:58:39] [PASSED] active2
[16:58:39] [PASSED] active-inactive
[16:58:39] [PASSED] inactive-active
[16:58:39] [PASSED] inactive-active-inactive
[16:58:39] [PASSED] inactive-inactive-inactive
[16:58:39] ============== [PASSED] xe_rtp_process_tests ===============
[16:58:39] ===================== [PASSED] xe_rtp ======================
[16:58:39] ==================== xe_wa (1 subtest) =====================
[16:58:39] ======================== xe_wa_gt  =========================
[16:58:39] [PASSED] TIGERLAKE B0
[16:58:39] [PASSED] DG1 A0
[16:58:39] [PASSED] DG1 B0
[16:58:39] [PASSED] ALDERLAKE_S A0
[16:58:39] [PASSED] ALDERLAKE_S B0
[16:58:39] [PASSED] ALDERLAKE_S C0
[16:58:39] [PASSED] ALDERLAKE_S D0
[16:58:39] [PASSED] ALDERLAKE_P A0
[16:58:39] [PASSED] ALDERLAKE_P B0
[16:58:39] [PASSED] ALDERLAKE_P C0
[16:58:39] [PASSED] ALDERLAKE_S RPLS D0
[16:58:39] [PASSED] ALDERLAKE_P RPLU E0
[16:58:39] [PASSED] DG2 G10 C0
[16:58:39] [PASSED] DG2 G11 B1
[16:58:39] [PASSED] DG2 G12 A1
[16:58:39] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:58:39] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:58:39] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[16:58:39] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[16:58:39] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[16:58:39] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[16:58:39] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[16:58:39] ==================== [PASSED] xe_wa_gt =====================
[16:58:39] ====================== [PASSED] xe_wa ======================
[16:58:39] ============================================================
[16:58:39] Testing complete. Ran 793 tests: passed: 765, skipped: 28
[16:58:39] Elapsed time: 36.083s total, 1.766s configuring, 33.551s building, 0.712s 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:58:39] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:58:41] 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:59:05] Starting KUnit Kernel (1/1)...
[16:59:05] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:59:05] ============= refcount_interrupt (4 subtests) ==============
[16:59:05] [PASSED] test_single_irq_change
[16:59:05] [PASSED] test_nested_irq_change
[16:59:05] [PASSED] test_multiple_irq_change
[16:59:05] [PASSED] test_irq_save
[16:59:05] =============== [PASSED] refcount_interrupt ================
[16:59:05] ============ drm_test_pick_cmdline (2 subtests) ============
[16:59:05] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[16:59:05] =============== drm_test_pick_cmdline_named  ===============
[16:59:05] [PASSED] NTSC
[16:59:05] [PASSED] NTSC-J
[16:59:05] [PASSED] PAL
[16:59:05] [PASSED] PAL-M
[16:59:05] =========== [PASSED] drm_test_pick_cmdline_named ===========
[16:59:05] ============== [PASSED] drm_test_pick_cmdline ==============
[16:59:05] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[16:59:05] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[16:59:05] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[16:59:05] =========== drm_validate_clone_mode (2 subtests) ===========
[16:59:05] ============== drm_test_check_in_clone_mode  ===============
[16:59:05] [PASSED] in_clone_mode
[16:59:05] [PASSED] not_in_clone_mode
[16:59:05] ========== [PASSED] drm_test_check_in_clone_mode ===========
[16:59:05] =============== drm_test_check_valid_clones  ===============
[16:59:05] [PASSED] not_in_clone_mode
[16:59:05] [PASSED] valid_clone
[16:59:05] [PASSED] invalid_clone
[16:59:05] =========== [PASSED] drm_test_check_valid_clones ===========
[16:59:05] ============= [PASSED] drm_validate_clone_mode =============
[16:59:05] ============= drm_validate_modeset (1 subtest) =============
[16:59:05] [PASSED] drm_test_check_connector_changed_modeset
[16:59:05] ============== [PASSED] drm_validate_modeset ===============
[16:59:05] ====== drm_test_bridge_get_current_state (1 subtest) =======
[16:59:05] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[16:59:05] ======== [PASSED] drm_test_bridge_get_current_state ========
[16:59:05] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[16:59:05] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[16:59:05] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[16:59:05] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[16:59:05] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[16:59:05] ============== drm_bridge_alloc (2 subtests) ===============
[16:59:05] [PASSED] drm_test_drm_bridge_alloc_basic
[16:59:05] [PASSED] drm_test_drm_bridge_alloc_get_put
[16:59:05] ================ [PASSED] drm_bridge_alloc =================
[16:59:05] ============= drm_bridge_bus_fmt (5 subtests) ==============
[16:59:05] [PASSED] drm_test_bridge_rgb_yuv_rgb
[16:59:05] [PASSED] drm_test_bridge_must_convert_to_yuv444
[16:59:05] [PASSED] drm_test_bridge_hdmi_auto_rgb
[16:59:05] [PASSED] drm_test_bridge_auto_first
[16:59:05] [PASSED] drm_test_bridge_rgb_yuv_no_path
[16:59:05] =============== [PASSED] drm_bridge_bus_fmt ================
[16:59:05] ============= drm_cmdline_parser (40 subtests) =============
[16:59:05] [PASSED] drm_test_cmdline_force_d_only
[16:59:05] [PASSED] drm_test_cmdline_force_D_only_dvi
[16:59:05] [PASSED] drm_test_cmdline_force_D_only_hdmi
[16:59:05] [PASSED] drm_test_cmdline_force_D_only_not_digital
[16:59:05] [PASSED] drm_test_cmdline_force_e_only
[16:59:05] [PASSED] drm_test_cmdline_res
[16:59:05] [PASSED] drm_test_cmdline_res_vesa
[16:59:05] [PASSED] drm_test_cmdline_res_vesa_rblank
[16:59:05] [PASSED] drm_test_cmdline_res_rblank
[16:59:05] [PASSED] drm_test_cmdline_res_bpp
[16:59:05] [PASSED] drm_test_cmdline_res_refresh
[16:59:05] [PASSED] drm_test_cmdline_res_bpp_refresh
[16:59:05] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[16:59:05] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[16:59:05] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[16:59:05] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[16:59:05] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[16:59:05] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[16:59:05] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[16:59:05] [PASSED] drm_test_cmdline_res_margins_force_on
[16:59:05] [PASSED] drm_test_cmdline_res_vesa_margins
[16:59:05] [PASSED] drm_test_cmdline_name
[16:59:05] [PASSED] drm_test_cmdline_name_bpp
[16:59:05] [PASSED] drm_test_cmdline_name_option
[16:59:05] [PASSED] drm_test_cmdline_name_bpp_option
[16:59:05] [PASSED] drm_test_cmdline_rotate_0
[16:59:05] [PASSED] drm_test_cmdline_rotate_90
[16:59:05] [PASSED] drm_test_cmdline_rotate_180
[16:59:05] [PASSED] drm_test_cmdline_rotate_270
[16:59:05] [PASSED] drm_test_cmdline_hmirror
[16:59:05] [PASSED] drm_test_cmdline_vmirror
[16:59:05] [PASSED] drm_test_cmdline_margin_options
[16:59:05] [PASSED] drm_test_cmdline_multiple_options
[16:59:05] [PASSED] drm_test_cmdline_bpp_extra_and_option
[16:59:05] [PASSED] drm_test_cmdline_extra_and_option
[16:59:05] [PASSED] drm_test_cmdline_freestanding_options
[16:59:05] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[16:59:05] [PASSED] drm_test_cmdline_panel_orientation
[16:59:05] ================ drm_test_cmdline_invalid  =================
[16:59:05] [PASSED] margin_only
[16:59:05] [PASSED] interlace_only
[16:59:05] [PASSED] res_missing_x
[16:59:05] [PASSED] res_missing_y
[16:59:05] [PASSED] res_bad_y
[16:59:05] [PASSED] res_missing_y_bpp
[16:59:05] [PASSED] res_bad_bpp
[16:59:05] [PASSED] res_bad_refresh
[16:59:05] [PASSED] res_bpp_refresh_force_on_off
[16:59:05] [PASSED] res_invalid_mode
[16:59:05] [PASSED] res_bpp_wrong_place_mode
[16:59:05] [PASSED] name_bpp_refresh
[16:59:05] [PASSED] name_refresh
[16:59:05] [PASSED] name_refresh_wrong_mode
[16:59:05] [PASSED] name_refresh_invalid_mode
[16:59:05] [PASSED] rotate_multiple
[16:59:05] [PASSED] rotate_invalid_val
[16:59:05] [PASSED] rotate_truncated
[16:59:05] [PASSED] invalid_option
[16:59:05] [PASSED] invalid_tv_option
[16:59:05] [PASSED] truncated_tv_option
[16:59:05] ============ [PASSED] drm_test_cmdline_invalid =============
[16:59:05] =============== drm_test_cmdline_tv_options  ===============
[16:59:05] [PASSED] NTSC
[16:59:05] [PASSED] NTSC_443
[16:59:05] [PASSED] NTSC_J
[16:59:05] [PASSED] PAL
[16:59:05] [PASSED] PAL_M
[16:59:05] [PASSED] PAL_N
[16:59:05] [PASSED] SECAM
[16:59:05] [PASSED] MONO_525
[16:59:05] [PASSED] MONO_625
[16:59:05] =========== [PASSED] drm_test_cmdline_tv_options ===========
[16:59:05] =============== [PASSED] drm_cmdline_parser ================
[16:59:05] ========== drmm_connector_hdmi_init (20 subtests) ==========
[16:59:05] [PASSED] drm_test_connector_hdmi_init_valid
[16:59:05] [PASSED] drm_test_connector_hdmi_init_bpc_8
[16:59:05] [PASSED] drm_test_connector_hdmi_init_bpc_10
[16:59:05] [PASSED] drm_test_connector_hdmi_init_bpc_12
[16:59:05] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[16:59:05] [PASSED] drm_test_connector_hdmi_init_bpc_null
[16:59:05] [PASSED] drm_test_connector_hdmi_init_formats_empty
[16:59:05] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[16:59:05] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[16:59:05] [PASSED] supported_formats=0x9 yuv420_allowed=1
[16:59:05] [PASSED] supported_formats=0x9 yuv420_allowed=0
[16:59:05] [PASSED] supported_formats=0x5 yuv420_allowed=1
[16:59:05] [PASSED] supported_formats=0x5 yuv420_allowed=0
[16:59:05] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:59:05] [PASSED] drm_test_connector_hdmi_init_null_ddc
[16:59:05] [PASSED] drm_test_connector_hdmi_init_null_product
[16:59:05] [PASSED] drm_test_connector_hdmi_init_null_vendor
[16:59:05] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[16:59:05] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[16:59:05] [PASSED] drm_test_connector_hdmi_init_product_valid
[16:59:05] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[16:59:05] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[16:59:05] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[16:59:05] ========= drm_test_connector_hdmi_init_type_valid  =========
[16:59:05] [PASSED] HDMI-A
[16:59:05] [PASSED] HDMI-B
[16:59:05] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[16:59:05] ======== drm_test_connector_hdmi_init_type_invalid  ========
[16:59:05] [PASSED] Unknown
[16:59:05] [PASSED] VGA
[16:59:05] [PASSED] DVI-I
[16:59:05] [PASSED] DVI-D
[16:59:05] [PASSED] DVI-A
[16:59:05] [PASSED] Composite
[16:59:05] [PASSED] SVIDEO
[16:59:05] [PASSED] LVDS
[16:59:05] [PASSED] Component
[16:59:05] [PASSED] DIN
[16:59:05] [PASSED] DP
[16:59:05] [PASSED] TV
[16:59:05] [PASSED] eDP
[16:59:05] [PASSED] Virtual
[16:59:05] [PASSED] DSI
[16:59:05] [PASSED] DPI
[16:59:05] [PASSED] Writeback
[16:59:05] [PASSED] SPI
[16:59:05] [PASSED] USB
[16:59:05] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[16:59:05] ============ [PASSED] drmm_connector_hdmi_init =============
[16:59:05] ============= drmm_connector_init (3 subtests) =============
[16:59:05] [PASSED] drm_test_drmm_connector_init
[16:59:05] [PASSED] drm_test_drmm_connector_init_null_ddc
[16:59:05] ========= drm_test_drmm_connector_init_type_valid  =========
[16:59:05] [PASSED] Unknown
[16:59:05] [PASSED] VGA
[16:59:05] [PASSED] DVI-I
[16:59:05] [PASSED] DVI-D
[16:59:05] [PASSED] DVI-A
[16:59:05] [PASSED] Composite
[16:59:05] [PASSED] SVIDEO
[16:59:05] [PASSED] LVDS
[16:59:05] [PASSED] Component
[16:59:05] [PASSED] DIN
[16:59:05] [PASSED] DP
[16:59:05] [PASSED] HDMI-A
[16:59:05] [PASSED] HDMI-B
[16:59:05] [PASSED] TV
[16:59:05] [PASSED] eDP
[16:59:05] [PASSED] Virtual
[16:59:05] [PASSED] DSI
[16:59:05] [PASSED] DPI
[16:59:05] [PASSED] Writeback
[16:59:05] [PASSED] SPI
[16:59:05] [PASSED] USB
[16:59:05] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[16:59:05] =============== [PASSED] drmm_connector_init ===============
[16:59:05] ========= drm_connector_dynamic_init (6 subtests) ==========
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_init
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_init_properties
[16:59:05] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[16:59:05] [PASSED] Unknown
[16:59:05] [PASSED] VGA
[16:59:05] [PASSED] DVI-I
[16:59:05] [PASSED] DVI-D
[16:59:05] [PASSED] DVI-A
[16:59:05] [PASSED] Composite
[16:59:05] [PASSED] SVIDEO
[16:59:05] [PASSED] LVDS
[16:59:05] [PASSED] Component
[16:59:05] [PASSED] DIN
[16:59:05] [PASSED] DP
[16:59:05] [PASSED] HDMI-A
[16:59:05] [PASSED] HDMI-B
[16:59:05] [PASSED] TV
[16:59:05] [PASSED] eDP
[16:59:05] [PASSED] Virtual
[16:59:05] [PASSED] DSI
[16:59:05] [PASSED] DPI
[16:59:05] [PASSED] Writeback
[16:59:05] [PASSED] SPI
[16:59:05] [PASSED] USB
[16:59:05] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[16:59:05] ======== drm_test_drm_connector_dynamic_init_name  =========
[16:59:05] [PASSED] Unknown
[16:59:05] [PASSED] VGA
[16:59:05] [PASSED] DVI-I
[16:59:05] [PASSED] DVI-D
[16:59:05] [PASSED] DVI-A
[16:59:05] [PASSED] Composite
[16:59:05] [PASSED] SVIDEO
[16:59:05] [PASSED] LVDS
[16:59:05] [PASSED] Component
[16:59:05] [PASSED] DIN
[16:59:05] [PASSED] DP
[16:59:05] [PASSED] HDMI-A
[16:59:05] [PASSED] HDMI-B
[16:59:05] [PASSED] TV
[16:59:05] [PASSED] eDP
[16:59:05] [PASSED] Virtual
[16:59:05] [PASSED] DSI
[16:59:05] [PASSED] DPI
[16:59:05] [PASSED] Writeback
[16:59:05] [PASSED] SPI
[16:59:05] [PASSED] USB
[16:59:05] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[16:59:05] =========== [PASSED] drm_connector_dynamic_init ============
[16:59:05] ==== drm_connector_dynamic_register_early (4 subtests) =====
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[16:59:05] ====== [PASSED] drm_connector_dynamic_register_early =======
[16:59:05] ======= drm_connector_dynamic_register (7 subtests) ========
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[16:59:05] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[16:59:05] ========= [PASSED] drm_connector_dynamic_register ==========
[16:59:05] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[16:59:05] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[16:59:05] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[16:59:05] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[16:59:05] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[16:59:05] ========== drm_test_get_tv_mode_from_name_valid  ===========
[16:59:05] [PASSED] NTSC
[16:59:05] [PASSED] NTSC-443
[16:59:05] [PASSED] NTSC-J
[16:59:05] [PASSED] PAL
[16:59:05] [PASSED] PAL-M
[16:59:05] [PASSED] PAL-N
[16:59:05] [PASSED] SECAM
[16:59:05] [PASSED] Mono
[16:59:05] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[16:59:05] [PASSED] drm_test_get_tv_mode_from_name_truncated
[16:59:05] ============ [PASSED] drm_get_tv_mode_from_name ============
[16:59:05] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[16:59:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[16:59:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[16:59:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[16:59:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[16:59:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[16:59:05] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[16:59:05] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[16:59:05] [PASSED] VIC 96
[16:59:05] [PASSED] VIC 97
[16:59:05] [PASSED] VIC 101
[16:59:05] [PASSED] VIC 102
[16:59:05] [PASSED] VIC 106
[16:59:05] [PASSED] VIC 107
[16:59:05] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[16:59:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[16:59:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[16:59:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[16:59:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[16:59:05] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[16:59:05] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[16:59:05] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[16:59:05] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[16:59:05] [PASSED] Automatic
[16:59:05] [PASSED] Full
[16:59:05] [PASSED] Limited 16:235
[16:59:05] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[16:59:05] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[16:59:05] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[16:59:05] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[16:59:05] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[16:59:05] [PASSED] RGB
[16:59:05] [PASSED] YUV 4:2:0
[16:59:05] [PASSED] YUV 4:2:2
[16:59:05] [PASSED] YUV 4:4:4
[16:59:05] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[16:59:05] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[16:59:05] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[16:59:05] ============= drm_damage_helper (21 subtests) ==============
[16:59:05] [PASSED] drm_test_damage_iter_no_damage
[16:59:05] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[16:59:05] [PASSED] drm_test_damage_iter_no_damage_src_moved
[16:59:05] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[16:59:05] [PASSED] drm_test_damage_iter_no_damage_not_visible
[16:59:05] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[16:59:05] [PASSED] drm_test_damage_iter_no_damage_no_fb
[16:59:05] [PASSED] drm_test_damage_iter_simple_damage
[16:59:05] [PASSED] drm_test_damage_iter_single_damage
[16:59:05] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[16:59:05] [PASSED] drm_test_damage_iter_single_damage_outside_src
[16:59:05] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[16:59:05] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[16:59:05] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[16:59:05] [PASSED] drm_test_damage_iter_single_damage_src_moved
[16:59:05] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[16:59:05] [PASSED] drm_test_damage_iter_damage
[16:59:05] [PASSED] drm_test_damage_iter_damage_one_intersect
[16:59:05] [PASSED] drm_test_damage_iter_damage_one_outside
[16:59:05] [PASSED] drm_test_damage_iter_damage_src_moved
[16:59:05] [PASSED] drm_test_damage_iter_damage_not_visible
[16:59:05] ================ [PASSED] drm_damage_helper ================
[16:59:05] ============== drm_dp_mst_helper (3 subtests) ==============
[16:59:05] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[16:59:05] [PASSED] Clock 154000 BPP 30 DSC disabled
[16:59:05] [PASSED] Clock 234000 BPP 30 DSC disabled
[16:59:05] [PASSED] Clock 297000 BPP 24 DSC disabled
[16:59:05] [PASSED] Clock 332880 BPP 24 DSC enabled
[16:59:05] [PASSED] Clock 324540 BPP 24 DSC enabled
[16:59:05] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[16:59:05] ============== drm_test_dp_mst_calc_pbn_div  ===============
[16:59:05] [PASSED] Link rate 2000000 lane count 4
[16:59:05] [PASSED] Link rate 2000000 lane count 2
[16:59:05] [PASSED] Link rate 2000000 lane count 1
[16:59:05] [PASSED] Link rate 1350000 lane count 4
[16:59:05] [PASSED] Link rate 1350000 lane count 2
[16:59:05] [PASSED] Link rate 1350000 lane count 1
[16:59:05] [PASSED] Link rate 1000000 lane count 4
[16:59:05] [PASSED] Link rate 1000000 lane count 2
[16:59:05] [PASSED] Link rate 1000000 lane count 1
[16:59:05] [PASSED] Link rate 810000 lane count 4
[16:59:05] [PASSED] Link rate 810000 lane count 2
[16:59:05] [PASSED] Link rate 810000 lane count 1
[16:59:05] [PASSED] Link rate 540000 lane count 4
[16:59:05] [PASSED] Link rate 540000 lane count 2
[16:59:05] [PASSED] Link rate 540000 lane count 1
[16:59:05] [PASSED] Link rate 270000 lane count 4
[16:59:05] [PASSED] Link rate 270000 lane count 2
[16:59:05] [PASSED] Link rate 270000 lane count 1
[16:59:05] [PASSED] Link rate 162000 lane count 4
[16:59:05] [PASSED] Link rate 162000 lane count 2
[16:59:05] [PASSED] Link rate 162000 lane count 1
[16:59:05] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[16:59:05] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[16:59:05] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[16:59:05] [PASSED] DP_POWER_UP_PHY with port number
[16:59:05] [PASSED] DP_POWER_DOWN_PHY with port number
[16:59:05] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[16:59:05] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[16:59:05] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[16:59:05] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[16:59:05] [PASSED] DP_QUERY_PAYLOAD with port number
[16:59:05] [PASSED] DP_QUERY_PAYLOAD with VCPI
[16:59:05] [PASSED] DP_REMOTE_DPCD_READ with port number
[16:59:05] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[16:59:05] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[16:59:05] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[16:59:05] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[16:59:05] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[16:59:05] [PASSED] DP_REMOTE_I2C_READ with port number
[16:59:05] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[16:59:05] [PASSED] DP_REMOTE_I2C_READ with transactions array
[16:59:05] [PASSED] DP_REMOTE_I2C_WRITE with port number
[16:59:05] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[16:59:05] [PASSED] DP_REMOTE_I2C_WRITE with data array
[16:59:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[16:59:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[16:59:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[16:59:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[16:59:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[16:59:05] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[16:59:05] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[16:59:05] ================ [PASSED] drm_dp_mst_helper ================
[16:59:05] ================== drm_exec (7 subtests) ===================
[16:59:05] [PASSED] sanitycheck
[16:59:05] [PASSED] test_lock
[16:59:05] [PASSED] test_lock_unlock
[16:59:05] [PASSED] test_duplicates
[16:59:05] [PASSED] test_prepare
[16:59:05] [PASSED] test_prepare_array
[16:59:05] [PASSED] test_multiple_loops
[16:59:05] ==================== [PASSED] drm_exec =====================
[16:59:05] =========== drm_format_helper_test (17 subtests) ===========
[16:59:05] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[16:59:05] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[16:59:05] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[16:59:05] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[16:59:05] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[16:59:05] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[16:59:05] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[16:59:05] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[16:59:05] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[16:59:05] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[16:59:05] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[16:59:05] ============== drm_test_fb_xrgb8888_to_mono  ===============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[16:59:05] ==================== drm_test_fb_swab  =====================
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ================ [PASSED] drm_test_fb_swab =================
[16:59:05] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[16:59:05] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[16:59:05] [PASSED] single_pixel_source_buffer
[16:59:05] [PASSED] single_pixel_clip_rectangle
[16:59:05] [PASSED] well_known_colors
[16:59:05] [PASSED] destination_pitch
[16:59:05] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[16:59:05] ================= drm_test_fb_clip_offset  =================
[16:59:05] [PASSED] pass through
[16:59:05] [PASSED] horizontal offset
[16:59:05] [PASSED] vertical offset
[16:59:05] [PASSED] horizontal and vertical offset
[16:59:05] [PASSED] horizontal offset (custom pitch)
[16:59:05] [PASSED] vertical offset (custom pitch)
[16:59:05] [PASSED] horizontal and vertical offset (custom pitch)
[16:59:05] ============= [PASSED] drm_test_fb_clip_offset =============
[16:59:05] =================== drm_test_fb_memcpy  ====================
[16:59:05] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[16:59:05] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[16:59:05] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[16:59:05] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[16:59:05] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[16:59:05] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[16:59:05] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[16:59:05] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[16:59:05] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[16:59:05] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[16:59:05] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[16:59:05] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[16:59:05] =============== [PASSED] drm_test_fb_memcpy ================
[16:59:05] ============= [PASSED] drm_format_helper_test ==============
[16:59:05] ================= drm_format (18 subtests) =================
[16:59:05] [PASSED] drm_test_format_block_width_invalid
[16:59:05] [PASSED] drm_test_format_block_width_one_plane
[16:59:05] [PASSED] drm_test_format_block_width_two_plane
[16:59:05] [PASSED] drm_test_format_block_width_three_plane
[16:59:05] [PASSED] drm_test_format_block_width_tiled
[16:59:05] [PASSED] drm_test_format_block_height_invalid
[16:59:05] [PASSED] drm_test_format_block_height_one_plane
[16:59:05] [PASSED] drm_test_format_block_height_two_plane
[16:59:05] [PASSED] drm_test_format_block_height_three_plane
[16:59:05] [PASSED] drm_test_format_block_height_tiled
[16:59:05] [PASSED] drm_test_format_min_pitch_invalid
[16:59:05] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[16:59:05] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[16:59:05] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[16:59:05] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[16:59:05] [PASSED] drm_test_format_min_pitch_two_plane
[16:59:05] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[16:59:05] [PASSED] drm_test_format_min_pitch_tiled
[16:59:05] =================== [PASSED] drm_format ====================
[16:59:05] ============== drm_framebuffer (10 subtests) ===============
[16:59:05] ========== drm_test_framebuffer_check_src_coords  ==========
[16:59:05] [PASSED] Success: source fits into fb
[16:59:05] [PASSED] Fail: overflowing fb with x-axis coordinate
[16:59:05] [PASSED] Fail: overflowing fb with y-axis coordinate
[16:59:05] [PASSED] Fail: overflowing fb with source width
[16:59:05] [PASSED] Fail: overflowing fb with source height
[16:59:05] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[16:59:05] [PASSED] drm_test_framebuffer_cleanup
[16:59:05] =============== drm_test_framebuffer_create  ===============
[16:59:05] [PASSED] ABGR8888 normal sizes
[16:59:05] [PASSED] ABGR8888 max sizes
[16:59:05] [PASSED] ABGR8888 pitch greater than min required
[16:59:05] [PASSED] ABGR8888 pitch less than min required
[16:59:05] [PASSED] ABGR8888 Invalid width
[16:59:05] [PASSED] ABGR8888 Invalid buffer handle
[16:59:05] [PASSED] No pixel format
[16:59:05] [PASSED] ABGR8888 Width 0
[16:59:05] [PASSED] ABGR8888 Height 0
[16:59:05] [PASSED] ABGR8888 Out of bound height * pitch combination
[16:59:05] [PASSED] ABGR8888 Large buffer offset
[16:59:05] [PASSED] ABGR8888 Buffer offset for inexistent plane
[16:59:05] [PASSED] ABGR8888 Invalid flag
[16:59:05] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[16:59:05] [PASSED] ABGR8888 Valid buffer modifier
[16:59:05] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[16:59:05] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[16:59:05] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[16:59:05] [PASSED] NV12 Normal sizes
[16:59:05] [PASSED] NV12 Max sizes
[16:59:05] [PASSED] NV12 Invalid pitch
[16:59:05] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[16:59:05] [PASSED] NV12 different  modifier per-plane
[16:59:05] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[16:59:05] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[16:59:05] [PASSED] NV12 Modifier for inexistent plane
[16:59:05] [PASSED] NV12 Handle for inexistent plane
[16:59:05] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[16:59:05] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[16:59:05] [PASSED] YVU420 Normal sizes
[16:59:05] [PASSED] YVU420 Max sizes
[16:59:05] [PASSED] YVU420 Invalid pitch
[16:59:05] [PASSED] YVU420 Different pitches
[16:59:05] [PASSED] YVU420 Different buffer offsets/pitches
[16:59:05] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[16:59:05] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[16:59:05] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[16:59:05] [PASSED] YVU420 Valid modifier
[16:59:05] [PASSED] YVU420 Different modifiers per plane
[16:59:05] [PASSED] YVU420 Modifier for inexistent plane
[16:59:05] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[16:59:05] [PASSED] X0L2 Normal sizes
[16:59:05] [PASSED] X0L2 Max sizes
[16:59:05] [PASSED] X0L2 Invalid pitch
[16:59:05] [PASSED] X0L2 Pitch greater than minimum required
[16:59:05] [PASSED] X0L2 Handle for inexistent plane
[16:59:05] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[16:59:05] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[16:59:05] [PASSED] X0L2 Valid modifier
[16:59:05] [PASSED] X0L2 Modifier for inexistent plane
[16:59:05] =========== [PASSED] drm_test_framebuffer_create ===========
[16:59:05] [PASSED] drm_test_framebuffer_free
[16:59:05] [PASSED] drm_test_framebuffer_init
[16:59:05] [PASSED] drm_test_framebuffer_init_bad_format
[16:59:05] [PASSED] drm_test_framebuffer_init_dev_mismatch
[16:59:05] [PASSED] drm_test_framebuffer_lookup
[16:59:05] [PASSED] drm_test_framebuffer_lookup_inexistent
[16:59:05] [PASSED] drm_test_framebuffer_modifiers_not_supported
[16:59:05] ================= [PASSED] drm_framebuffer =================
[16:59:05] ================ drm_gem_shmem (8 subtests) ================
[16:59:05] [PASSED] drm_gem_shmem_test_obj_create
[16:59:05] [PASSED] drm_gem_shmem_test_obj_create_private
[16:59:05] [PASSED] drm_gem_shmem_test_pin_pages
[16:59:05] [PASSED] drm_gem_shmem_test_vmap
[16:59:05] [PASSED] drm_gem_shmem_test_get_sg_table
[16:59:05] [PASSED] drm_gem_shmem_test_get_pages_sgt
[16:59:05] [PASSED] drm_gem_shmem_test_madvise
[16:59:05] [PASSED] drm_gem_shmem_test_purge
[16:59:05] ================== [PASSED] drm_gem_shmem ==================
[16:59:05] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[16:59:05] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420  =======
[16:59:05] [PASSED] Automatic
[16:59:05] [PASSED] Full
[16:59:05] [PASSED] Limited 16:235
[16:59:05] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[16:59:05] [PASSED] drm_test_check_disable_connector
[16:59:05] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[16:59:05] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[16:59:05] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[16:59:05] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[16:59:05] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[16:59:05] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[16:59:05] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[16:59:05] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[16:59:05] [PASSED] drm_test_check_output_bpc_dvi
[16:59:05] [PASSED] drm_test_check_output_bpc_format_vic_1
[16:59:05] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[16:59:05] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[16:59:05] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[16:59:05] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[16:59:05] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[16:59:05] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[16:59:05] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[16:59:05] ============ drm_test_check_hdmi_color_format  =============
[16:59:05] [PASSED] AUTO -> RGB
[16:59:05] [PASSED] YCBCR422 -> YUV422
[16:59:05] [PASSED] YCBCR420 -> YUV420
[16:59:05] [PASSED] YCBCR444 -> YUV444
[16:59:05] [PASSED] RGB -> RGB
[16:59:05] ======== [PASSED] drm_test_check_hdmi_color_format =========
[16:59:05] ======== drm_test_check_hdmi_color_format_420_only  ========
[16:59:05] [PASSED] RGB should fail
[16:59:05] [PASSED] YUV444 should fail
[16:59:05] [PASSED] YUV422 should fail
[16:59:05] [PASSED] YUV420 should work
[16:59:05] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[16:59:05] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[16:59:05] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[16:59:05] [PASSED] drm_test_check_broadcast_rgb_value
[16:59:05] [PASSED] drm_test_check_bpc_8_value
[16:59:05] [PASSED] drm_test_check_bpc_10_value
[16:59:05] [PASSED] drm_test_check_bpc_12_value
[16:59:05] [PASSED] drm_test_check_format_value
[16:59:05] [PASSED] drm_test_check_tmds_char_value
[16:59:05] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[16:59:05] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[16:59:05] [PASSED] drm_test_check_mode_valid
[16:59:05] [PASSED] drm_test_check_mode_valid_reject
[16:59:05] [PASSED] drm_test_check_mode_valid_reject_rate
[16:59:05] [PASSED] drm_test_check_mode_valid_reject_max_clock
[16:59:05] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[16:59:05] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[16:59:05] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[16:59:05] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[16:59:05] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[16:59:05] [PASSED] drm_test_check_infoframes
[16:59:05] [PASSED] drm_test_check_reject_avi_infoframe
[16:59:05] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[16:59:05] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[16:59:05] [PASSED] drm_test_check_reject_audio_infoframe
[16:59:05] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[16:59:05] ================= drm_managed (2 subtests) =================
[16:59:05] [PASSED] drm_test_managed_release_action
[16:59:05] [PASSED] drm_test_managed_run_action
[16:59:05] =================== [PASSED] drm_managed ===================
[16:59:05] =================== drm_mm (6 subtests) ====================
[16:59:05] [PASSED] drm_test_mm_init
[16:59:05] [PASSED] drm_test_mm_debug
[16:59:05] [PASSED] drm_test_mm_align32
[16:59:05] [PASSED] drm_test_mm_align64
[16:59:05] [PASSED] drm_test_mm_lowest
[16:59:05] [PASSED] drm_test_mm_highest
[16:59:05] ===================== [PASSED] drm_mm ======================
[16:59:05] ============= drm_modes_analog_tv (5 subtests) =============
[16:59:05] [PASSED] drm_test_modes_analog_tv_mono_576i
[16:59:05] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[16:59:05] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[16:59:05] [PASSED] drm_test_modes_analog_tv_pal_576i
[16:59:05] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[16:59:05] =============== [PASSED] drm_modes_analog_tv ===============
[16:59:05] ============== drm_plane_helper (2 subtests) ===============
[16:59:05] =============== drm_test_check_plane_state  ================
[16:59:05] [PASSED] clipping_simple
[16:59:05] [PASSED] clipping_rotate_reflect
[16:59:05] [PASSED] positioning_simple
[16:59:05] [PASSED] upscaling
[16:59:05] [PASSED] downscaling
[16:59:05] [PASSED] rounding1
[16:59:05] [PASSED] rounding2
[16:59:05] [PASSED] rounding3
[16:59:05] [PASSED] rounding4
[16:59:05] =========== [PASSED] drm_test_check_plane_state ============
[16:59:05] =========== drm_test_check_invalid_plane_state  ============
[16:59:05] [PASSED] positioning_invalid
[16:59:05] [PASSED] upscaling_invalid
[16:59:05] [PASSED] downscaling_invalid
[16:59:05] ======= [PASSED] drm_test_check_invalid_plane_state ========
[16:59:05] ================ [PASSED] drm_plane_helper =================
[16:59:05] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[16:59:05] ====== drm_test_connector_helper_tv_get_modes_check  =======
[16:59:05] [PASSED] None
[16:59:05] [PASSED] PAL
[16:59:05] [PASSED] NTSC
[16:59:05] [PASSED] Both, NTSC Default
[16:59:05] [PASSED] Both, PAL Default
[16:59:05] [PASSED] Both, NTSC Default, with PAL on command-line
[16:59:05] [PASSED] Both, PAL Default, with NTSC on command-line
[16:59:05] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[16:59:05] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[16:59:05] ================== drm_rect (9 subtests) ===================
[16:59:05] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[16:59:05] [PASSED] drm_test_rect_clip_scaled_not_clipped
[16:59:05] [PASSED] drm_test_rect_clip_scaled_clipped
[16:59:05] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[16:59:05] ================= drm_test_rect_intersect  =================
[16:59:05] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[16:59:05] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[16:59:05] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[16:59:05] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[16:59:05] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[16:59:05] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[16:59:05] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[16:59:05] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[16:59:05] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[16:59:05] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[16:59:05] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[16:59:05] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[16:59:05] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[16:59:05] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[16:59:05] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[16:59:05] ============= [PASSED] drm_test_rect_intersect =============
[16:59:05] ================ drm_test_rect_calc_hscale  ================
[16:59:05] [PASSED] normal use
[16:59:05] [PASSED] out of max range
[16:59:05] [PASSED] out of min range
[16:59:05] [PASSED] zero dst
[16:59:05] [PASSED] negative src
[16:59:05] [PASSED] negative dst
[16:59:05] ============ [PASSED] drm_test_rect_calc_hscale ============
[16:59:05] ================ drm_test_rect_calc_vscale  ================
[16:59:05] [PASSED] normal use
[16:59:05] [PASSED] out of max range
[16:59:05] [PASSED] out of min range
[16:59:05] [PASSED] zero dst
[16:59:05] [PASSED] negative src
[16:59:05] [PASSED] negative dst
[16:59:05] ============ [PASSED] drm_test_rect_calc_vscale ============
[16:59:05] ================== drm_test_rect_rotate  ===================
[16:59:05] [PASSED] reflect-x
[16:59:05] [PASSED] reflect-y
[16:59:05] [PASSED] rotate-0
[16:59:05] [PASSED] rotate-90
[16:59:05] [PASSED] rotate-180
[16:59:05] [PASSED] rotate-270
[16:59:05] ============== [PASSED] drm_test_rect_rotate ===============
[16:59:05] ================ drm_test_rect_rotate_inv  =================
[16:59:05] [PASSED] reflect-x
[16:59:05] [PASSED] reflect-y
[16:59:05] [PASSED] rotate-0
[16:59:05] [PASSED] rotate-90
[16:59:05] [PASSED] rotate-180
[16:59:05] [PASSED] rotate-270
[16:59:05] ============ [PASSED] drm_test_rect_rotate_inv =============
[16:59:05] ==================== [PASSED] drm_rect =====================
[16:59:05] ============ drm_sysfb_modeset_test (1 subtest) ============
[16:59:05] ============ drm_test_sysfb_build_fourcc_list  =============
[16:59:05] [PASSED] no native formats
[16:59:05] [PASSED] XRGB8888 as native format
[16:59:05] [PASSED] remove duplicates
[16:59:05] [PASSED] convert alpha formats
[16:59:05] [PASSED] random formats
[16:59:05] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[16:59:05] ============= [PASSED] drm_sysfb_modeset_test ==============
[16:59:05] ================== drm_fixp (2 subtests) ===================
[16:59:05] [PASSED] drm_test_int2fixp
[16:59:05] [PASSED] drm_test_sm2fixp
[16:59:05] ==================== [PASSED] drm_fixp =====================
[16:59:05] ============================================================
[16:59:05] Testing complete. Ran 641 tests: passed: 641
[16:59:05] Elapsed time: 26.387s total, 1.787s configuring, 24.436s building, 0.142s 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:59:06] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:59:07] 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:59:18] Starting KUnit Kernel (1/1)...
[16:59:18] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:59:18] ============= refcount_interrupt (4 subtests) ==============
[16:59:18] [PASSED] test_single_irq_change
[16:59:18] [PASSED] test_nested_irq_change
[16:59:18] [PASSED] test_multiple_irq_change
[16:59:18] [PASSED] test_irq_save
[16:59:18] =============== [PASSED] refcount_interrupt ================
[16:59:18] ================= ttm_device (5 subtests) ==================
[16:59:18] [PASSED] ttm_device_init_basic
[16:59:18] [PASSED] ttm_device_init_multiple
[16:59:18] [PASSED] ttm_device_fini_basic
[16:59:18] [PASSED] ttm_device_init_no_vma_man
[16:59:18] ================== ttm_device_init_pools  ==================
[16:59:18] [PASSED] No DMA allocations, no DMA32 required
[16:59:18] [PASSED] DMA allocations, DMA32 required
[16:59:18] [PASSED] No DMA allocations, DMA32 required
[16:59:18] [PASSED] DMA allocations, no DMA32 required
[16:59:18] ============== [PASSED] ttm_device_init_pools ==============
[16:59:18] =================== [PASSED] ttm_device ====================
[16:59:18] ================== ttm_pool (8 subtests) ===================
[16:59:18] ================== ttm_pool_alloc_basic  ===================
[16:59:18] [PASSED] One page
[16:59:18] [PASSED] More than one page
[16:59:18] [PASSED] Above the allocation limit
[16:59:18] [PASSED] One page, with coherent DMA mappings enabled
[16:59:18] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:59:18] ============== [PASSED] ttm_pool_alloc_basic ===============
[16:59:18] ============== ttm_pool_alloc_basic_dma_addr  ==============
[16:59:18] [PASSED] One page
[16:59:18] [PASSED] More than one page
[16:59:18] [PASSED] Above the allocation limit
[16:59:18] [PASSED] One page, with coherent DMA mappings enabled
[16:59:18] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:59:18] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[16:59:18] [PASSED] ttm_pool_alloc_order_caching_match
[16:59:18] [PASSED] ttm_pool_alloc_caching_mismatch
[16:59:18] [PASSED] ttm_pool_alloc_order_mismatch
[16:59:18] [PASSED] ttm_pool_free_dma_alloc
[16:59:18] [PASSED] ttm_pool_free_no_dma_alloc
[16:59:18] [PASSED] ttm_pool_fini_basic
[16:59:18] ==================== [PASSED] ttm_pool =====================
[16:59:18] ================ ttm_resource (8 subtests) =================
[16:59:18] ================= ttm_resource_init_basic  =================
[16:59:18] [PASSED] Init resource in TTM_PL_SYSTEM
[16:59:18] [PASSED] Init resource in TTM_PL_VRAM
[16:59:18] [PASSED] Init resource in a private placement
[16:59:18] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[16:59:18] ============= [PASSED] ttm_resource_init_basic =============
[16:59:18] [PASSED] ttm_resource_init_pinned
[16:59:18] [PASSED] ttm_resource_fini_basic
[16:59:18] [PASSED] ttm_resource_manager_init_basic
[16:59:18] [PASSED] ttm_resource_manager_usage_basic
[16:59:18] [PASSED] ttm_resource_manager_set_used_basic
[16:59:18] [PASSED] ttm_sys_man_alloc_basic
[16:59:18] [PASSED] ttm_sys_man_free_basic
[16:59:18] ================== [PASSED] ttm_resource ===================
[16:59:18] =================== ttm_tt (15 subtests) ===================
[16:59:18] ==================== ttm_tt_init_basic  ====================
[16:59:18] [PASSED] Page-aligned size
[16:59:18] [PASSED] Extra pages requested
[16:59:18] ================ [PASSED] ttm_tt_init_basic ================
[16:59:18] [PASSED] ttm_tt_init_misaligned
[16:59:18] [PASSED] ttm_tt_fini_basic
[16:59:18] [PASSED] ttm_tt_fini_sg
[16:59:18] [PASSED] ttm_tt_fini_shmem
[16:59:18] [PASSED] ttm_tt_create_basic
[16:59:18] [PASSED] ttm_tt_create_invalid_bo_type
[16:59:18] [PASSED] ttm_tt_create_ttm_exists
[16:59:18] [PASSED] ttm_tt_create_failed
[16:59:18] [PASSED] ttm_tt_destroy_basic
[16:59:18] [PASSED] ttm_tt_populate_null_ttm
[16:59:18] [PASSED] ttm_tt_populate_populated_ttm
[16:59:18] [PASSED] ttm_tt_unpopulate_basic
[16:59:18] [PASSED] ttm_tt_unpopulate_empty_ttm
[16:59:18] [PASSED] ttm_tt_swapin_basic
[16:59:18] ===================== [PASSED] ttm_tt ======================
[16:59:18] =================== ttm_bo (14 subtests) ===================
[16:59:18] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[16:59:18] [PASSED] Cannot be interrupted and sleeps
[16:59:18] [PASSED] Cannot be interrupted, locks straight away
[16:59:18] [PASSED] Can be interrupted, sleeps
[16:59:18] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[16:59:18] [PASSED] ttm_bo_reserve_locked_no_sleep
[16:59:18] [PASSED] ttm_bo_reserve_no_wait_ticket
[16:59:18] [PASSED] ttm_bo_reserve_double_resv
[16:59:18] [PASSED] ttm_bo_reserve_interrupted
[16:59:18] [PASSED] ttm_bo_reserve_deadlock
[16:59:18] [PASSED] ttm_bo_unreserve_basic
[16:59:18] [PASSED] ttm_bo_unreserve_pinned
[16:59:18] [PASSED] ttm_bo_unreserve_bulk
[16:59:18] [PASSED] ttm_bo_fini_basic
[16:59:18] [PASSED] ttm_bo_fini_shared_resv
[16:59:18] [PASSED] ttm_bo_pin_basic
[16:59:18] [PASSED] ttm_bo_pin_unpin_resource
[16:59:18] [PASSED] ttm_bo_multiple_pin_one_unpin
[16:59:18] ===================== [PASSED] ttm_bo ======================
[16:59:18] ============== ttm_bo_validate (22 subtests) ===============
[16:59:18] ============== ttm_bo_init_reserved_sys_man  ===============
[16:59:18] [PASSED] Buffer object for userspace
[16:59:18] [PASSED] Kernel buffer object
[16:59:18] [PASSED] Shared buffer object
[16:59:18] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[16:59:18] ============== ttm_bo_init_reserved_mock_man  ==============
[16:59:18] [PASSED] Buffer object for userspace
[16:59:18] [PASSED] Kernel buffer object
[16:59:18] [PASSED] Shared buffer object
[16:59:18] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[16:59:18] [PASSED] ttm_bo_init_reserved_resv
[16:59:18] ================== ttm_bo_validate_basic  ==================
[16:59:18] [PASSED] Buffer object for userspace
[16:59:18] [PASSED] Kernel buffer object
[16:59:18] [PASSED] Shared buffer object
[16:59:18] ============== [PASSED] ttm_bo_validate_basic ==============
[16:59:18] [PASSED] ttm_bo_validate_invalid_placement
[16:59:18] ============= ttm_bo_validate_same_placement  ==============
[16:59:18] [PASSED] System manager
[16:59:18] [PASSED] VRAM manager
[16:59:18] ========= [PASSED] ttm_bo_validate_same_placement ==========
[16:59:18] [PASSED] ttm_bo_validate_failed_alloc
[16:59:18] [PASSED] ttm_bo_validate_pinned
[16:59:18] [PASSED] ttm_bo_validate_busy_placement
[16:59:18] ================ ttm_bo_validate_multihop  =================
[16:59:18] [PASSED] Buffer object for userspace
[16:59:18] [PASSED] Kernel buffer object
[16:59:18] [PASSED] Shared buffer object
[16:59:18] ============ [PASSED] ttm_bo_validate_multihop =============
[16:59:18] ========== ttm_bo_validate_no_placement_signaled  ==========
[16:59:18] [PASSED] Buffer object in system domain, no page vector
[16:59:18] [PASSED] Buffer object in system domain with an existing page vector
[16:59:18] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[16:59:18] ======== ttm_bo_validate_no_placement_not_signaled  ========
[16:59:18] [PASSED] Buffer object for userspace
[16:59:18] [PASSED] Kernel buffer object
[16:59:18] [PASSED] Shared buffer object
[16:59:18] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[16:59:18] [PASSED] ttm_bo_validate_move_fence_signaled
[16:59:18] ========= ttm_bo_validate_move_fence_not_signaled  =========
[16:59:18] [PASSED] Waits for GPU
[16:59:18] [PASSED] Tries to lock straight away
[16:59:18] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[16:59:18] [PASSED] ttm_bo_validate_swapout
[16:59:18] [PASSED] ttm_bo_validate_happy_evict
[16:59:18] [PASSED] ttm_bo_validate_all_pinned_evict
[16:59:18] [PASSED] ttm_bo_validate_allowed_only_evict
[16:59:18] [PASSED] ttm_bo_validate_deleted_evict
[16:59:18] [PASSED] ttm_bo_validate_busy_domain_evict
[16:59:18] [PASSED] ttm_bo_validate_evict_gutting
[16:59:18] [PASSED] ttm_bo_validate_recrusive_evict
[16:59:18] ================= [PASSED] ttm_bo_validate =================
[16:59:18] ============================================================
[16:59:18] Testing complete. Ran 106 tests: passed: 106
[16:59:18] Elapsed time: 12.137s total, 1.818s configuring, 10.103s building, 0.185s 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:59:18] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:59:20] 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:59:28] Starting KUnit Kernel (1/1)...
[16:59:28] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:59:28] ============= refcount_interrupt (4 subtests) ==============
[16:59:28] [PASSED] test_single_irq_change
[16:59:28] [PASSED] test_nested_irq_change
[16:59:28] [PASSED] test_multiple_irq_change
[16:59:28] [PASSED] test_irq_save
[16:59:28] =============== [PASSED] refcount_interrupt ================
[16:59:28] =============== dma-buf-fence (12 subtests) ================
[16:59:28] [PASSED] test_sanitycheck
[16:59:28] [PASSED] test_signaling
[16:59:28] [PASSED] test_add_callback
[16:59:28] [PASSED] test_late_add_callback
[16:59:28] [PASSED] test_rm_callback
[16:59:28] [PASSED] test_late_rm_callback
[16:59:28] [PASSED] test_status
[16:59:28] [PASSED] test_error
[16:59:28] [PASSED] test_wait
[16:59:28] [PASSED] test_wait_timeout
[16:59:28] [PASSED] test_stub
[16:59:28] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[16:59:28] ================== [PASSED] dma-buf-fence ==================
[16:59:28] ============ dma-buf-fence-chain (11 subtests) =============
[16:59:28] [PASSED] test_sanitycheck
[16:59:28] [PASSED] test_find_seqno
[16:59:28] [PASSED] test_find_signaled
[16:59:28] [PASSED] test_find_out_of_order
[16:59:34] [PASSED] test_find_gap
[16:59:34] [PASSED] test_find_race
[16:59:34] [PASSED] test_signal_forward
[16:59:34] [PASSED] test_signal_backward
[16:59:34] [PASSED] test_wait_forward
[16:59:34] [PASSED] test_wait_backward
[16:59:34] [PASSED] test_wait_random
[16:59:34] =============== [PASSED] dma-buf-fence-chain ===============
[16:59:34] ============ dma-buf-fence-unwrap (10 subtests) ============
[16:59:34] [PASSED] test_sanitycheck
[16:59:34] [PASSED] test_unwrap_array
[16:59:34] [PASSED] test_unwrap_chain
[16:59:34] [PASSED] test_unwrap_chain_array
[16:59:34] [PASSED] test_unwrap_merge
[16:59:34] [PASSED] test_unwrap_merge_duplicate
[16:59:34] [PASSED] test_unwrap_merge_seqno
[16:59:34] [PASSED] test_unwrap_merge_order
[16:59:34] [PASSED] test_unwrap_merge_complex
[16:59:34] [PASSED] test_unwrap_merge_complex_seqno
[16:59:34] ============== [PASSED] dma-buf-fence-unwrap ===============
[16:59:34] ================ dma-buf-resv (5 subtests) =================
[16:59:34] [PASSED] test_sanitycheck
[16:59:34] ===================== test_signaling  ======================
[16:59:34] [PASSED] kernel
[16:59:34] [PASSED] write
[16:59:34] [PASSED] read
[16:59:34] [PASSED] bookkeep
[16:59:34] ================= [PASSED] test_signaling ==================
[16:59:34] ====================== test_for_each  ======================
[16:59:34] [PASSED] kernel
[16:59:34] [PASSED] write
[16:59:34] [PASSED] read
[16:59:34] [PASSED] bookkeep
[16:59:34] ================== [PASSED] test_for_each ==================
[16:59:34] ================= test_for_each_unlocked  ==================
[16:59:34] [PASSED] kernel
[16:59:34] [PASSED] write
[16:59:34] [PASSED] read
[16:59:34] [PASSED] bookkeep
[16:59:34] ============= [PASSED] test_for_each_unlocked ==============
[16:59:34] ===================== test_get_fences  =====================
[16:59:34] [PASSED] kernel
[16:59:34] [PASSED] write
[16:59:34] [PASSED] read
[16:59:34] [PASSED] bookkeep
[16:59:34] ================= [PASSED] test_get_fences =================
[16:59:34] ================== [PASSED] dma-buf-resv ===================
[16:59:34] ============================================================
[16:59:34] Testing complete. Ran 54 tests: passed: 53, skipped: 1
[16:59:34] Elapsed time: 15.812s total, 1.830s configuring, 8.610s building, 5.345s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* Re: [PATCH v5 8/8] drm/xe: convert PCI barrier mmap to use xe_mmio_gem
  2026-09-08 16:50 ` [PATCH v5 8/8] drm/xe: convert PCI barrier mmap to use xe_mmio_gem Matthew Auld
@ 2026-09-08 17:07   ` Thomas Hellström
  2026-09-08 17:23   ` sashiko-bot
  1 sibling, 0 replies; 16+ messages in thread
From: Thomas Hellström @ 2026-09-08 17:07 UTC (permalink / raw)
  To: Matthew Auld, intel-xe; +Cc: Tejas Upadhyay, Matthew Brost, Ilia Levi


On 9/8/26 18:50, Matthew Auld wrote:
> Convert the PCI barrier mmap over to use xe_mmio_gem, which is a good
> match for this functionality. This has the following advantages:
>
>   1. Removes a bunch of code.
>   2. Replaces the fragile hard coded fake offset design.
>   3. Adds the first user for xe_mmio_gem, which is preferred over nuking
>      it. There are also potentially other upcoming usecases wanting this
>      type of functionality, so having standard component to do this would
>      be good.
>
> There shouldn't be any big functional change here. From userspace pov,
> they still query the fake offset like before, just that now it is no
> longer hard coded in the KMD.
>
> v2 (Thomas):
>    - Prefer scoped_guard(). Also, just annotate ALL locations, even if
>      not strictly needed. Reflect that in the kernel-doc. This will also
>      shut up static analysis tools.
>
> Assisted-by: LLM
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: Ilia Levi <ilia.levi@intel.com>
> Reviewed-by: Ilia Levi <ilia.levi@intel.com>

Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>


> ---
>   drivers/gpu/drm/xe/xe_bo.c           |  51 +++++++++----
>   drivers/gpu/drm/xe/xe_bo.h           |   1 -
>   drivers/gpu/drm/xe/xe_device.c       | 106 +++------------------------
>   drivers/gpu/drm/xe/xe_device_types.h |  13 ++++
>   4 files changed, 61 insertions(+), 110 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> index b162753cebb7..9f3f0cb95afa 100644
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
> @@ -28,6 +28,7 @@
>   #include "xe_ggtt.h"
>   #include "xe_map.h"
>   #include "xe_migrate.h"
> +#include "xe_mmio_gem.h"
>   #include "xe_pat.h"
>   #include "xe_pm.h"
>   #include "xe_preempt_fence.h"
> @@ -3664,6 +3665,39 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
>   	return err;
>   }
>   
> +static int xe_gem_pci_barrier_mmap_offset(struct xe_device *xe, struct drm_file *file,
> +					  struct drm_xe_gem_mmap_offset *args)
> +{
> +	struct xe_file *xef = file->driver_priv;
> +	struct xe_mmio_gem **barrier = &xef->mmio_gem.pci_barrier;
> +
> +	if (XE_IOCTL_DBG(xe, !IS_DGFX(xe)))
> +		return -EINVAL;
> +
> +	if (XE_IOCTL_DBG(xe, args->handle))
> +		return -EINVAL;
> +
> +	scoped_guard(mutex, &xef->mmio_gem.lock) {
> +		if (!*barrier) {
> +			phys_addr_t phys_addr;
> +
> +#define LAST_DB_PAGE_OFFSET 0x7ff000
> +			phys_addr = pci_resource_start(to_pci_dev(xe->drm.dev), 0) +
> +				LAST_DB_PAGE_OFFSET;
> +			*barrier = xe_mmio_gem_create(xe, file, phys_addr, SZ_4K);
> +			if (IS_ERR(*barrier)) {
> +				int err = PTR_ERR(*barrier);
> +
> +				*barrier = NULL;
> +				return err;
> +			}
> +		}
> +
> +		args->offset = xe_mmio_gem_mmap_offset(*barrier);
> +	}
> +	return 0;
> +}
> +
>   int xe_gem_mmap_offset_ioctl(struct drm_device *dev, void *data,
>   			     struct drm_file *file)
>   {
> @@ -3679,21 +3713,8 @@ int xe_gem_mmap_offset_ioctl(struct drm_device *dev, void *data,
>   			 ~DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER))
>   		return -EINVAL;
>   
> -	if (args->flags & DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER) {
> -		if (XE_IOCTL_DBG(xe, !IS_DGFX(xe)))
> -			return -EINVAL;
> -
> -		if (XE_IOCTL_DBG(xe, args->handle))
> -			return -EINVAL;
> -
> -		if (XE_IOCTL_DBG(xe, PAGE_SIZE > SZ_4K))
> -			return -EINVAL;
> -
> -		BUILD_BUG_ON(((XE_PCI_BARRIER_MMAP_OFFSET >> XE_PTE_SHIFT) +
> -			      SZ_4K) >= DRM_FILE_PAGE_OFFSET_START);
> -		args->offset = XE_PCI_BARRIER_MMAP_OFFSET;
> -		return 0;
> -	}
> +	if (args->flags & DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER)
> +		return xe_gem_pci_barrier_mmap_offset(xe, file, args);
>   
>   	gem_obj = drm_gem_object_lookup(file, args->handle);
>   	if (XE_IOCTL_DBG(xe, !gem_obj))
> diff --git a/drivers/gpu/drm/xe/xe_bo.h b/drivers/gpu/drm/xe/xe_bo.h
> index eede678ad303..290ca624e2a7 100644
> --- a/drivers/gpu/drm/xe/xe_bo.h
> +++ b/drivers/gpu/drm/xe/xe_bo.h
> @@ -87,7 +87,6 @@
>   
>   #define XE_BO_PROPS_INVALID	(-1)
>   
> -#define XE_PCI_BARRIER_MMAP_OFFSET	(0x50 << XE_PTE_SHIFT)
>   
>   /**
>    * enum xe_madv_purgeable_state - Buffer object purgeable state enumeration
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 8583b2e9ecf4..205cb4e7f9e8 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -50,6 +50,7 @@
>   #include "xe_late_bind_fw.h"
>   #include "xe_log.h"
>   #include "xe_mmio.h"
> +#include "xe_mmio_gem.h"
>   #include "xe_module.h"
>   #include "xe_nvm.h"
>   #include "xe_oa.h"
> @@ -111,6 +112,8 @@ static int xe_file_open(struct drm_device *dev, struct drm_file *file)
>   	mutex_init(&xef->exec_queue.lock);
>   	xa_init_flags(&xef->exec_queue.xa, XA_FLAGS_ALLOC1);
>   
> +	mutex_init(&xef->mmio_gem.lock);
> +
>   	file->driver_priv = xef;
>   	kref_init(&xef->refcount);
>   
> @@ -133,6 +136,8 @@ static void xe_file_destroy(struct kref *ref)
>   	xa_destroy(&xef->vm.xa);
>   	mutex_destroy(&xef->vm.lock);
>   
> +	mutex_destroy(&xef->mmio_gem.lock);
> +
>   	xe_drm_client_put(xef->client);
>   	kfree(xef->process_name);
>   	kfree(xef);
> @@ -189,6 +194,13 @@ static void xe_file_close(struct drm_device *dev, struct drm_file *file)
>   	xa_for_each(&xef->vm.xa, idx, vm)
>   		xe_vm_close_and_put(vm);
>   
> +	scoped_guard(mutex, &xef->mmio_gem.lock) {
> +		if (xef->mmio_gem.pci_barrier) {
> +			xe_mmio_gem_destroy(xef->mmio_gem.pci_barrier, file);
> +			xef->mmio_gem.pci_barrier = NULL;
> +		}
> +	}
> +
>   	xe_file_put(xef);
>   }
>   
> @@ -258,95 +270,6 @@ static long xe_drm_compat_ioctl(struct file *file, unsigned int cmd, unsigned lo
>   #define xe_drm_compat_ioctl NULL
>   #endif
>   
> -static void barrier_open(struct vm_area_struct *vma)
> -{
> -	drm_dev_get(vma->vm_private_data);
> -}
> -
> -static void barrier_close(struct vm_area_struct *vma)
> -{
> -	drm_dev_put(vma->vm_private_data);
> -}
> -
> -static void barrier_release_dummy_page(struct drm_device *dev, void *res)
> -{
> -	struct page *dummy_page = (struct page *)res;
> -
> -	__free_page(dummy_page);
> -}
> -
> -static vm_fault_t barrier_fault(struct vm_fault *vmf)
> -{
> -	struct drm_device *dev = vmf->vma->vm_private_data;
> -	struct vm_area_struct *vma = vmf->vma;
> -	vm_fault_t ret = VM_FAULT_NOPAGE;
> -	pgprot_t prot;
> -	int idx;
> -
> -	prot = vma_get_page_prot(vma);
> -
> -	if (drm_dev_enter(dev, &idx)) {
> -		unsigned long pfn;
> -
> -#define LAST_DB_PAGE_OFFSET 0x7ff001
> -		pfn = PHYS_PFN(pci_resource_start(to_pci_dev(dev->dev), 0) +
> -				LAST_DB_PAGE_OFFSET);
> -		ret = vmf_insert_pfn_prot(vma, vma->vm_start, pfn,
> -					  pgprot_noncached(prot));
> -		drm_dev_exit(idx);
> -	} else {
> -		struct page *page;
> -
> -		/* Allocate new dummy page to map all the VA range in this VMA to it*/
> -		page = alloc_page(GFP_KERNEL | __GFP_ZERO);
> -		if (!page)
> -			return VM_FAULT_OOM;
> -
> -		/* Set the page to be freed using drmm release action */
> -		if (drmm_add_action_or_reset(dev, barrier_release_dummy_page, page))
> -			return VM_FAULT_OOM;
> -
> -		ret = vmf_insert_pfn_prot(vma, vma->vm_start, page_to_pfn(page),
> -					  prot);
> -	}
> -
> -	return ret;
> -}
> -
> -static const struct vm_operations_struct vm_ops_barrier = {
> -	.open = barrier_open,
> -	.close = barrier_close,
> -	.fault = barrier_fault,
> -};
> -
> -static int xe_pci_barrier_mmap(struct file *filp,
> -			       struct vm_area_struct *vma)
> -{
> -	struct drm_file *priv = filp->private_data;
> -	struct drm_device *dev = priv->minor->dev;
> -	struct xe_device *xe = to_xe_device(dev);
> -
> -	if (!IS_DGFX(xe))
> -		return -EINVAL;
> -
> -	if (vma->vm_end - vma->vm_start > SZ_4K)
> -		return -EINVAL;
> -
> -	if (vma_is_cow_mapping(vma))
> -		return -EINVAL;
> -
> -	if (vma->vm_flags & (VM_READ | VM_EXEC))
> -		return -EINVAL;
> -
> -	vm_flags_clear(vma, VM_MAYREAD | VM_MAYEXEC);
> -	vm_flags_set(vma, VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP | VM_IO);
> -	vma->vm_ops = &vm_ops_barrier;
> -	vma->vm_private_data = dev;
> -	drm_dev_get(vma->vm_private_data);
> -
> -	return 0;
> -}
> -
>   static int xe_mmap(struct file *filp, struct vm_area_struct *vma)
>   {
>   	struct drm_file *priv = filp->private_data;
> @@ -355,11 +278,6 @@ static int xe_mmap(struct file *filp, struct vm_area_struct *vma)
>   	if (drm_dev_is_unplugged(dev))
>   		return -ENODEV;
>   
> -	switch (vma->vm_pgoff) {
> -	case XE_PCI_BARRIER_MMAP_OFFSET >> XE_PTE_SHIFT:
> -		return xe_pci_barrier_mmap(filp, vma);
> -	}
> -
>   	return drm_gem_mmap(filp, vma);
>   }
>   
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index 180d450a6deb..f88bacf63c83 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -40,6 +40,7 @@ struct intel_display;
>   struct intel_dg_nvm_dev;
>   struct xe_ggtt;
>   struct xe_i2c;
> +struct xe_mmio_gem;
>   struct xe_pat_ops;
>   struct xe_pxp;
>   struct xe_ttm_stolen_mgr;
> @@ -676,6 +677,18 @@ struct xe_file {
>   
>   	/** @refcount: ref count of this xe file */
>   	struct kref refcount;
> +
> +	/** @mmio_gem: MMIO GEM objects for this xe file */
> +	struct {
> +		/**
> +		 * @mmio_gem.lock: Protects allocation and attach of MMIO
> +		 * GEM objects on first use (singleton). All MMIO GEM access
> +		 * should be guarded by this lock. Prefer scoped_guard().
> +		 */
> +		struct mutex lock;
> +		/** @mmio_gem.pci_barrier: MMIO GEM object for PCI barrier mmap. */
> +		struct xe_mmio_gem *pci_barrier;
> +	} mmio_gem;
>   };
>   
>   #endif

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

* Re: [PATCH v5 6/8] drm/xe/mmio_gem: fix destroy flow
  2026-09-08 16:50 ` [PATCH v5 6/8] drm/xe/mmio_gem: fix destroy flow Matthew Auld
@ 2026-09-08 17:12   ` sashiko-bot
  2026-09-08 17:23     ` Matthew Auld
  0 siblings, 1 reply; 16+ messages in thread
From: sashiko-bot @ 2026-09-08 17:12 UTC (permalink / raw)
  To: Matthew Auld; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] GFP_KERNEL allocation under dma_resv lock triggers lockdep splat and potential deadlock
--

commit 6f195ca9ff5839faa94b4a50effe5cb10176e87b
Author: Ilia Levi <ilia.levi@intel.com>
Subject: drm/xe/mmio_gem: fix destroy flow

This commit fixes a use-after-free in the gem object destroy flow by
introducing proper synchronization and refcounting. It uses the dma_resv lock
to serialize the fault handler with the destroy operation and unmaps existing
pages to cut off access to the real mmio after destruction.

> diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
> index 970b1e2f49815..5ffe03d361902 100644
> --- a/drivers/gpu/drm/xe/xe_mmio_gem.c
> +++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
[ ... ]
> @@ -176,10 +189,9 @@ static int alloc_dummy_page_if_needed(struct drm_gem_object *base)
>  {
>  	struct xe_mmio_gem *obj = to_xe_mmio_gem(base);
>  
> -	dma_resv_lock(base->resv, NULL);
> +	dma_resv_assert_held(base->resv);
>  	if (!obj->dummy_page)
>  		obj->dummy_page = alloc_page(GFP_KERNEL | __GFP_ZERO);

[Severity: High]
This isn't a bug introduced by this patch, but does this allocation context
create a lockdep violation or potential deadlock?

The vma fault handler calls xe_mmio_gem_vm_fault, which takes the
dma_resv_lock. If the device is unplugged, it eventually calls
alloc_dummy_page_if_needed, executing alloc_page(GFP_KERNEL | __GFP_ZERO)
while holding base->resv. Since dma_resv locks are taken by shrinkers during
memory reclaim, holding it while doing a GFP_KERNEL allocation creates a
circular dependency.

This can be reached by any unprivileged userspace process that mmaps the mmio
gem object and triggers a page fault while the device is in an unplugged
state.

> -	dma_resv_unlock(base->resv);
>  
>  	return obj->dummy_page ? 0 : -ENOMEM;
>  }

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260908165046.1393557-10-matthew.auld@intel.com?part=6

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

* Re: [PATCH v5 6/8] drm/xe/mmio_gem: fix destroy flow
  2026-09-08 17:12   ` sashiko-bot
@ 2026-09-08 17:23     ` Matthew Auld
  0 siblings, 0 replies; 16+ messages in thread
From: Matthew Auld @ 2026-09-08 17:23 UTC (permalink / raw)
  To: sashiko-reviews; +Cc: intel-xe

On 08/09/2026 18:12, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> 
> Pre-existing issues:
> - [High] GFP_KERNEL allocation under dma_resv lock triggers lockdep splat and potential deadlock
> --
> 
> commit 6f195ca9ff5839faa94b4a50effe5cb10176e87b
> Author: Ilia Levi <ilia.levi@intel.com>
> Subject: drm/xe/mmio_gem: fix destroy flow
> 
> This commit fixes a use-after-free in the gem object destroy flow by
> introducing proper synchronization and refcounting. It uses the dma_resv lock
> to serialize the fault handler with the destroy operation and unmaps existing
> pages to cut off access to the real mmio after destruction.
> 
>> diff --git a/drivers/gpu/drm/xe/xe_mmio_gem.c b/drivers/gpu/drm/xe/xe_mmio_gem.c
>> index 970b1e2f49815..5ffe03d361902 100644
>> --- a/drivers/gpu/drm/xe/xe_mmio_gem.c
>> +++ b/drivers/gpu/drm/xe/xe_mmio_gem.c
> [ ... ]
>> @@ -176,10 +189,9 @@ static int alloc_dummy_page_if_needed(struct drm_gem_object *base)
>>   {
>>   	struct xe_mmio_gem *obj = to_xe_mmio_gem(base);
>>   
>> -	dma_resv_lock(base->resv, NULL);
>> +	dma_resv_assert_held(base->resv);
>>   	if (!obj->dummy_page)
>>   		obj->dummy_page = alloc_page(GFP_KERNEL | __GFP_ZERO);
> 
> [Severity: High]
> This isn't a bug introduced by this patch, but does this allocation context
> create a lockdep violation or potential deadlock?
> 
> The vma fault handler calls xe_mmio_gem_vm_fault, which takes the
> dma_resv_lock. If the device is unplugged, it eventually calls
> alloc_dummy_page_if_needed, executing alloc_page(GFP_KERNEL | __GFP_ZERO)
> while holding base->resv. Since dma_resv locks are taken by shrinkers during
> memory reclaim, holding it while doing a GFP_KERNEL allocation creates a
> circular dependency.

We are allowed to allocate under dma-resv. Loads of places do it. From 
shrinker side, it is trylock all the way down for dma-resv, at least for 
direct-reclaim.

> 
> This can be reached by any unprivileged userspace process that mmaps the mmio
> gem object and triggers a page fault while the device is in an unplugged
> state.
> 
>> -	dma_resv_unlock(base->resv);
>>   
>>   	return obj->dummy_page ? 0 : -ENOMEM;
>>   }
> 


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

* Re: [PATCH v5 8/8] drm/xe: convert PCI barrier mmap to use xe_mmio_gem
  2026-09-08 16:50 ` [PATCH v5 8/8] drm/xe: convert PCI barrier mmap to use xe_mmio_gem Matthew Auld
  2026-09-08 17:07   ` Thomas Hellström
@ 2026-09-08 17:23   ` sashiko-bot
  1 sibling, 0 replies; 16+ messages in thread
From: sashiko-bot @ 2026-09-08 17:23 UTC (permalink / raw)
  To: Matthew Auld; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The conversion to generic `xe_mmio_gem_mmap` drops the read access restrictions for the PCI barrier, allowing unprivileged userspace to map the write-only PCIe doorbell with `PROT_READ`.
--

commit ef90a93714d00fe81619728388f0697e023978dd
Author: Matthew Auld <matthew.auld@intel.com>

drm/xe: convert PCI barrier mmap to use xe_mmio_gem

This commit converts the PCI barrier mmap to use xe_mmio_gem, which
replaces the hard-coded fake offset design and removes duplicate code.
Userspace still queries the fake offset as before, but it is now managed
by the generic component.

> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
[ ... ]
> @@ -3664,6 +3665,39 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
>  	return err;
>  }
>  
> +static int xe_gem_pci_barrier_mmap_offset(struct xe_device *xe, struct drm_file *file,
> +					  struct drm_xe_gem_mmap_offset *args)
> +{
[ ... ]
> +		if (!*barrier) {
> +			phys_addr_t phys_addr;
> +
> +#define LAST_DB_PAGE_OFFSET 0x7ff000
> +			phys_addr = pci_resource_start(to_pci_dev(xe->drm.dev), 0) +
> +				LAST_DB_PAGE_OFFSET;
> +			*barrier = xe_mmio_gem_create(xe, file, phys_addr, SZ_4K);

[Severity: High]
Does the conversion to the generic xe_mmio_gem framework drop the read
access restrictions for the PCI barrier?

The original xe_pci_barrier_mmap handler explicitly checked and rejected
read access before it was removed in this patch:

xe_pci_barrier_mmap() {
        ...
        if (vma->vm_flags & (VM_READ | VM_EXEC))
                return -EINVAL;

        vm_flags_clear(vma, VM_MAYREAD | VM_MAYEXEC);
        ...
}

Without this protection, unprivileged userspace might be able to map the
write-only PCIe doorbell with PROT_READ. If userspace issues a memory read
to this write-only hardware register, the PCIe endpoint typically returns
an Unsupported Request (UR) completion.

Could this trigger Advanced Error Reporting (AER) faults, Machine Check
Exceptions (MCE), or system hangs, leading to a local denial of service?

> +			if (IS_ERR(*barrier)) {
> +				int err = PTR_ERR(*barrier);
[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260908165046.1393557-10-matthew.auld@intel.com?part=8

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

* ✓ Xe.CI.BAT: success for drm/xe/mmio_gem: fix fault handler and destroy path (rev5)
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
                   ` (8 preceding siblings ...)
  2026-09-08 16:59 ` ✓ CI.KUnit: success for drm/xe/mmio_gem: fix fault handler and destroy path (rev5) Patchwork
@ 2026-09-08 17:36 ` Patchwork
  2026-09-08 22:52 ` ✓ Xe.CI.FULL: " Patchwork
  10 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-09-08 17:36 UTC (permalink / raw)
  To: Levi, Ilia; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/mmio_gem: fix fault handler and destroy path (rev5)
URL   : https://patchwork.freedesktop.org/series/167217/
State : success

== Summary ==

CI Bug Log - changes from xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4_BAT -> xe-pw-167217v5_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (14 -> 14)
------------------------------

  No changes in participating hosts

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

  Here are the changes found in xe-pw-167217v5_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@unbind-rebind:
    - bat-nvls-1:         [PASS][1] -> [DMESG-WARN][2] ([Intel XE#8762] / [Intel XE#9069])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/bat-nvls-1/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/bat-nvls-1/igt@core_hotunplug@unbind-rebind.html

  * igt@xe_waitfence@engine:
    - bat-ptl-2:          [PASS][3] -> [FAIL][4] ([Intel XE#9109])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/bat-ptl-2/igt@xe_waitfence@engine.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/bat-ptl-2/igt@xe_waitfence@engine.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - bat-bmg-2:          [ABORT][5] ([Intel XE#8007]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/bat-bmg-2/igt@core_hotunplug@unbind-rebind.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/bat-bmg-2/igt@core_hotunplug@unbind-rebind.html

  * igt@xe_waitfence@reltime:
    - bat-ptl-2:          [FAIL][7] ([Intel XE#9115]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/bat-ptl-2/igt@xe_waitfence@reltime.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/bat-ptl-2/igt@xe_waitfence@reltime.html

  
  [Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
  [Intel XE#8762]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8762
  [Intel XE#9069]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9069
  [Intel XE#9109]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9109
  [Intel XE#9115]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9115


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

  * Linux: xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4 -> xe-pw-167217v5

  IGT_9086: a89061ecccede222b8da2f310f3bf71ed908c365 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4: c55e420034fcb99888f58a88eb64f1e81ec189a4
  xe-pw-167217v5: 167217v5

== Logs ==

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

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

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

* ✓ Xe.CI.FULL: success for drm/xe/mmio_gem: fix fault handler and destroy path (rev5)
  2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
                   ` (9 preceding siblings ...)
  2026-09-08 17:36 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-09-08 22:52 ` Patchwork
  10 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-09-08 22:52 UTC (permalink / raw)
  To: Levi, Ilia; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/mmio_gem: fix fault handler and destroy path (rev5)
URL   : https://patchwork.freedesktop.org/series/167217/
State : success

== Summary ==

CI Bug Log - changes from xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4_FULL -> xe-pw-167217v5_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (2 -> 2)
------------------------------

  No changes in participating hosts

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

  Here are the changes found in xe-pw-167217v5_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@unaligned-read:
    - shard-lnl:          [PASS][1] -> [SKIP][2] ([Intel XE#2134])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@fbdev@unaligned-read.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@fbdev@unaligned-read.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][3] ([Intel XE#2327])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-5/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - shard-lnl:          NOTRUN -> [SKIP][4] ([Intel XE#1407])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-lnl:          NOTRUN -> [SKIP][5] ([Intel XE#1124])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#1124])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_big_fb@yf-tiled-8bpp-rotate-0.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][7] ([Intel XE#2887])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc.html

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

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [PASS][9] -> [INCOMPLETE][10] ([Intel XE#7084] / [Intel XE#8150]) +1 other test incomplete
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#3432])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-5/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_chamelium_color@ctm-negative:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#2325] / [Intel XE#7358])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_chamelium_color@ctm-negative.html

  * igt@kms_chamelium_edid@dp-edid-resolution-list:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2252])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_chamelium_edid@dp-edid-resolution-list.html

  * igt@kms_color@ctm-signed:
    - shard-lnl:          [PASS][14] -> [SKIP][15] ([Intel XE#3297]) +1 other test skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_color@ctm-signed.html
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_color@ctm-signed.html

  * igt@kms_color_pipeline@plane-lut1d:
    - shard-lnl:          [PASS][16] -> [SKIP][17] ([Intel XE#7006]) +1 other test skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_color_pipeline@plane-lut1d.html
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_color_pipeline@plane-lut1d.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2390] / [Intel XE#6974])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-5/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@type1:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#7642])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#2321] / [Intel XE#7355])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-sliding-64x21:
    - shard-lnl:          NOTRUN -> [SKIP][21] ([Intel XE#1424])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_cursor_crc@cursor-sliding-64x21.html

  * igt@kms_cursor_legacy@short-flip-before-cursor-atomic-transitions-varying-size:
    - shard-lnl:          [PASS][22] -> [SKIP][23] ([Intel XE#9125]) +36 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_cursor_legacy@short-flip-before-cursor-atomic-transitions-varying-size.html
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_cursor_legacy@short-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_dp_aux_dev@basic:
    - shard-lnl:          [PASS][24] -> [SKIP][25] ([Intel XE#3009])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_dp_aux_dev@basic.html
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_dp_aux_dev@basic.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-lnl:          NOTRUN -> [SKIP][26] ([Intel XE#8265])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-with-output-formats-bigjoiner:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#8265])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-lnl:          [PASS][28] -> [SKIP][29] ([Intel XE#8680])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_fbcon_fbt@psr-suspend.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_flip@basic-flip-vs-modeset:
    - shard-lnl:          [PASS][30] -> [SKIP][31] ([Intel XE#2482]) +6 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_flip@basic-flip-vs-modeset.html
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_flip@basic-flip-vs-modeset.html

  * igt@kms_flip@flip-vs-dpms-on-nop-interruptible:
    - shard-lnl:          [PASS][32] -> [SKIP][33] ([Intel XE#9132]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_flip@flip-vs-dpms-on-nop-interruptible.html
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_flip@flip-vs-dpms-on-nop-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#7178] / [Intel XE#7351])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][35] ([Intel XE#1397] / [Intel XE#7385] / [Intel XE#9144]) +2 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling:
    - shard-lnl:          [PASS][36] -> [SKIP][37] ([Intel XE#1745] / [Intel XE#9144]) +2 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling.html

  * igt@kms_flip_tiling@flip-change-tiling:
    - shard-lnl:          [PASS][38] -> [SKIP][39] ([Intel XE#2682])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_flip_tiling@flip-change-tiling.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_flip_tiling@flip-change-tiling.html

  * igt@kms_frontbuffer_tracking@drrshdr-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#6312]) +2 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_frontbuffer_tracking@drrshdr-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          [PASS][41] -> [SKIP][42] ([Intel XE#7779])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc.html
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][43] ([Intel XE#656] / [Intel XE#7905]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#4141])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][45] ([Intel XE#6312] / [Intel XE#651])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#2311]) +6 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-spr-indfb-fullscreen:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#7905])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-abgr161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#7061])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_frontbuffer_tracking@fbcdrrshdr-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#2313]) +6 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][50] ([Intel XE#7865])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][51] ([Intel XE#7061] / [Intel XE#7356])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-argb161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#7061] / [Intel XE#7356])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-blt:
    - shard-lnl:          [PASS][53] -> [SKIP][54] ([Intel XE#2548] / [Intel XE#7779]) +13 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-blt.html
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-blt.html

  * igt@kms_invalid_mode@uint-max-clock:
    - shard-lnl:          [PASS][55] -> [SKIP][56] ([Intel XE#2568]) +2 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_invalid_mode@uint-max-clock.html
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_invalid_mode@uint-max-clock.html

  * igt@kms_joiner@basic-big-joiner:
    - shard-lnl:          NOTRUN -> [SKIP][57] ([Intel XE#6901])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_joiner@basic-big-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-lnl:          NOTRUN -> [SKIP][58] ([Intel XE#7591])
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_pipe_stress@stress-xrgb8888-ytiled:
    - shard-bmg:          NOTRUN -> [SKIP][59] ([Intel XE#4329] / [Intel XE#6912] / [Intel XE#7375])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html

  * igt@kms_plane@plane-position-covered:
    - shard-lnl:          [PASS][60] -> [SKIP][61] ([Intel XE#9128])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_plane@plane-position-covered.html
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_plane@plane-position-covered.html

  * igt@kms_plane_scaling@invalid-parameters:
    - shard-lnl:          [PASS][62] -> [SKIP][63] ([Intel XE#7687] / [Intel XE#9125])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_plane_scaling@invalid-parameters.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_plane_scaling@invalid-parameters.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
    - shard-lnl:          [PASS][64] -> [SKIP][65] ([Intel XE#2763] / [Intel XE#6886]) +3 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation:
    - shard-lnl:          [PASS][66] -> [SKIP][67] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) +3 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation.html
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-c:
    - shard-bmg:          NOTRUN -> [SKIP][68] ([Intel XE#2763] / [Intel XE#6886]) +4 other tests skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-c.html

  * igt@kms_pm_dc@dc5-dpms:
    - shard-lnl:          [PASS][69] -> [FAIL][70] ([Intel XE#8399])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_pm_dc@dc5-dpms.html
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_pm_dc@dc5-dpms.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-lnl:          [PASS][71] -> [SKIP][72] ([Intel XE#7643])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_pm_lpsp@kms-lpsp.html
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-lnl:          [PASS][73] -> [SKIP][74] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_pm_rpm@dpms-lpsp.html
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@system-suspend-idle:
    - shard-lnl:          [PASS][75] -> [SKIP][76] ([Intel XE#7106])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_pm_rpm@system-suspend-idle.html
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_pm_rpm@system-suspend-idle.html

  * igt@kms_properties@crtc-properties-legacy:
    - shard-lnl:          [PASS][77] -> [SKIP][78] ([Intel XE#9129])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_properties@crtc-properties-legacy.html
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_properties@crtc-properties-legacy.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][79] ([Intel XE#4608]) +2 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf@pipe-a-edp-1.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][80] ([Intel XE#4608] / [Intel XE#7304]) +2 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area@pipe-b-edp-1.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area:
    - shard-lnl:          [PASS][81] -> [SKIP][82] ([Intel XE#1489]) +2 other tests skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb:
    - shard-bmg:          NOTRUN -> [SKIP][83] ([Intel XE#1489]) +1 other test skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr@fbc-psr2-basic@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][84] ([Intel XE#1406] / [Intel XE#4609] / [Intel XE#7345]) +1 other test skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_psr@fbc-psr2-basic@edp-1.html

  * igt@kms_psr@pr-primary-render:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#2234] / [Intel XE#2850])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@kms_psr@pr-primary-render.html

  * igt@kms_psr@psr2-cursor-plane-onoff:
    - shard-lnl:          [PASS][86] -> [SKIP][87] ([Intel XE#2850] / [Intel XE#929]) +4 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_psr@psr2-cursor-plane-onoff.html
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_psr@psr2-cursor-plane-onoff.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-lnl:          [PASS][88] -> [SKIP][89] ([Intel XE#7795])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-lnl:          NOTRUN -> [SKIP][90] ([Intel XE#1127] / [Intel XE#5813])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@xe_exec_balancer@twice-cm-parallel-userptr-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][91] ([Intel XE#7482]) +2 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@xe_exec_balancer@twice-cm-parallel-userptr-rebind.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate-race:
    - shard-bmg:          NOTRUN -> [SKIP][92] ([Intel XE#2322] / [Intel XE#7372]) +1 other test skip
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate-race.html

  * igt@xe_exec_multi_queue@max-queues-preempt-mode-close-fd-smem:
    - shard-bmg:          NOTRUN -> [SKIP][93] ([Intel XE#8364]) +3 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@xe_exec_multi_queue@max-queues-preempt-mode-close-fd-smem.html

  * igt@xe_exec_multi_queue@two-queues-close-fd-smem:
    - shard-lnl:          NOTRUN -> [SKIP][94] ([Intel XE#8364]) +2 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@xe_exec_multi_queue@two-queues-close-fd-smem.html

  * igt@xe_exec_threads@threads-multi-queue-cm-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][95] ([Intel XE#8378]) +2 other tests skip
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-5/igt@xe_exec_threads@threads-multi-queue-cm-rebind.html

  * igt@xe_exec_threads@threads-multi-queue-fd-userptr:
    - shard-lnl:          NOTRUN -> [SKIP][96] ([Intel XE#8378])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@xe_exec_threads@threads-multi-queue-fd-userptr.html

  * igt@xe_media_fill@media-fill:
    - shard-bmg:          NOTRUN -> [SKIP][97] ([Intel XE#2459] / [Intel XE#2596] / [Intel XE#7321] / [Intel XE#7453])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@xe_media_fill@media-fill.html

  * igt@xe_page_reclaim@boundary-split:
    - shard-bmg:          NOTRUN -> [SKIP][98] ([Intel XE#7793])
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@xe_page_reclaim@boundary-split.html

  * igt@xe_pmu@fn-engine-activity-sched-if-idle:
    - shard-lnl:          NOTRUN -> [SKIP][99] ([Intel XE#4650] / [Intel XE#7347])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@xe_pmu@fn-engine-activity-sched-if-idle.html

  * igt@xe_pxp@display-black-pxp-fb:
    - shard-bmg:          NOTRUN -> [SKIP][100] ([Intel XE#4733] / [Intel XE#7417])
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@xe_pxp@display-black-pxp-fb.html

  * igt@xe_query@multigpu-query-uc-fw-version-huc:
    - shard-bmg:          NOTRUN -> [SKIP][101] ([Intel XE#944])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@xe_query@multigpu-query-uc-fw-version-huc.html

  
#### Possible fixes ####

  * igt@fbdev@eof:
    - shard-lnl:          [SKIP][102] ([Intel XE#2134]) -> [PASS][103] +1 other test pass
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@fbdev@eof.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@fbdev@eof.html

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-bmg:          [FAIL][104] ([Intel XE#3718] / [Intel XE#6078]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-2/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-b-dp-2:
    - shard-bmg:          [FAIL][106] ([Intel XE#6078]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-dp-2.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-2/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-dp-2.html

  * igt@kms_big_fb@x-tiled-addfb-size-overflow:
    - shard-lnl:          [SKIP][108] ([Intel XE#9125]) -> [PASS][109] +51 other tests pass
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_big_fb@x-tiled-addfb-size-overflow.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_big_fb@x-tiled-addfb-size-overflow.html

  * igt@kms_color@legacy-gamma-reset:
    - shard-lnl:          [SKIP][110] ([Intel XE#3297]) -> [PASS][111] +1 other test pass
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_color@legacy-gamma-reset.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_color@legacy-gamma-reset.html

  * igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d:
    - shard-lnl:          [SKIP][112] ([Intel XE#7006]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-lnl:          [SKIP][114] ([Intel XE#9127]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_fbcon_fbt@fbc-suspend.html
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_feature_discovery@psr2:
    - shard-lnl:          [SKIP][116] ([Intel XE#1135] / [Intel XE#6128]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_feature_discovery@psr2.html
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_feature_discovery@psr2.html

  * igt@kms_feature_discovery@vrr:
    - shard-lnl:          [SKIP][118] ([Intel XE#8586]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_feature_discovery@vrr.html
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_feature_discovery@vrr.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-lnl:          [FAIL][120] ([Intel XE#301]) -> [PASS][121] +1 other test pass
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-wf_vblank-interruptible:
    - shard-lnl:          [SKIP][122] ([Intel XE#2482]) -> [PASS][123] +2 other tests pass
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_flip@flip-vs-wf_vblank-interruptible.html
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_flip@flip-vs-wf_vblank-interruptible.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-lnl:          [FAIL][124] ([Intel XE#3098] / [Intel XE#3149]) -> [PASS][125] +1 other test pass
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-8/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-7/igt@kms_flip@modeset-vs-vblank-race-interruptible.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling:
    - shard-lnl:          [SKIP][126] ([Intel XE#1745] / [Intel XE#9144]) -> [PASS][127]
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-blt:
    - shard-lnl:          [SKIP][128] ([Intel XE#2548] / [Intel XE#7779]) -> [PASS][129] +16 other tests pass
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-blt.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-render:
    - shard-lnl:          [SKIP][130] ([Intel XE#7779]) -> [PASS][131] +4 other tests pass
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-render.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-render.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [SKIP][132] ([Intel XE#1503]) -> [PASS][133]
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-bmg-10/igt@kms_hdr@invalid-hdr.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-8/igt@kms_hdr@invalid-hdr.html

  * igt@kms_invalid_mode@bad-hsync-end:
    - shard-lnl:          [SKIP][134] ([Intel XE#2568]) -> [PASS][135] +1 other test pass
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_invalid_mode@bad-hsync-end.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_invalid_mode@bad-hsync-end.html

  * igt@kms_plane@planar-pixel-format-settings:
    - shard-lnl:          [SKIP][136] ([Intel XE#7780] / [Intel XE#9125]) -> [PASS][137]
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_plane@planar-pixel-format-settings.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_plane@planar-pixel-format-settings.html

  * igt@kms_plane@plane-panning-bottom-right:
    - shard-lnl:          [SKIP][138] ([Intel XE#9128]) -> [PASS][139]
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_plane@plane-panning-bottom-right.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_plane@plane-panning-bottom-right.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers@pipe-b:
    - shard-lnl:          [SKIP][140] ([Intel XE#2763] / [Intel XE#6886]) -> [PASS][141] +1 other test pass
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers@pipe-b.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers@pipe-b.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers@pipe-c:
    - shard-lnl:          [SKIP][142] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) -> [PASS][143] +1 other test pass
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers@pipe-c.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers@pipe-c.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-lnl:          [SKIP][144] ([Intel XE#7794]) -> [PASS][145]
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_pm_dc@dc5-psr.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_rpm@drm-resources-equal:
    - shard-lnl:          [SKIP][146] ([Intel XE#7106]) -> [PASS][147]
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_pm_rpm@drm-resources-equal.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_pm_rpm@drm-resources-equal.html

  * igt@kms_pm_rpm@legacy-planes:
    - shard-lnl:          [SKIP][148] ([Intel XE#4886]) -> [PASS][149]
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_pm_rpm@legacy-planes.html
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_pm_rpm@legacy-planes.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-lnl:          [SKIP][150] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836]) -> [PASS][151]
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_properties@colorop-properties-atomic:
    - shard-lnl:          [SKIP][152] ([Intel XE#9126]) -> [PASS][153]
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_properties@colorop-properties-atomic.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_properties@colorop-properties-atomic.html

  * igt@kms_properties@plane-properties-atomic:
    - shard-lnl:          [SKIP][154] ([Intel XE#9129]) -> [PASS][155]
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_properties@plane-properties-atomic.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_properties@plane-properties-atomic.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-lnl:          [SKIP][156] ([Intel XE#1489]) -> [PASS][157] +1 other test pass
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr@psr-no-drrs:
    - shard-lnl:          [SKIP][158] ([Intel XE#2850] / [Intel XE#929]) -> [PASS][159] +5 other tests pass
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_psr@psr-no-drrs.html
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_psr@psr-no-drrs.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-lnl:          [SKIP][160] ([Intel XE#7795]) -> [PASS][161]
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          [INCOMPLETE][162] ([Intel XE#6321] / [Intel XE#8355]) -> [PASS][163]
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-bmg-7/igt@xe_evict@evict-mixed-many-threads-small.html
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-2/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_exec_reset@gt-stress-reset-concurrent-submit:
    - shard-bmg:          [DMESG-WARN][164] ([Intel XE#8649] / [Intel XE#8652]) -> [PASS][165]
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-bmg-3/igt@xe_exec_reset@gt-stress-reset-concurrent-submit.html
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-5/igt@xe_exec_reset@gt-stress-reset-concurrent-submit.html

  * igt@xe_exec_threads@threads-hang-userptr-invalidate-race:
    - shard-lnl:          [FAIL][166] ([Intel XE#9096]) -> [PASS][167]
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html

  * igt@xe_pm@s4-vm-bind-prefetch:
    - shard-bmg:          [INCOMPLETE][168] ([Intel XE#8175]) -> [PASS][169]
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-bmg-9/igt@xe_pm@s4-vm-bind-prefetch.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-10/igt@xe_pm@s4-vm-bind-prefetch.html

  
#### Warnings ####

  * igt@kms_atomic_transition@plane-all-modeset-transition:
    - shard-lnl:          [SKIP][170] ([Intel XE#3279]) -> [SKIP][171] ([Intel XE#9125])
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_atomic_transition@plane-all-modeset-transition.html
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_atomic_transition@plane-all-modeset-transition.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-lnl:          [SKIP][172] ([Intel XE#9125]) -> [SKIP][173] ([Intel XE#3658] / [Intel XE#7360])
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-lnl:          [SKIP][174] ([Intel XE#1407]) -> [SKIP][175] ([Intel XE#9125]) +3 other tests skip
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-lnl:          [SKIP][176] ([Intel XE#7059] / [Intel XE#7085]) -> [SKIP][177] ([Intel XE#9125])
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-lnl:          [SKIP][178] ([Intel XE#9125]) -> [SKIP][179] ([Intel XE#7059] / [Intel XE#7085])
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-270:
    - shard-lnl:          [SKIP][180] ([Intel XE#9125]) -> [SKIP][181] ([Intel XE#1407]) +2 other tests skip
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-addfb:
    - shard-lnl:          [SKIP][182] ([Intel XE#9125]) -> [SKIP][183] ([Intel XE#1467] / [Intel XE#7367])
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_big_fb@y-tiled-addfb.html
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_big_fb@y-tiled-addfb.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-lnl:          [SKIP][184] ([Intel XE#9125]) -> [SKIP][185] ([Intel XE#1477] / [Intel XE#7361])
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-lnl:          [SKIP][186] ([Intel XE#9125]) -> [SKIP][187] ([Intel XE#1428] / [Intel XE#7387])
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-lnl:          [SKIP][188] ([Intel XE#1124]) -> [SKIP][189] ([Intel XE#9125]) +7 other tests skip
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-lnl:          [SKIP][190] ([Intel XE#9125]) -> [SKIP][191] ([Intel XE#1124]) +8 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p:
    - shard-lnl:          [SKIP][192] ([Intel XE#9125]) -> [SKIP][193] ([Intel XE#7679])
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p.html
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p.html

  * igt@kms_bw@connected-linear-tiling-2-displays-target-3840x2160p:
    - shard-lnl:          [SKIP][194] ([Intel XE#7679]) -> [SKIP][195] ([Intel XE#9125])
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_bw@connected-linear-tiling-2-displays-target-3840x2160p.html
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_bw@connected-linear-tiling-2-displays-target-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-target-2560x1440p:
    - shard-lnl:          [SKIP][196] ([Intel XE#9125]) -> [SKIP][197] ([Intel XE#8365])
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_bw@connected-linear-tiling-4-displays-target-2560x1440p.html
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_bw@connected-linear-tiling-4-displays-target-2560x1440p.html

  * igt@kms_bw@linear-tiling-3-displays-target-1920x1080p:
    - shard-lnl:          [SKIP][198] ([Intel XE#9125]) -> [SKIP][199] ([Intel XE#367])
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_bw@linear-tiling-3-displays-target-1920x1080p.html
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_bw@linear-tiling-3-displays-target-1920x1080p.html

  * igt@kms_bw@linear-tiling-3-displays-target-2560x1440p:
    - shard-lnl:          [SKIP][200] ([Intel XE#367]) -> [SKIP][201] ([Intel XE#9125]) +1 other test skip
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_bw@linear-tiling-3-displays-target-2560x1440p.html
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_bw@linear-tiling-3-displays-target-2560x1440p.html

  * igt@kms_bw@linear-tiling-4-displays-target-2160x1440p:
    - shard-lnl:          [SKIP][202] ([Intel XE#8365]) -> [SKIP][203] ([Intel XE#9125]) +1 other test skip
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_bw@linear-tiling-4-displays-target-2160x1440p.html
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_bw@linear-tiling-4-displays-target-2160x1440p.html

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc:
    - shard-lnl:          [SKIP][204] ([Intel XE#2887]) -> [SKIP][205] ([Intel XE#9125]) +7 other tests skip
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc.html
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs:
    - shard-lnl:          [SKIP][206] ([Intel XE#9125]) -> [SKIP][207] ([Intel XE#2887]) +16 other tests skip
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs.html
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc:
    - shard-lnl:          [SKIP][208] ([Intel XE#9125]) -> [SKIP][209] ([Intel XE#3432]) +1 other test skip
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc.html
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-lnl:          [SKIP][210] ([Intel XE#3432]) -> [SKIP][211] ([Intel XE#9125]) +1 other test skip
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-lnl:          [SKIP][212] ([Intel XE#4417] / [Intel XE#5447]) -> [SKIP][213] ([Intel XE#9125])
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_cdclk@mode-transition.html
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_cdclk@mode-transition.html

  * igt@kms_content_protection@atomic:
    - shard-lnl:          [SKIP][214] ([Intel XE#9125]) -> [SKIP][215] ([Intel XE#7642]) +2 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_content_protection@atomic.html
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@dp-mst-type-0-suspend-resume:
    - shard-lnl:          [SKIP][216] ([Intel XE#9125]) -> [SKIP][217] ([Intel XE#6974]) +1 other test skip
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-lnl:          [SKIP][218] ([Intel XE#307] / [Intel XE#6974]) -> [SKIP][219] ([Intel XE#9125]) +1 other test skip
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_content_protection@dp-mst-type-1.html
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@lic-type-0:
    - shard-lnl:          [SKIP][220] ([Intel XE#7642]) -> [SKIP][221] ([Intel XE#9125])
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_content_protection@lic-type-0.html
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-lnl:          [SKIP][222] ([Intel XE#9125]) -> [SKIP][223] ([Intel XE#1468] / [Intel XE#7396])
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_content_protection@mei-interface.html
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-offscreen-64x21:
    - shard-lnl:          [SKIP][224] ([Intel XE#9125]) -> [SKIP][225] ([Intel XE#1424]) +4 other tests skip
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_cursor_crc@cursor-offscreen-64x21.html
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_cursor_crc@cursor-offscreen-64x21.html

  * igt@kms_cursor_crc@cursor-rapid-movement-64x21:
    - shard-lnl:          [SKIP][226] ([Intel XE#1424]) -> [SKIP][227] ([Intel XE#9125]) +5 other tests skip
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_cursor_crc@cursor-rapid-movement-64x21.html
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_cursor_crc@cursor-rapid-movement-64x21.html

  * igt@kms_cursor_crc@cursor-sliding-512x170:
    - shard-lnl:          [SKIP][228] ([Intel XE#9125]) -> [SKIP][229] ([Intel XE#2321] / [Intel XE#7355]) +1 other test skip
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_cursor_crc@cursor-sliding-512x170.html
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_cursor_crc@cursor-sliding-512x170.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-lnl:          [SKIP][230] ([Intel XE#9125]) -> [SKIP][231] ([Intel XE#309] / [Intel XE#7343]) +2 other tests skip
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-toggle:
    - shard-lnl:          [SKIP][232] ([Intel XE#309] / [Intel XE#7343]) -> [SKIP][233] ([Intel XE#9125])
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-lnl:          [SKIP][234] ([Intel XE#9125]) -> [SKIP][235] ([Intel XE#323] / [Intel XE#6035])
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-lnl:          [SKIP][236] ([Intel XE#9125]) -> [SKIP][237] ([Intel XE#4354] / [Intel XE#5882])
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_dp_link_training@non-uhbr-mst.html
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-lnl:          [SKIP][238] ([Intel XE#9125]) -> [SKIP][239] ([Intel XE#9009])
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_dp_linktrain_fallback@dp-fallback.html
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_dsc@dsc-fractional-bpp-bigjoiner:
    - shard-lnl:          [SKIP][240] ([Intel XE#8265]) -> [SKIP][241] ([Intel XE#9125]) +2 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_dsc@dsc-fractional-bpp-bigjoiner.html
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_dsc@dsc-fractional-bpp-bigjoiner.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-lnl:          [SKIP][242] ([Intel XE#9125]) -> [SKIP][243] ([Intel XE#8265]) +2 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling:
    - shard-lnl:          [SKIP][244] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385] / [Intel XE#9144]) -> [SKIP][245] ([Intel XE#1745] / [Intel XE#9144])
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling.html
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling:
    - shard-lnl:          [SKIP][246] ([Intel XE#1745] / [Intel XE#9144]) -> [SKIP][247] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385] / [Intel XE#9144]) +2 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html

  * igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-spr-indfb-onoff:
    - shard-lnl:          [SKIP][248] ([Intel XE#7779]) -> [SKIP][249] ([Intel XE#6312]) +13 other tests skip
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-spr-indfb-onoff.html
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@drrshdr-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][250] ([Intel XE#7779]) -> [SKIP][251] ([Intel XE#7905]) +45 other tests skip
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@drrshdr-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_frontbuffer_tracking@drrshdr-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt:
    - shard-lnl:          [SKIP][252] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][253] ([Intel XE#656] / [Intel XE#7905]) +39 other tests skip
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render:
    - shard-lnl:          [SKIP][254] ([Intel XE#7779]) -> [SKIP][255] ([Intel XE#7061] / [Intel XE#7356]) +5 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render.html
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt:
    - shard-lnl:          [SKIP][256] ([Intel XE#6312]) -> [SKIP][257] ([Intel XE#7779]) +11 other tests skip
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt.html
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-rte:
    - shard-lnl:          [SKIP][258] ([Intel XE#6312] / [Intel XE#651]) -> [SKIP][259] ([Intel XE#2548] / [Intel XE#7779]) +9 other tests skip
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrs-1p-rte.html
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render:
    - shard-lnl:          [SKIP][260] ([Intel XE#656] / [Intel XE#7905]) -> [SKIP][261] ([Intel XE#2548] / [Intel XE#7779]) +30 other tests skip
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render.html
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-mmap-wc:
    - shard-lnl:          [SKIP][262] ([Intel XE#7061] / [Intel XE#7356]) -> [SKIP][263] ([Intel XE#7779]) +5 other tests skip
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-mmap-wc.html
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt:
    - shard-lnl:          [SKIP][264] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][265] ([Intel XE#6312] / [Intel XE#651]) +10 other tests skip
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt.html
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
    - shard-lnl:          [SKIP][266] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][267] ([Intel XE#1469] / [Intel XE#7399]) +1 other test skip
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-scndscrn-cur-indfb-draw-render:
    - shard-lnl:          [SKIP][268] ([Intel XE#7905]) -> [SKIP][269] ([Intel XE#7779]) +32 other tests skip
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-scndscrn-cur-indfb-draw-render.html
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc:
    - shard-lnl:          [SKIP][270] ([Intel XE#7779]) -> [SKIP][271] ([Intel XE#7061]) +3 other tests skip
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc.html
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@hdr-rgb565-draw-blt:
    - shard-lnl:          [SKIP][272] ([Intel XE#7865]) -> [SKIP][273] ([Intel XE#7779]) +21 other tests skip
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_frontbuffer_tracking@hdr-rgb565-draw-blt.html
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@hdr-rgb565-draw-blt.html

  * igt@kms_frontbuffer_tracking@hdr-rgb565-draw-mmap-wc:
    - shard-lnl:          [SKIP][274] ([Intel XE#7779]) -> [SKIP][275] ([Intel XE#7865]) +27 other tests skip
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_frontbuffer_tracking@hdr-rgb565-draw-mmap-wc.html
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_frontbuffer_tracking@hdr-rgb565-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-argb161616f-draw-blt:
    - shard-lnl:          [SKIP][276] ([Intel XE#7061]) -> [SKIP][277] ([Intel XE#7779]) +3 other tests skip
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_frontbuffer_tracking@psrhdr-argb161616f-draw-blt.html
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_frontbuffer_tracking@psrhdr-argb161616f-draw-blt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-lnl:          [SKIP][278] ([Intel XE#9125]) -> [SKIP][279] ([Intel XE#3374] / [Intel XE#3544])
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_hdr@brightness-with-hdr.html
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_hdr@brightness-with-hdr.html
    - shard-bmg:          [SKIP][280] ([Intel XE#3544]) -> [SKIP][281] ([Intel XE#3374] / [Intel XE#3544])
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-bmg-2/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-lnl:          [SKIP][282] ([Intel XE#9125]) -> [SKIP][283] ([Intel XE#1503])
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_hdr@invalid-metadata-sizes.html
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_pipe_stress@stress-xrgb8888-yftiled:
    - shard-lnl:          [SKIP][284] ([Intel XE#6912] / [Intel XE#7375]) -> [SKIP][285] ([Intel XE#9125])
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-lnl:          [SKIP][286] ([Intel XE#9125]) -> [SKIP][287] ([Intel XE#599])
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_plane_lowres@tiling-yf.html
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-lnl:          [SKIP][288] ([Intel XE#9125]) -> [SKIP][289] ([Intel XE#5020] / [Intel XE#7348])
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_plane_multiple@tiling-yf.html
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-lnl:          [SKIP][290] ([Intel XE#7343] / [Intel XE#7687] / [Intel XE#9125]) -> [SKIP][291] ([Intel XE#309] / [Intel XE#7343])
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-1/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c:
    - shard-lnl:          [SKIP][292] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) -> [SKIP][293] ([Intel XE#2763] / [Intel XE#6886]) +9 other tests skip
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c.html
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c:
    - shard-lnl:          [SKIP][294] ([Intel XE#2763] / [Intel XE#6886]) -> [SKIP][295] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) +3 other tests skip
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c.html
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf:
    - shard-lnl:          [SKIP][296] ([Intel XE#1489]) -> [SKIP][297] ([Intel XE#2893] / [Intel XE#7304]) +3 other tests skip
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
    - shard-lnl:          [SKIP][298] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304]) -> [SKIP][299] ([Intel XE#1489])
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area:
    - shard-lnl:          [SKIP][300] ([Intel XE#1489]) -> [SKIP][301] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304]) +2 other tests skip
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf:
    - shard-lnl:          [SKIP][302] ([Intel XE#2893] / [Intel XE#7304]) -> [SKIP][303] ([Intel XE#1489]) +1 other test skip
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html

  * igt@kms_psr@fbc-psr2-basic:
    - shard-lnl:          [SKIP][304] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][305] ([Intel XE#1406] / [Intel XE#7345]) +1 other test skip
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_psr@fbc-psr2-basic.html
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_psr@fbc-psr2-basic.html

  * igt@kms_psr@fbc-psr2-cursor-plane-move:
    - shard-lnl:          [SKIP][306] ([Intel XE#1406] / [Intel XE#7345]) -> [SKIP][307] ([Intel XE#2850] / [Intel XE#929]) +1 other test skip
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_psr@fbc-psr2-cursor-plane-move.html
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_psr@fbc-psr2-cursor-plane-move.html

  * igt@kms_psr@pr-cursor-plane-move:
    - shard-lnl:          [SKIP][308] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][309] ([Intel XE#1406]) +3 other tests skip
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_psr@pr-cursor-plane-move.html
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-2/igt@kms_psr@pr-cursor-plane-move.html

  * igt@kms_psr@pr-sprite-render:
    - shard-lnl:          [SKIP][310] ([Intel XE#1406]) -> [SKIP][311] ([Intel XE#2850] / [Intel XE#929]) +1 other test skip
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_psr@pr-sprite-render.html
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_psr@pr-sprite-render.html

  * igt@kms_rotation_crc@bad-tiling:
    - shard-lnl:          [SKIP][312] ([Intel XE#9125]) -> [SKIP][313] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342]) +1 other test skip
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_rotation_crc@bad-tiling.html
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@kms_rotation_crc@bad-tiling.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
    - shard-lnl:          [SKIP][314] ([Intel XE#9125]) -> [SKIP][315] ([Intel XE#1127] / [Intel XE#5813])
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
   [315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-8/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-lnl:          [SKIP][316] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342]) -> [SKIP][317] ([Intel XE#9125]) +1 other test skip
   [316]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
   [317]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-lnl:          [SKIP][318] ([Intel XE#1499]) -> [SKIP][319] ([Intel XE#9125])
   [318]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-3/igt@kms_vrr@seamless-rr-switch-drrs.html
   [319]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-6/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@xe_wedged@basic-wedged:
    - shard-lnl:          [ABORT][320] ([Intel XE#8963]) -> [DMESG-WARN][321] ([Intel XE#8963])
   [320]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4/shard-lnl-2/igt@xe_wedged@basic-wedged.html
   [321]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167217v5/shard-lnl-5/igt@xe_wedged@basic-wedged.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1428
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1467
  [Intel XE#1468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1468
  [Intel XE#1469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1469
  [Intel XE#1477]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1477
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
  [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#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [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#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2459
  [Intel XE#2482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2482
  [Intel XE#2548]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2548
  [Intel XE#2568]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2568
  [Intel XE#2596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2596
  [Intel XE#2682]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2682
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3279]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3279
  [Intel XE#3297]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3297
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
  [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#4329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4329
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4886
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5447
  [Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
  [Intel XE#5882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5882
  [Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
  [Intel XE#6035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6035
  [Intel XE#6078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6078
  [Intel XE#6128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6128
  [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#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
  [Intel XE#6901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6901
  [Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7006]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7006
  [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#7106]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7106
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
  [Intel XE#7321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7321
  [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#7347]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7347
  [Intel XE#7348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7348
  [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#7360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7360
  [Intel XE#7361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7361
  [Intel XE#7367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7367
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
  [Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
  [Intel XE#7385]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7385
  [Intel XE#7387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7387
  [Intel XE#7396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7396
  [Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
  [Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
  [Intel XE#7453]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7453
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [Intel XE#7591]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7591
  [Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
  [Intel XE#7643]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7643
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
  [Intel XE#7687]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7687
  [Intel XE#7779]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7779
  [Intel XE#7780]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7780
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7794
  [Intel XE#7795]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7795
  [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#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
  [Intel XE#8175]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8175
  [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#8365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8365
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8399
  [Intel XE#8586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8586
  [Intel XE#8649]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8649
  [Intel XE#8652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8652
  [Intel XE#8680]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8680
  [Intel XE#8963]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8963
  [Intel XE#9009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9009
  [Intel XE#9096]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9096
  [Intel XE#9125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9125
  [Intel XE#9126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9126
  [Intel XE#9127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9127
  [Intel XE#9128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9128
  [Intel XE#9129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9129
  [Intel XE#9132]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9132
  [Intel XE#9144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9144
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * Linux: xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4 -> xe-pw-167217v5

  IGT_9086: a89061ecccede222b8da2f310f3bf71ed908c365 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5708-c55e420034fcb99888f58a88eb64f1e81ec189a4: c55e420034fcb99888f58a88eb64f1e81ec189a4
  xe-pw-167217v5: 167217v5

== Logs ==

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

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

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

end of thread, other threads:[~2026-09-08 22:52 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-08 16:50 [PATCH v5 0/8] drm/xe/mmio_gem: fix fault handler and destroy path Matthew Auld
2026-09-08 16:50 ` [PATCH v5 1/8] drm/xe/mmio_gem: forbid VMA split Matthew Auld
2026-09-08 16:50 ` [PATCH v5 2/8] drm/xe/mmio_gem: use write-back mapping for dummy page Matthew Auld
2026-09-08 16:50 ` [PATCH v5 3/8] drm/xe/mmio_gem: simplify fault handler loop Matthew Auld
2026-09-08 16:50 ` [PATCH v5 4/8] drm/xe/mmio_gem: Revoke drm_vma_node on xe_mmio_gem destroy Matthew Auld
2026-09-08 16:50 ` [PATCH v5 5/8] drm/xe/mmio_gem: cache the dummy page per object Matthew Auld
2026-09-08 16:50 ` [PATCH v5 6/8] drm/xe/mmio_gem: fix destroy flow Matthew Auld
2026-09-08 17:12   ` sashiko-bot
2026-09-08 17:23     ` Matthew Auld
2026-09-08 16:50 ` [PATCH v5 7/8] drm/xe/mmio_gem: reject VM_EXEC and drop VM_DONTCOPY Matthew Auld
2026-09-08 16:50 ` [PATCH v5 8/8] drm/xe: convert PCI barrier mmap to use xe_mmio_gem Matthew Auld
2026-09-08 17:07   ` Thomas Hellström
2026-09-08 17:23   ` sashiko-bot
2026-09-08 16:59 ` ✓ CI.KUnit: success for drm/xe/mmio_gem: fix fault handler and destroy path (rev5) Patchwork
2026-09-08 17:36 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-08 22:52 ` ✓ Xe.CI.FULL: " Patchwork

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