Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch
@ 2026-10-01  3:36 Himal Prasad Ghimiray
  2026-10-01  3:36 ` [PATCH v4 1/4] drm/pagemap: Add helper to access backing devmem allocation Himal Prasad Ghimiray
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Himal Prasad Ghimiray @ 2026-10-01  3:36 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray

Himal Prasad Ghimiray (4):
  drm/pagemap: Add helper to access backing devmem allocation
  drm/gpusvm: Add devmem callback to get_pages
  drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback
  drm/xe: Bump prefetch BO LRU for already-valid ranges

 drivers/gpu/drm/drm_gpusvm.c  | 105 ++++++++++++++++++++++++++--------
 drivers/gpu/drm/drm_pagemap.c |  15 +++++
 drivers/gpu/drm/xe/xe_svm.c   |  68 ++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_svm.h   |  18 ++++++
 drivers/gpu/drm/xe/xe_vm.c    |   6 ++
 include/drm/drm_gpusvm.h      |   6 ++
 include/drm/drm_pagemap.h     |   7 +++
 7 files changed, 200 insertions(+), 25 deletions(-)

-- 
2.43.0


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

* [PATCH v4 1/4] drm/pagemap: Add helper to access backing devmem allocation
  2026-10-01  3:36 [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch Himal Prasad Ghimiray
@ 2026-10-01  3:36 ` Himal Prasad Ghimiray
  2026-10-01  3:36 ` [PATCH v4 2/4] drm/gpusvm: Add devmem callback to get_pages Himal Prasad Ghimiray
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Himal Prasad Ghimiray @ 2026-10-01  3:36 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray, Matthew Brost

drm_pagemap_zdd is private, so add drm_pagemap_page_to_devmem() to let
callers get the drm_pagemap_devmem backing a device-private/coherent
page. Add a NULL stub for !CONFIG_ZONE_DEVICE.

Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/drm_pagemap.c | 15 +++++++++++++++
 include/drm/drm_pagemap.h     |  7 +++++++
 2 files changed, 22 insertions(+)

diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c
index ba97daedcd49..da58422801d1 100644
--- a/drivers/gpu/drm/drm_pagemap.c
+++ b/drivers/gpu/drm/drm_pagemap.c
@@ -1433,6 +1433,21 @@ struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page)
 }
 EXPORT_SYMBOL_GPL(drm_pagemap_page_to_dpagemap);
 
+/**
+ * drm_pagemap_page_to_devmem() - Return the devmem allocation backing a page
+ * @page: The struct page.
+ *
+ * Return: The &drm_pagemap_devmem backing @page. Undefined if @page was not
+ * populated from a &drm_pagemap.
+ */
+struct drm_pagemap_devmem *drm_pagemap_page_to_devmem(struct page *page)
+{
+	struct drm_pagemap_zdd *zdd = drm_pagemap_page_zone_device_data(page);
+
+	return zdd->devmem_allocation;
+}
+EXPORT_SYMBOL_GPL(drm_pagemap_page_to_devmem);
+
 /**
  * drm_pagemap_populate_mm() - Populate a virtual range with device memory pages
  * @dpagemap: Pointer to the drm_pagemap managing the device memory
diff --git a/include/drm/drm_pagemap.h b/include/drm/drm_pagemap.h
index 95eb4b66b057..376d7d400c8e 100644
--- a/include/drm/drm_pagemap.h
+++ b/include/drm/drm_pagemap.h
@@ -257,6 +257,8 @@ struct drm_pagemap *drm_pagemap_create(struct drm_device *drm,
 
 struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page);
 
+struct drm_pagemap_devmem *drm_pagemap_page_to_devmem(struct page *page);
+
 void drm_pagemap_put(struct drm_pagemap *dpagemap);
 
 #else
@@ -266,6 +268,11 @@ static inline struct drm_pagemap *drm_pagemap_page_to_dpagemap(struct page *page
 	return NULL;
 }
 
+static inline struct drm_pagemap_devmem *drm_pagemap_page_to_devmem(struct page *page)
+{
+	return NULL;
+}
+
 static inline void drm_pagemap_put(struct drm_pagemap *dpagemap)
 {
 }
-- 
2.43.0


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

* [PATCH v4 2/4] drm/gpusvm: Add devmem callback to get_pages
  2026-10-01  3:36 [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch Himal Prasad Ghimiray
  2026-10-01  3:36 ` [PATCH v4 1/4] drm/pagemap: Add helper to access backing devmem allocation Himal Prasad Ghimiray
@ 2026-10-01  3:36 ` Himal Prasad Ghimiray
  2026-10-01  3:36 ` [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback Himal Prasad Ghimiray
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Himal Prasad Ghimiray @ 2026-10-01  3:36 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray, Matthew Brost

Add an optional drm_gpusvm_ctx.devmem_fn, invoked for each device-memory
allocation backing the range's faulted pages. It runs under the notifier
lock and independently of the DMA map, so it also fires with no_dma_map.
Adjacent pages of one allocation are coalesced, so the callback must be
idempotent.

v2
Reset last to NULL for non-devmem pages(Sashiko/Matt)

v3
Run drm_gpusvm_pages_valid_unlocked() on the map_dma path even when
devmem_fn is set, so an invalidated range's stale inline mapping is
reset.

Suggested-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/drm_gpusvm.c | 105 ++++++++++++++++++++++++++---------
 include/drm/drm_gpusvm.h     |   6 ++
 2 files changed, 86 insertions(+), 25 deletions(-)

diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
index b6c9d3a07dc8..a37b26881b73 100644
--- a/drivers/gpu/drm/drm_gpusvm.c
+++ b/drivers/gpu/drm/drm_gpusvm.c
@@ -1528,7 +1528,49 @@ static bool drm_gpusvm_pages_inlinable(struct drm_gpusvm_pages *svm_pages,
 }
 
 /**
- * drm_gpusvm_dma_map_pages() - DMA map one drm_gpusvm_pages instance
+ * drm_gpusvm_walk_devmem() - Invoke the devmem callback across faulted pages
+ * @gpusvm: Pointer to the GPU SVM structure
+ * @pfns: The already-faulted pfn array (size @npages)
+ * @npages: Number of pages in the CPU range
+ * @ctx: GPU SVM context, with a non-NULL &drm_gpusvm_ctx.devmem_fn
+ *
+ * Invoke &drm_gpusvm_ctx.devmem_fn once per contiguous run of @pfns backed by
+ * the same device-memory allocation. Must be called under the notifier lock.
+ */
+static void drm_gpusvm_walk_devmem(struct drm_gpusvm *gpusvm,
+				   unsigned long *pfns,
+				   unsigned long npages,
+				   const struct drm_gpusvm_ctx *ctx)
+{
+	struct drm_pagemap_devmem *last = NULL;
+	unsigned int order = 0;
+	unsigned long i;
+
+	lockdep_assert_held(&gpusvm->notifier_lock);
+
+	for (i = 0; i < npages; i += 1 << order) {
+		struct page *page = hmm_pfn_to_page(pfns[i]);
+		struct drm_pagemap_devmem *devmem;
+
+		order = drm_gpusvm_hmm_pfn_to_order(pfns[i], i, npages);
+
+		if (!is_device_private_page(page) &&
+		    !is_device_coherent_page(page)) {
+			last = NULL;
+			continue;
+		}
+
+		devmem = drm_pagemap_page_to_devmem(page);
+		if (devmem == last)
+			continue;
+
+		last = devmem;
+		ctx->devmem_fn(devmem);
+	}
+}
+
+/**
+ * drm_gpusvm_dma_map_pages() - Walk and DMA map one drm_gpusvm_pages instance
  * @gpusvm: Pointer to the GPU SVM structure
  * @svm_pages: The SVM pages instance to populate with dma-addresses
  * @pfns: The already-faulted pfn array (size @npages)
@@ -1536,10 +1578,10 @@ static bool drm_gpusvm_pages_inlinable(struct drm_gpusvm_pages *svm_pages,
  * @ctx: GPU SVM context
  * @dma_dir: DMA data direction for the mappings
  *
- * Map the faulted @pfns into @svm_pages for DMA access through its owning
- * drm_device. Must be called under the notifier lock and only for an instance
- * without a live mapping. On failure this unwinds the partial mapping of this
- * instance before returning.
+ * Walk the faulted @pfns and map them into @svm_pages for DMA access through
+ * its owning drm_device. Must be called under the notifier lock and only for
+ * an instance without a live mapping. On failure this unwinds the partial
+ * mapping of this instance before returning.
  *
  * Return: 0 on success, negative error code on failure.
  */
@@ -1774,9 +1816,20 @@ int drm_gpusvm_get_pages(struct drm_gpusvm *gpusvm,
 
 	hmm_range.notifier_seq = mmu_interval_read_begin(notifier);
 
-	if (map_dma &&
-	    drm_gpusvm_pages_valid_unlocked(gpusvm, svm_pages, num_pages))
-		goto set_seqno;
+	/*
+	 * drm_gpusvm_pages_valid_unlocked() also resets any instance whose
+	 * mapping was invalidated, so it must run on the map_dma path even when
+	 * devmem_fn suppresses the fast path; otherwise a stale inline mapping
+	 * is later mistaken for a dma_addr array by drm_gpusvm_dma_map_pages().
+	 */
+	if (map_dma) {
+		bool pages_valid = drm_gpusvm_pages_valid_unlocked(gpusvm,
+								   svm_pages,
+								   num_pages);
+
+		if (!ctx->devmem_fn && pages_valid)
+			goto set_seqno;
+	}
 
 	pfns = kvmalloc_array(npages, sizeof(*pfns), GFP_KERNEL);
 	if (!pfns)
@@ -1829,28 +1882,30 @@ int drm_gpusvm_get_pages(struct drm_gpusvm *gpusvm,
 		goto retry;
 	}
 
-	if (!map_dma)
-		goto done_mapping;
+	if (ctx->devmem_fn)
+		drm_gpusvm_walk_devmem(gpusvm, pfns, npages, ctx);
 
-	for (p = 0; p < num_pages; ++p) {
-		if (drm_gpusvm_pages_valid(gpusvm, &svm_pages[p]))
-			continue;
+	if (map_dma) {
+		for (p = 0; p < num_pages; ++p) {
+			if (drm_gpusvm_pages_valid(gpusvm, &svm_pages[p]))
+				continue;
 
-		err = drm_gpusvm_dma_map_pages(gpusvm, &svm_pages[p], pfns,
-					       npages, ctx, dma_dir);
-		if (err) {
-			/*
-			 * The failing instance was unwound by the helper. Keep
-			 * the ones mapped earlier: the -EAGAIN retry reuses
-			 * them, and the driver unmaps every instance with the
-			 * range on the other error paths.
-			 */
-			drm_gpusvm_notifier_unlock(gpusvm);
-			goto err_free;
+			err = drm_gpusvm_dma_map_pages(gpusvm, &svm_pages[p], pfns,
+						       npages, ctx, dma_dir);
+			if (err) {
+				/*
+				 * The failing instance was unwound by the
+				 * helper. Keep the ones mapped earlier: the
+				 * -EAGAIN retry reuses them, and the driver
+				 * unmaps every instance with the range on the
+				 * other error paths.
+				 */
+				drm_gpusvm_notifier_unlock(gpusvm);
+				goto err_free;
+			}
 		}
 	}
 
-done_mapping:
 	drm_gpusvm_notifier_unlock(gpusvm);
 	kvfree(pfns);
 set_seqno:
diff --git a/include/drm/drm_gpusvm.h b/include/drm/drm_gpusvm.h
index 9e35584812fd..4d31c6bba745 100644
--- a/include/drm/drm_gpusvm.h
+++ b/include/drm/drm_gpusvm.h
@@ -274,6 +274,11 @@ struct drm_gpusvm {
  *              pages as valid; the caller revalidates the snapshot itself, see
  *              drm_gpusvm_get_pages(). @devmem_only is rejected and no page
  *              type check is performed, so @allow_mixed has no effect.
+ * @devmem_fn: Optional callback invoked under the notifier lock, once per
+ *             contiguous run of pages backed by the same &drm_pagemap_devmem.
+ *             Must not sleep and must be idempotent, as a non-contiguous
+ *             allocation is reported more than once. Fires even with
+ *             @no_dma_map. May be NULL.
  *
  * Context that is DRM GPUSVM is operating in (i.e. user arguments).
  */
@@ -281,6 +286,7 @@ struct drm_gpusvm_ctx {
 	void *device_private_page_owner;
 	unsigned long check_pages_threshold;
 	unsigned long timeslice_ms;
+	void (*devmem_fn)(struct drm_pagemap_devmem *devmem);
 	unsigned int in_notifier :1;
 	unsigned int read_only :1;
 	unsigned int devmem_possible :1;
-- 
2.43.0


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

* [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback
  2026-10-01  3:36 [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch Himal Prasad Ghimiray
  2026-10-01  3:36 ` [PATCH v4 1/4] drm/pagemap: Add helper to access backing devmem allocation Himal Prasad Ghimiray
  2026-10-01  3:36 ` [PATCH v4 2/4] drm/gpusvm: Add devmem callback to get_pages Himal Prasad Ghimiray
@ 2026-10-01  3:36 ` Himal Prasad Ghimiray
  2026-10-01  3:49   ` sashiko-bot
  2026-10-01  4:06   ` Matthew Brost
  2026-10-01  3:36 ` [PATCH v4 4/4] drm/xe: Bump prefetch BO LRU for already-valid ranges Himal Prasad Ghimiray
                   ` (3 subsequent siblings)
  6 siblings, 2 replies; 12+ messages in thread
From: Himal Prasad Ghimiray @ 2026-10-01  3:36 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray, Matthew Brost

Add xe_svm_devmem_lru_bump() and set it as drm_gpusvm_ctx.devmem_fn in
the prefetch worker so each backing BO is moved to the LRU tail during
get_pages.

v2:
- Guard xe_svm_devmem_lru_bump() against foreign device-memory
  allocations before casting to xe_bo: return early when
  devmem_allocation->ops != &dpagemap_devmem_ops. A shared
  device_private_page_owner can hand us another driver's allocation.
  (Matthew Brost / Sashiko AI review)
- Add stub for function (CI)

v3:
- Guard xe_svm_devmem_lru_bump() body with CONFIG_DRM_XE_PAGEMAP; it
  references dpagemap_devmem_ops and to_xe_bo(), which only exist when
  PAGEMAP is enabled. Fixes the build with GPUSVM=y, PAGEMAP=n.
  (Sashiko AI review)

v4:
- Fix xe_svm_devmem_lru_bump() kernel-doc to explain the locking (Matt)

Suggested-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
 drivers/gpu/drm/xe/xe_svm.c | 34 ++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_svm.h |  7 +++++++
 drivers/gpu/drm/xe/xe_vm.c  |  1 +
 3 files changed, 42 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index f39e647512ad..d07dd95ab451 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -9,6 +9,7 @@
 #include <drm/drm_managed.h>
 #include <drm/drm_pagemap.h>
 #include <drm/drm_pagemap_util.h>
+#include <drm/ttm/ttm_bo.h>
 
 #include "xe_bo.h"
 #include "xe_exec_queue_types.h"
@@ -1625,6 +1626,39 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
 	return err;
 }
 
+/**
+ * xe_svm_devmem_lru_bump() - Move a range's backing BO to the TTM LRU tail
+ * @devmem_allocation: The device-memory allocation backing the range's pages
+ *
+ * Intended as a &drm_gpusvm_ctx.devmem_fn, so drm_gpusvm_get_pages() calls it
+ * under the GPUSVM notifier lock. That lock sits in the reclaim path, so
+ * dma-resv cannot be acquired blocking beneath it; dma-resv is also the outer
+ * lock of the notifier when memory is allocated and migrated, so a blocking
+ * acquire here would invert that order. Hence the trylock. The BO is private
+ * (dedicated dma-resv), so the trylock succeeds unless the BO is being moved
+ * elsewhere (e.g. eviction); a contended BO is simply skipped.
+ *
+ * A shared device_private_page_owner can hand us allocations backed by a
+ * foreign driver; skip anything that is not an Xe BO before casting.
+ */
+void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
+{
+#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
+	struct xe_bo *bo;
+
+	if (devmem_allocation->ops != &dpagemap_devmem_ops)
+		return;
+
+	bo = to_xe_bo(devmem_allocation);
+
+	if (!dma_resv_trylock(bo->ttm.base.resv))
+		return;
+
+	ttm_bo_move_to_lru_tail_unlocked(&bo->ttm);
+	dma_resv_unlock(bo->ttm.base.resv);
+#endif
+}
+
 /**
  * xe_svm_ranges_zap_ptes_in_range - clear ptes of svm ranges in input range
  * @vm: Pointer to the xe_vm structure
diff --git a/drivers/gpu/drm/xe/xe_svm.h b/drivers/gpu/drm/xe/xe_svm.h
index 2ef4ef026ccd..585ad64b672b 100644
--- a/drivers/gpu/drm/xe/xe_svm.h
+++ b/drivers/gpu/drm/xe/xe_svm.h
@@ -128,6 +128,8 @@ struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm, u64 addr,
 int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
 			   struct drm_gpusvm_ctx *ctx);
 
+void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation);
+
 bool xe_svm_range_needs_migrate_to_vram(struct xe_svm_range *range, struct xe_vma *vma,
 					const struct drm_pagemap *dpagemap);
 
@@ -356,6 +358,11 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
 	return -EINVAL;
 }
 
+static inline
+void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
+{
+}
+
 static inline struct xe_svm_range *to_xe_range(struct drm_gpusvm_range *r)
 {
 	return NULL;
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index ea5bfb307db1..986e0ebfdacd 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -3246,6 +3246,7 @@ static int prefetch_ranges(struct xe_vm *vm, struct xe_vma_ops *vops,
 	ctx.devmem_possible = devmem_possible;
 	ctx.check_pages_threshold = devmem_possible ? SZ_64K : 0;
 	ctx.device_private_page_owner = xe_svm_private_page_owner(vm, !dpagemap);
+	ctx.devmem_fn = xe_svm_devmem_lru_bump;
 
 	skip_threads =  op->prefetch_range.ranges_count == 1 ||
 		(!dpagemap && !(vops->flags &
-- 
2.43.0


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

* [PATCH v4 4/4] drm/xe: Bump prefetch BO LRU for already-valid ranges
  2026-10-01  3:36 [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch Himal Prasad Ghimiray
                   ` (2 preceding siblings ...)
  2026-10-01  3:36 ` [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback Himal Prasad Ghimiray
@ 2026-10-01  3:36 ` Himal Prasad Ghimiray
  2026-10-01  3:47   ` sashiko-bot
  2026-10-01  3:40 ` ✓ CI.KUnit: success for Refresh TTM LRU on SVM prefetch (rev5) Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 12+ messages in thread
From: Himal Prasad Ghimiray @ 2026-10-01  3:36 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray, Matthew Brost

A valid prefetch range skips migration and binding, so nothing refreshes
its backing BOs on the LRU. Add xe_svm_range_prefetch_lru_bump(), which
re-faults with no_dma_map and bumps each backing BO, and call it on the
valid path.

v2
- Make function failsafe (Matt/Sashiko AI comment)
- Add stub for function

Suggested-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_svm.c | 34 ++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_svm.h | 11 +++++++++++
 drivers/gpu/drm/xe/xe_vm.c  |  5 +++++
 3 files changed, 50 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index d07dd95ab451..909a602d091e 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -1659,6 +1659,40 @@ void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
 #endif
 }
 
+/**
+ * xe_svm_range_prefetch_lru_bump() - Bump the TTM LRU for an already-valid range
+ * @vm: Pointer to the struct xe_vm
+ * @vma: Pointer to the VMA covering the range
+ * @range: Pointer to the xe SVM range structure
+ * @dpagemap: Target pagemap of the prefetch, or %NULL for system memory
+ *
+ * A valid range skips migration and binding, so nothing else refreshes its
+ * backing BOs on the LRU. Re-fault the CPU pages without touching the DMA
+ * mappings (@no_dma_map) and move each backing BO to the LRU tail.
+ *
+ * Prefetching is a best-effort optimization, so any failure is ignored; a
+ * later fault will refault the range.
+ */
+void xe_svm_range_prefetch_lru_bump(struct xe_vm *vm, struct xe_vma *vma,
+				    struct xe_svm_range *range,
+				    struct drm_pagemap *dpagemap)
+{
+	struct drm_gpusvm_ctx ctx = {
+		.read_only = xe_vma_read_only(vma),
+		.device_private_page_owner =
+			xe_svm_private_page_owner(vm, !dpagemap),
+		.no_dma_map = 1,
+		.devmem_fn = xe_svm_devmem_lru_bump,
+	};
+
+	guard(mutex)(&range->lock);
+
+	if (xe_svm_range_is_removed(range))
+		return;
+
+	xe_svm_range_get_pages(vm, range, &ctx);
+}
+
 /**
  * xe_svm_ranges_zap_ptes_in_range - clear ptes of svm ranges in input range
  * @vm: Pointer to the xe_vm structure
diff --git a/drivers/gpu/drm/xe/xe_svm.h b/drivers/gpu/drm/xe/xe_svm.h
index 585ad64b672b..ffc1cc808102 100644
--- a/drivers/gpu/drm/xe/xe_svm.h
+++ b/drivers/gpu/drm/xe/xe_svm.h
@@ -130,6 +130,10 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
 
 void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation);
 
+void xe_svm_range_prefetch_lru_bump(struct xe_vm *vm, struct xe_vma *vma,
+				    struct xe_svm_range *range,
+				    struct drm_pagemap *dpagemap);
+
 bool xe_svm_range_needs_migrate_to_vram(struct xe_svm_range *range, struct xe_vma *vma,
 					const struct drm_pagemap *dpagemap);
 
@@ -363,6 +367,13 @@ void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
 {
 }
 
+static inline
+void xe_svm_range_prefetch_lru_bump(struct xe_vm *vm, struct xe_vma *vma,
+				    struct xe_svm_range *range,
+				    struct drm_pagemap *dpagemap)
+{
+}
+
 static inline struct xe_svm_range *to_xe_range(struct drm_gpusvm_range *r)
 {
 	return NULL;
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 986e0ebfdacd..3842a5f332ab 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -2570,6 +2570,11 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_vma_ops *vops,
 						  dpagemap, &valid_pages)) {
 				xe_svm_range_debug(svm_range, "PREFETCH - RANGE IS VALID");
 				xe_assert(vm->xe, valid_pages);
+
+				if (dpagemap)
+					xe_svm_range_prefetch_lru_bump(vm, vma, svm_range,
+								       dpagemap);
+
 				need_put = true;
 				goto check_next_range;
 			}
-- 
2.43.0


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

* ✓ CI.KUnit: success for Refresh TTM LRU on SVM prefetch (rev5)
  2026-10-01  3:36 [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch Himal Prasad Ghimiray
                   ` (3 preceding siblings ...)
  2026-10-01  3:36 ` [PATCH v4 4/4] drm/xe: Bump prefetch BO LRU for already-valid ranges Himal Prasad Ghimiray
@ 2026-10-01  3:40 ` Patchwork
  2026-10-01  6:35 ` ✓ Xe.CI.BAT: " Patchwork
  2026-10-01 11:41 ` ✗ Xe.CI.FULL: failure " Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2026-10-01  3:40 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: intel-xe

== Series Details ==

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

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[03:40:23] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[03:40:25] 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
[03:40:34] Starting KUnit Kernel (1/1)...
[03:40:34] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[03:40:34] ============= refcount_interrupt (4 subtests) ==============
[03:40:34] [PASSED] test_single_irq_change
[03:40:34] [PASSED] test_nested_irq_change
[03:40:34] [PASSED] test_multiple_irq_change
[03:40:34] [PASSED] test_irq_save
[03:40:34] =============== [PASSED] refcount_interrupt ================
[03:40:34] =============== dma-buf-fence (12 subtests) ================
[03:40:34] [PASSED] test_sanitycheck
[03:40:34] [PASSED] test_signaling
[03:40:34] [PASSED] test_add_callback
[03:40:34] [PASSED] test_late_add_callback
[03:40:34] [PASSED] test_rm_callback
[03:40:34] [PASSED] test_late_rm_callback
[03:40:34] [PASSED] test_status
[03:40:34] [PASSED] test_error
[03:40:34] [PASSED] test_wait
[03:40:34] [PASSED] test_wait_timeout
[03:40:34] [PASSED] test_stub
[03:40:34] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[03:40:34] ================== [PASSED] dma-buf-fence ==================
[03:40:34] ============ dma-buf-fence-chain (11 subtests) =============
[03:40:34] [PASSED] test_sanitycheck
[03:40:34] [PASSED] test_find_seqno
[03:40:34] [PASSED] test_find_signaled
[03:40:34] [PASSED] test_find_out_of_order
[03:40:39] [PASSED] test_find_gap
[03:40:39] [PASSED] test_find_race
[03:40:39] [PASSED] test_signal_forward
[03:40:39] [PASSED] test_signal_backward
[03:40:39] [PASSED] test_wait_forward
[03:40:39] [PASSED] test_wait_backward
[03:40:39] [PASSED] test_wait_random
[03:40:39] =============== [PASSED] dma-buf-fence-chain ===============
[03:40:39] ============ dma-buf-fence-unwrap (10 subtests) ============
[03:40:39] [PASSED] test_sanitycheck
[03:40:39] [PASSED] test_unwrap_array
[03:40:39] [PASSED] test_unwrap_chain
[03:40:39] [PASSED] test_unwrap_chain_array
[03:40:39] [PASSED] test_unwrap_merge
[03:40:39] [PASSED] test_unwrap_merge_duplicate
[03:40:39] [PASSED] test_unwrap_merge_seqno
[03:40:39] [PASSED] test_unwrap_merge_order
[03:40:39] [PASSED] test_unwrap_merge_complex
[03:40:39] [PASSED] test_unwrap_merge_complex_seqno
[03:40:39] ============== [PASSED] dma-buf-fence-unwrap ===============
[03:40:39] ================ dma-buf-resv (5 subtests) =================
[03:40:39] [PASSED] test_sanitycheck
[03:40:39] ===================== test_signaling  ======================
[03:40:39] [PASSED] kernel
[03:40:39] [PASSED] write
[03:40:39] [PASSED] read
[03:40:39] [PASSED] bookkeep
[03:40:39] ================= [PASSED] test_signaling ==================
[03:40:39] ====================== test_for_each  ======================
[03:40:39] [PASSED] kernel
[03:40:39] [PASSED] write
[03:40:39] [PASSED] read
[03:40:39] [PASSED] bookkeep
[03:40:39] ================== [PASSED] test_for_each ==================
[03:40:39] ================= test_for_each_unlocked  ==================
[03:40:39] [PASSED] kernel
[03:40:39] [PASSED] write
[03:40:39] [PASSED] read
[03:40:39] [PASSED] bookkeep
[03:40:39] ============= [PASSED] test_for_each_unlocked ==============
[03:40:39] ===================== test_get_fences  =====================
[03:40:39] [PASSED] kernel
[03:40:39] [PASSED] write
[03:40:39] [PASSED] read
[03:40:39] [PASSED] bookkeep
[03:40:39] ================= [PASSED] test_get_fences =================
[03:40:39] ================== [PASSED] dma-buf-resv ===================
[03:40:39] ============================================================
[03:40:39] Testing complete. Ran 54 tests: passed: 53, skipped: 1
[03:40:39] Elapsed time: 15.990s total, 1.816s configuring, 8.903s building, 5.259s running

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



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

* Re: [PATCH v4 4/4] drm/xe: Bump prefetch BO LRU for already-valid ranges
  2026-10-01  3:36 ` [PATCH v4 4/4] drm/xe: Bump prefetch BO LRU for already-valid ranges Himal Prasad Ghimiray
@ 2026-10-01  3:47   ` sashiko-bot
  0 siblings, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-10-01  3:47 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] drm_gpusvm: Type confusion on foreign coherent pages causes kernel panic
--

commit e6a84f5161e8175296073241c548503908bdb0fe
Author: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>

drm/xe: Bump prefetch BO LRU for already-valid ranges

This commit adds xe_svm_range_prefetch_lru_bump() to refresh backing BOs on
the LRU for already-valid prefetch ranges. It avoids migration and binding
overhead by refaulting CPU pages without touching DMA mappings and moving
each backing BO to the LRU tail.

> diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
> index d07dd95ab4514..909a602d091ea 100644
> --- a/drivers/gpu/drm/xe/xe_svm.c
> +++ b/drivers/gpu/drm/xe/xe_svm.c

[ ... ]

> @@ -1659,6 +1659,40 @@ void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
>  #endif
>  }
>  
> +/**
> + * xe_svm_range_prefetch_lru_bump() - Bump the TTM LRU for an already-valid range
> + * @vm: Pointer to the struct xe_vm
> + * @vma: Pointer to the VMA covering the range
> + * @range: Pointer to the xe SVM range structure
> + * @dpagemap: Target pagemap of the prefetch, or %NULL for system memory
> + *
> + * A valid range skips migration and binding, so nothing else refreshes its
> + * backing BOs on the LRU. Re-fault the CPU pages without touching the DMA
> + * mappings (@no_dma_map) and move each backing BO to the LRU tail.
> + *
> + * Prefetching is a best-effort optimization, so any failure is ignored; a
> + * later fault will refault the range.
> + */
> +void xe_svm_range_prefetch_lru_bump(struct xe_vm *vm, struct xe_vma *vma,
> +				    struct xe_svm_range *range,
> +				    struct drm_pagemap *dpagemap)
> +{
> +	struct drm_gpusvm_ctx ctx = {
> +		.read_only = xe_vma_read_only(vma),
> +		.device_private_page_owner =
> +			xe_svm_private_page_owner(vm, !dpagemap),
> +		.no_dma_map = 1,
> +		.devmem_fn = xe_svm_devmem_lru_bump,
> +	};
> +
> +	guard(mutex)(&range->lock);
> +
> +	if (xe_svm_range_is_removed(range))
> +		return;
> +
> +	xe_svm_range_get_pages(vm, range, &ctx);
> +}

[Severity: High]
Can this lead to a kernel panic due to a type confusion if a foreign driver's
MEMORY_DEVICE_COHERENT page is mapped?

If an unprivileged local user maps a foreign coherent page (for example, from
AMDGPU) into a VMA and triggers a prefetch here, xe_svm_range_get_pages()
eventually reaches drm_gpusvm_walk_devmem() in drivers/gpu/drm/drm_gpusvm.c.

Because HMM does not filter MEMORY_DEVICE_COHERENT pages by the
device_private_page_owner, drm_gpusvm_walk_devmem() proceeds:

drivers/gpu/drm/drm_gpusvm.c:drm_gpusvm_walk_devmem() {
    ...
    if (!is_device_private_page(page) &&
        !is_device_coherent_page(page)) {
        last = NULL;
        continue;
    }

    devmem = drm_pagemap_page_to_devmem(page);
    ...
}

This calls drm_pagemap_page_to_devmem() in drivers/gpu/drm/drm_pagemap.c,
which blindly casts the foreign driver's zone_device_data to a struct
drm_pagemap_zdd and reads devmem_allocation, yielding a garbage pointer.

The garbage pointer is then passed to the devmem_fn callback set in this
commit:

drivers/gpu/drm/xe/xe_svm.c:xe_svm_devmem_lru_bump() {
    ...
    if (devmem_allocation->ops != &dpagemap_devmem_ops)
        return;
    ...
}

This dereferences the garbage devmem_allocation pointer to check ops, causing
an immediate unhandled page fault and kernel panic before the validation check
can fail.

Is there a way to safely validate that the page is owned by drm_pagemap before
extracting and dereferencing the devmem_allocation pointer?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261001033602.3166274-6-himal.prasad.ghimiray@intel.com?part=4

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

* Re: [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback
  2026-10-01  3:36 ` [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback Himal Prasad Ghimiray
@ 2026-10-01  3:49   ` sashiko-bot
  2026-10-01  4:06   ` Matthew Brost
  1 sibling, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-10-01  3:49 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] mm: kernel oops via invalid zone_device_data dereference on foreign DEVICE_COHERENT pages
--

commit 958d8ac307a125ba9f54f827cc57e2a2d00555d1
Author: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>

drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback

This commit adds xe_svm_devmem_lru_bump() and sets it as the devmem_fn
callback in the prefetch worker to move backing BOs to the LRU tail
during get_pages.

> diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
> index f39e647512ad9..d07dd95ab4514 100644
> --- a/drivers/gpu/drm/xe/xe_svm.c
> +++ b/drivers/gpu/drm/xe/xe_svm.c
[ ... ]
> @@ -1625,6 +1626,39 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>  	return err;
>  }
>  
> +/**
> + * xe_svm_devmem_lru_bump() - Move a range's backing BO to the TTM LRU tail
[ ... ]
> + */
> +void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
> +{
> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> +	struct xe_bo *bo;
> +
> +	if (devmem_allocation->ops != &dpagemap_devmem_ops)
> +		return;

[Severity: High]
Does this guard effectively protect against foreign allocations?

When a user maps a foreign DEVICE_COHERENT page (e.g., from an AMDGPU
allocation) and binds it into an xe VM, this guard appears to be reached
too late.

The kernel oops seems to occur earlier in the call chain when
drm_gpusvm_walk_devmem() blindly calls drm_pagemap_page_to_devmem(). 

That helper erroneously casts the foreign driver's zone_device_data to a
struct drm_pagemap_zdd pointer and dereferences zdd->devmem_allocation
before this ops check is ever executed.

> +
> +	bo = to_xe_bo(devmem_allocation);
> +
> +	if (!dma_resv_trylock(bo->ttm.base.resv))
> +		return;
> +
> +	ttm_bo_move_to_lru_tail_unlocked(&bo->ttm);
> +	dma_resv_unlock(bo->ttm.base.resv);
> +#endif
> +}
> +
[ ... ]
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 425c678f4480a..a42d86f674cc8 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -3242,6 +3242,7 @@ static int prefetch_ranges(struct xe_vm *vm, struct xe_vma_ops *vops,
>  	ctx.devmem_possible = devmem_possible;
>  	ctx.check_pages_threshold = devmem_possible ? SZ_64K : 0;
>  	ctx.device_private_page_owner = xe_svm_private_page_owner(vm, !dpagemap);
> +	ctx.devmem_fn = xe_svm_devmem_lru_bump;

[Severity: High]
Can setting this callback trigger a denial of service by unprivileged users?

Setting ctx.devmem_fn activates the drm_gpusvm_walk_devmem() code path
during hmm_range_fault() processing. 

If a user maps a foreign DEVICE_COHERENT page, hmm_range_fault() returns a
valid PFN, and the walker will process it, leading to the invalid
zone_device_data dereference mentioned above.

>  
>  	skip_threads =  op->prefetch_range.ranges_count == 1 ||
>  		(!dpagemap && !(vops->flags &

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261001033602.3166274-6-himal.prasad.ghimiray@intel.com?part=3

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

* Re: [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback
  2026-10-01  3:36 ` [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback Himal Prasad Ghimiray
  2026-10-01  3:49   ` sashiko-bot
@ 2026-10-01  4:06   ` Matthew Brost
  2026-10-01  5:18     ` Ghimiray, Himal Prasad
  1 sibling, 1 reply; 12+ messages in thread
From: Matthew Brost @ 2026-10-01  4:06 UTC (permalink / raw)
  To: Himal Prasad Ghimiray; +Cc: intel-xe

On Thu, Oct 01, 2026 at 09:06:06AM +0530, Himal Prasad Ghimiray wrote:
> Add xe_svm_devmem_lru_bump() and set it as drm_gpusvm_ctx.devmem_fn in
> the prefetch worker so each backing BO is moved to the LRU tail during
> get_pages.
> 
> v2:
> - Guard xe_svm_devmem_lru_bump() against foreign device-memory
>   allocations before casting to xe_bo: return early when
>   devmem_allocation->ops != &dpagemap_devmem_ops. A shared
>   device_private_page_owner can hand us another driver's allocation.
>   (Matthew Brost / Sashiko AI review)
> - Add stub for function (CI)
> 
> v3:
> - Guard xe_svm_devmem_lru_bump() body with CONFIG_DRM_XE_PAGEMAP; it
>   references dpagemap_devmem_ops and to_xe_bo(), which only exist when
>   PAGEMAP is enabled. Fixes the build with GPUSVM=y, PAGEMAP=n.
>   (Sashiko AI review)
> 
> v4:
> - Fix xe_svm_devmem_lru_bump() kernel-doc to explain the locking (Matt)
> 
> Suggested-by: Matthew Brost <matthew.brost@intel.com>

Reviewed-by: Matthew Brost <matthew.brost@intel.com>

Sashiko comment for series are theoretically possible with different
coherent devicesm one of which uses GPUSVM, another of which does not
but I don't think we need to solve theoretical problem today, nor is
this in scope.

Himal - go ahead and merge, ack on doing this through drm-xe-next.

Matt

> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_svm.c | 34 ++++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_svm.h |  7 +++++++
>  drivers/gpu/drm/xe/xe_vm.c  |  1 +
>  3 files changed, 42 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
> index f39e647512ad..d07dd95ab451 100644
> --- a/drivers/gpu/drm/xe/xe_svm.c
> +++ b/drivers/gpu/drm/xe/xe_svm.c
> @@ -9,6 +9,7 @@
>  #include <drm/drm_managed.h>
>  #include <drm/drm_pagemap.h>
>  #include <drm/drm_pagemap_util.h>
> +#include <drm/ttm/ttm_bo.h>
>  
>  #include "xe_bo.h"
>  #include "xe_exec_queue_types.h"
> @@ -1625,6 +1626,39 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>  	return err;
>  }
>  
> +/**
> + * xe_svm_devmem_lru_bump() - Move a range's backing BO to the TTM LRU tail
> + * @devmem_allocation: The device-memory allocation backing the range's pages
> + *
> + * Intended as a &drm_gpusvm_ctx.devmem_fn, so drm_gpusvm_get_pages() calls it
> + * under the GPUSVM notifier lock. That lock sits in the reclaim path, so
> + * dma-resv cannot be acquired blocking beneath it; dma-resv is also the outer
> + * lock of the notifier when memory is allocated and migrated, so a blocking
> + * acquire here would invert that order. Hence the trylock. The BO is private
> + * (dedicated dma-resv), so the trylock succeeds unless the BO is being moved
> + * elsewhere (e.g. eviction); a contended BO is simply skipped.
> + *
> + * A shared device_private_page_owner can hand us allocations backed by a
> + * foreign driver; skip anything that is not an Xe BO before casting.
> + */
> +void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
> +{
> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
> +	struct xe_bo *bo;
> +
> +	if (devmem_allocation->ops != &dpagemap_devmem_ops)
> +		return;
> +
> +	bo = to_xe_bo(devmem_allocation);
> +
> +	if (!dma_resv_trylock(bo->ttm.base.resv))
> +		return;
> +
> +	ttm_bo_move_to_lru_tail_unlocked(&bo->ttm);
> +	dma_resv_unlock(bo->ttm.base.resv);
> +#endif
> +}
> +
>  /**
>   * xe_svm_ranges_zap_ptes_in_range - clear ptes of svm ranges in input range
>   * @vm: Pointer to the xe_vm structure
> diff --git a/drivers/gpu/drm/xe/xe_svm.h b/drivers/gpu/drm/xe/xe_svm.h
> index 2ef4ef026ccd..585ad64b672b 100644
> --- a/drivers/gpu/drm/xe/xe_svm.h
> +++ b/drivers/gpu/drm/xe/xe_svm.h
> @@ -128,6 +128,8 @@ struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm, u64 addr,
>  int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>  			   struct drm_gpusvm_ctx *ctx);
>  
> +void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation);
> +
>  bool xe_svm_range_needs_migrate_to_vram(struct xe_svm_range *range, struct xe_vma *vma,
>  					const struct drm_pagemap *dpagemap);
>  
> @@ -356,6 +358,11 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>  	return -EINVAL;
>  }
>  
> +static inline
> +void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
> +{
> +}
> +
>  static inline struct xe_svm_range *to_xe_range(struct drm_gpusvm_range *r)
>  {
>  	return NULL;
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index ea5bfb307db1..986e0ebfdacd 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -3246,6 +3246,7 @@ static int prefetch_ranges(struct xe_vm *vm, struct xe_vma_ops *vops,
>  	ctx.devmem_possible = devmem_possible;
>  	ctx.check_pages_threshold = devmem_possible ? SZ_64K : 0;
>  	ctx.device_private_page_owner = xe_svm_private_page_owner(vm, !dpagemap);
> +	ctx.devmem_fn = xe_svm_devmem_lru_bump;
>  
>  	skip_threads =  op->prefetch_range.ranges_count == 1 ||
>  		(!dpagemap && !(vops->flags &
> -- 
> 2.43.0
> 

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

* Re: [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback
  2026-10-01  4:06   ` Matthew Brost
@ 2026-10-01  5:18     ` Ghimiray, Himal Prasad
  0 siblings, 0 replies; 12+ messages in thread
From: Ghimiray, Himal Prasad @ 2026-10-01  5:18 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe



On 01-10-2026 09:36, Matthew Brost wrote:
> On Thu, Oct 01, 2026 at 09:06:06AM +0530, Himal Prasad Ghimiray wrote:
>> Add xe_svm_devmem_lru_bump() and set it as drm_gpusvm_ctx.devmem_fn in
>> the prefetch worker so each backing BO is moved to the LRU tail during
>> get_pages.
>>
>> v2:
>> - Guard xe_svm_devmem_lru_bump() against foreign device-memory
>>    allocations before casting to xe_bo: return early when
>>    devmem_allocation->ops != &dpagemap_devmem_ops. A shared
>>    device_private_page_owner can hand us another driver's allocation.
>>    (Matthew Brost / Sashiko AI review)
>> - Add stub for function (CI)
>>
>> v3:
>> - Guard xe_svm_devmem_lru_bump() body with CONFIG_DRM_XE_PAGEMAP; it
>>    references dpagemap_devmem_ops and to_xe_bo(), which only exist when
>>    PAGEMAP is enabled. Fixes the build with GPUSVM=y, PAGEMAP=n.
>>    (Sashiko AI review)
>>
>> v4:
>> - Fix xe_svm_devmem_lru_bump() kernel-doc to explain the locking (Matt)
>>
>> Suggested-by: Matthew Brost <matthew.brost@intel.com>
> 
> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> 
> Sashiko comment for series are theoretically possible with different
> coherent devicesm one of which uses GPUSVM, another of which does not
> but I don't think we need to solve theoretical problem today, nor is
> this in scope.
> 
> Himal - go ahead and merge, ack on doing this through drm-xe-next.

Thanks for the Review, pushed the series through drm-xe-next.
Himal

> 
> Matt
> 
>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>> ---
>>   drivers/gpu/drm/xe/xe_svm.c | 34 ++++++++++++++++++++++++++++++++++
>>   drivers/gpu/drm/xe/xe_svm.h |  7 +++++++
>>   drivers/gpu/drm/xe/xe_vm.c  |  1 +
>>   3 files changed, 42 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
>> index f39e647512ad..d07dd95ab451 100644
>> --- a/drivers/gpu/drm/xe/xe_svm.c
>> +++ b/drivers/gpu/drm/xe/xe_svm.c
>> @@ -9,6 +9,7 @@
>>   #include <drm/drm_managed.h>
>>   #include <drm/drm_pagemap.h>
>>   #include <drm/drm_pagemap_util.h>
>> +#include <drm/ttm/ttm_bo.h>
>>   
>>   #include "xe_bo.h"
>>   #include "xe_exec_queue_types.h"
>> @@ -1625,6 +1626,39 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>>   	return err;
>>   }
>>   
>> +/**
>> + * xe_svm_devmem_lru_bump() - Move a range's backing BO to the TTM LRU tail
>> + * @devmem_allocation: The device-memory allocation backing the range's pages
>> + *
>> + * Intended as a &drm_gpusvm_ctx.devmem_fn, so drm_gpusvm_get_pages() calls it
>> + * under the GPUSVM notifier lock. That lock sits in the reclaim path, so
>> + * dma-resv cannot be acquired blocking beneath it; dma-resv is also the outer
>> + * lock of the notifier when memory is allocated and migrated, so a blocking
>> + * acquire here would invert that order. Hence the trylock. The BO is private
>> + * (dedicated dma-resv), so the trylock succeeds unless the BO is being moved
>> + * elsewhere (e.g. eviction); a contended BO is simply skipped.
>> + *
>> + * A shared device_private_page_owner can hand us allocations backed by a
>> + * foreign driver; skip anything that is not an Xe BO before casting.
>> + */
>> +void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
>> +{
>> +#if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP)
>> +	struct xe_bo *bo;
>> +
>> +	if (devmem_allocation->ops != &dpagemap_devmem_ops)
>> +		return;
>> +
>> +	bo = to_xe_bo(devmem_allocation);
>> +
>> +	if (!dma_resv_trylock(bo->ttm.base.resv))
>> +		return;
>> +
>> +	ttm_bo_move_to_lru_tail_unlocked(&bo->ttm);
>> +	dma_resv_unlock(bo->ttm.base.resv);
>> +#endif
>> +}
>> +
>>   /**
>>    * xe_svm_ranges_zap_ptes_in_range - clear ptes of svm ranges in input range
>>    * @vm: Pointer to the xe_vm structure
>> diff --git a/drivers/gpu/drm/xe/xe_svm.h b/drivers/gpu/drm/xe/xe_svm.h
>> index 2ef4ef026ccd..585ad64b672b 100644
>> --- a/drivers/gpu/drm/xe/xe_svm.h
>> +++ b/drivers/gpu/drm/xe/xe_svm.h
>> @@ -128,6 +128,8 @@ struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm, u64 addr,
>>   int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>>   			   struct drm_gpusvm_ctx *ctx);
>>   
>> +void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation);
>> +
>>   bool xe_svm_range_needs_migrate_to_vram(struct xe_svm_range *range, struct xe_vma *vma,
>>   					const struct drm_pagemap *dpagemap);
>>   
>> @@ -356,6 +358,11 @@ int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
>>   	return -EINVAL;
>>   }
>>   
>> +static inline
>> +void xe_svm_devmem_lru_bump(struct drm_pagemap_devmem *devmem_allocation)
>> +{
>> +}
>> +
>>   static inline struct xe_svm_range *to_xe_range(struct drm_gpusvm_range *r)
>>   {
>>   	return NULL;
>> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
>> index ea5bfb307db1..986e0ebfdacd 100644
>> --- a/drivers/gpu/drm/xe/xe_vm.c
>> +++ b/drivers/gpu/drm/xe/xe_vm.c
>> @@ -3246,6 +3246,7 @@ static int prefetch_ranges(struct xe_vm *vm, struct xe_vma_ops *vops,
>>   	ctx.devmem_possible = devmem_possible;
>>   	ctx.check_pages_threshold = devmem_possible ? SZ_64K : 0;
>>   	ctx.device_private_page_owner = xe_svm_private_page_owner(vm, !dpagemap);
>> +	ctx.devmem_fn = xe_svm_devmem_lru_bump;
>>   
>>   	skip_threads =  op->prefetch_range.ranges_count == 1 ||
>>   		(!dpagemap && !(vops->flags &
>> -- 
>> 2.43.0
>>


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

* ✓ Xe.CI.BAT: success for Refresh TTM LRU on SVM prefetch (rev5)
  2026-10-01  3:36 [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch Himal Prasad Ghimiray
                   ` (4 preceding siblings ...)
  2026-10-01  3:40 ` ✓ CI.KUnit: success for Refresh TTM LRU on SVM prefetch (rev5) Patchwork
@ 2026-10-01  6:35 ` Patchwork
  2026-10-01 11:41 ` ✗ Xe.CI.FULL: failure " Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2026-10-01  6:35 UTC (permalink / raw)
  To: Ghimiray, Himal Prasad; +Cc: intel-xe

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

== Series Details ==

Series: Refresh TTM LRU on SVM prefetch (rev5)
URL   : https://patchwork.freedesktop.org/series/174276/
State : success

== Summary ==

CI Bug Log - changes from xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59_BAT -> xe-pw-174276v5_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (15 -> 15)
------------------------------

  No changes in participating hosts

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

  Here are the changes found in xe-pw-174276v5_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-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/bat-nvls-1/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/bat-nvls-1/igt@core_hotunplug@unbind-rebind.html

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


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

  * Linux: xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59 -> xe-pw-174276v5

  IGT_9119: 9985dcc24949e018ed6dfde5313846780c4f2d21 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59: 611459f7537bcf4f2d602f44da82fb6ad95fbb59
  xe-pw-174276v5: 174276v5

== Logs ==

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

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

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

* ✗ Xe.CI.FULL: failure for Refresh TTM LRU on SVM prefetch (rev5)
  2026-10-01  3:36 [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch Himal Prasad Ghimiray
                   ` (5 preceding siblings ...)
  2026-10-01  6:35 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-10-01 11:41 ` Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2026-10-01 11:41 UTC (permalink / raw)
  To: Ghimiray, Himal Prasad; +Cc: intel-xe

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

== Series Details ==

Series: Refresh TTM LRU on SVM prefetch (rev5)
URL   : https://patchwork.freedesktop.org/series/174276/
State : failure

== Summary ==

CI Bug Log - changes from xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59_FULL -> xe-pw-174276v5_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-174276v5_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-174276v5_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (3 -> 3)
------------------------------

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-174276v5_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@xe_fault_injection@exec-queue-create-fail-xe_hw_engine_group_add_exec_queue:
    - shard-bmg:          [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-8/igt@xe_fault_injection@exec-queue-create-fail-xe_hw_engine_group_add_exec_queue.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-9/igt@xe_fault_injection@exec-queue-create-fail-xe_hw_engine_group_add_exec_queue.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_async_flips@async-flip-suspend-resume@pipe-c-dp-2:
    - shard-bmg:          [PASS][3] -> [ABORT][4] ([Intel XE#9399])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-2/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-dp-2.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-6/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-dp-2.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-ptl:          NOTRUN -> [SKIP][5] ([Intel XE#6925])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@linear-16bpp-rotate-90:
    - shard-ptl:          NOTRUN -> [SKIP][6] ([Intel XE#5901]) +3 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_big_fb@linear-16bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-ptl:          NOTRUN -> [SKIP][7] ([Intel XE#5855])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

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

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
    - shard-ptl:          NOTRUN -> [SKIP][9] ([Intel XE#5808]) +13 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#1124]) +7 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p:
    - shard-ptl:          NOTRUN -> [SKIP][11] ([Intel XE#7679]) +1 other test skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_bw@connected-linear-tiling-2-displays-target-2560x1440p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-target-1920x1080p:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#7679])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_bw@connected-linear-tiling-3-displays-target-1920x1080p.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [PASS][13] -> [INCOMPLETE][14] ([Intel XE#7084] / [Intel XE#8150]) +1 other test incomplete
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

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

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][16] ([Intel XE#2887])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc:
    - shard-ptl:          NOTRUN -> [SKIP][17] ([Intel XE#5822]) +15 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2887]) +7 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_chamelium_color@ctm-negative:
    - shard-ptl:          NOTRUN -> [SKIP][19] ([Intel XE#5824]) +2 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_chamelium_color@ctm-negative.html

  * igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#7358]) +2 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-4/igt@kms_chamelium_color_pipeline@plane-fixed-matrix-yuv-rgb-bt601-lim.html

  * igt@kms_chamelium_color_pipeline@plane-lut3d-green-only:
    - shard-ptl:          NOTRUN -> [SKIP][21] ([Intel XE#8391]) +3 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_chamelium_color_pipeline@plane-lut3d-green-only.html

  * igt@kms_chamelium_edid@dp-edid-resolution-list:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2252]) +3 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_chamelium_edid@dp-edid-resolution-list.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-ptl:          NOTRUN -> [SKIP][23] ([Intel XE#2252]) +5 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lut1d@pipe-c-plane-0:
    - shard-ptl:          NOTRUN -> [FAIL][24] ([Intel XE#9333]) +41 other tests fail
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_color_pipeline@plane-fixed-matrix-yuv-rgb-bt709-lut1d@pipe-c-plane-0.html

  * igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-b-plane-3:
    - shard-ptl:          NOTRUN -> [SKIP][25] ([Intel XE#6969]) +15 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-6/igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-b-plane-3.html

  * igt@kms_content_protection@atomic-dpms-hdcp14@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][26] ([Intel XE#3304] / [Intel XE#7374]) +1 other test fail
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_content_protection@atomic-dpms-hdcp14@pipe-a-dp-2.html

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

  * igt@kms_content_protection@srm:
    - shard-bmg:          NOTRUN -> [FAIL][28] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@cursor-offscreen-128x42:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#2320])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_cursor_crc@cursor-offscreen-128x42.html

  * igt@kms_cursor_crc@cursor-rapid-movement-256x85:
    - shard-ptl:          NOTRUN -> [SKIP][30] ([Intel XE#5900]) +3 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-4/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html
    - shard-lnl:          NOTRUN -> [SKIP][31] ([Intel XE#1424])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html

  * igt@kms_cursor_crc@cursor-sliding-512x170:
    - shard-ptl:          NOTRUN -> [SKIP][32] ([Intel XE#5846]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_cursor_crc@cursor-sliding-512x170.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-ptl:          NOTRUN -> [SKIP][33] ([Intel XE#5962]) +2 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
    - shard-ptl:          NOTRUN -> [SKIP][34] ([Intel XE#5962] / [Intel XE#7343]) +1 other test skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-ptl:          NOTRUN -> [SKIP][35] ([Intel XE#4302])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-ptl:          NOTRUN -> [SKIP][36] ([Intel XE#7227])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc-ultrajoiner:
    - shard-lnl:          NOTRUN -> [SKIP][37] ([Intel XE#8265])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@kms_dsc@dsc-fractional-bpp-with-bpc-ultrajoiner.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-ptl:          NOTRUN -> [SKIP][38] ([Intel XE#5907]) +4 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_dsc@dsc-with-bpc-formats.html

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

  * igt@kms_feature_discovery@dp-mst:
    - shard-ptl:          NOTRUN -> [SKIP][40] ([Intel XE#2375])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_feature_discovery@psr1:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#2374] / [Intel XE#6127])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-4/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-ptl:          NOTRUN -> [SKIP][42] ([Intel XE#2316]) +6 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-ptl:          NOTRUN -> [ABORT][43] ([Intel XE#9362]) +2 other tests abort
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
    - shard-ptl:          NOTRUN -> [SKIP][44] ([Intel XE#7178]) +4 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

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

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

  * igt@kms_flip_scaled_crc@flip-nv12-linear-to-nv12-linear-reflect-x:
    - shard-ptl:          NOTRUN -> [SKIP][47] ([Intel XE#7179])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_flip_scaled_crc@flip-nv12-linear-to-nv12-linear-reflect-x.html

  * igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#7179])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-onoff:
    - shard-ptl:          NOTRUN -> [SKIP][49] ([Intel XE#5800] / [Intel XE#6312]) +4 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][50] ([Intel XE#7061] / [Intel XE#7356])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-mmap-wc:
    - shard-ptl:          NOTRUN -> [SKIP][51] ([Intel XE#7061] / [Intel XE#7356]) +4 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-render:
    - shard-ptl:          NOTRUN -> [SKIP][52] ([Intel XE#7061]) +6 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff:
    - shard-ptl:          NOTRUN -> [SKIP][53] ([Intel XE#5812]) +70 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][54] ([Intel XE#4141]) +5 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-indfb-plflip-blt:
    - shard-ptl:          NOTRUN -> [SKIP][55] ([Intel XE#6312]) +13 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-pri-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][56] ([Intel XE#2311]) +29 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-suspend:
    - shard-lnl:          NOTRUN -> [SKIP][57] ([Intel XE#6312])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrshdr-suspend.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-shrfb-draw-blt:
    - shard-ptl:          NOTRUN -> [SKIP][58] ([Intel XE#7865]) +23 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-shrfb-draw-blt.html

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

  * igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#7061]) +2 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-4/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#656] / [Intel XE#7905]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#7399])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][64] ([Intel XE#2313]) +31 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-indfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][65] ([Intel XE#7905]) +3 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][66] ([Intel XE#7061])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-blt.html

  * igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery:
    - shard-bmg:          NOTRUN -> [FAIL][67] ([Intel XE#9346])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_hdmi_audio_bw@suspend-disk-audio-recovery.html

  * igt@kms_hdmi_audio_bw@suspend-mem-audio-recovery:
    - shard-ptl:          NOTRUN -> [SKIP][68] ([Intel XE#9312])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_hdmi_audio_bw@suspend-mem-audio-recovery.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#1503])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_hdr@invalid-hdr.html

  * igt@kms_hdr@static-toggle:
    - shard-ptl:          NOTRUN -> [SKIP][70] ([Intel XE#5917] / [Intel XE#6174]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_hdr@static-toggle.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-ptl:          NOTRUN -> [SKIP][71] ([Intel XE#6900])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][72] ([Intel XE#4090] / [Intel XE#7443])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html

  * igt@kms_pipe_stress@stress-xrgb8888-yftiled:
    - shard-bmg:          NOTRUN -> [SKIP][73] ([Intel XE#6912] / [Intel XE#7375])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html

  * igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-a-plane-5:
    - shard-ptl:          NOTRUN -> [SKIP][74] ([Intel XE#8303]) +1 other test skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier@pipe-a-plane-5.html

  * igt@kms_plane@pixel-format-x-tiled-modifier-source-clamping:
    - shard-ptl:          NOTRUN -> [SKIP][75] ([Intel XE#7283]) +2 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_plane@pixel-format-x-tiled-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#7283])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_plane@pixel-format-y-tiled-ccs-modifier-source-clamping.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-ptl:          NOTRUN -> [SKIP][77] ([Intel XE#4596] / [Intel XE#5854]) +1 other test skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-ptl:          [PASS][78] -> [ABORT][79] ([Intel XE#9362]) +6 other tests abort
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-3/igt@kms_pm_backlight@fade-with-suspend.html
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_pm_backlight@fade-with-suspend.html
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#7376] / [Intel XE#7760] / [Intel XE#870])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-psr-suspend-resume:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#8854])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-4/igt@kms_pm_dc@dc5-psr-suspend-resume.html

  * igt@kms_pm_rpm@package-g7:
    - shard-ptl:          NOTRUN -> [SKIP][82] ([Intel XE#6813])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_pm_rpm@package-g7.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf:
    - shard-bmg:          NOTRUN -> [SKIP][83] ([Intel XE#1489]) +2 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-a-edp-1:
    - shard-ptl:          NOTRUN -> [SKIP][84] ([Intel XE#5858])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-a-edp-1.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-b-edp-1:
    - shard-ptl:          NOTRUN -> [SKIP][85] ([Intel XE#5858] / [Intel XE#7304]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area@pipe-b-edp-1.html

  * igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area:
    - shard-ptl:          NOTRUN -> [SKIP][86] ([Intel XE#7304]) +3 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-6/igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr@fbc-psr2-primary-page-flip@edp-1:
    - shard-ptl:          NOTRUN -> [SKIP][87] ([Intel XE#1406] / [Intel XE#5835]) +3 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_psr@fbc-psr2-primary-page-flip@edp-1.html

  * igt@kms_psr@pr-sprite-blt:
    - shard-ptl:          NOTRUN -> [SKIP][88] ([Intel XE#1406]) +3 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@kms_psr@pr-sprite-blt.html

  * igt@kms_psr@psr-cursor-plane-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@kms_psr@psr-cursor-plane-onoff.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-ptl:          NOTRUN -> [SKIP][90] ([Intel XE#5821]) +3 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_setmode@invalid-clone-single-crtc-stealing:
    - shard-ptl:          NOTRUN -> [SKIP][91] ([Intel XE#5910])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@kms_setmode@invalid-clone-single-crtc-stealing.html

  * igt@kms_vrr@flip-dpms@pipe-a-edp-1:
    - shard-ptl:          [PASS][92] -> [FAIL][93] ([Intel XE#4227] / [Intel XE#7397]) +3 other tests fail
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-8/igt@kms_vrr@flip-dpms@pipe-a-edp-1.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-1/igt@kms_vrr@flip-dpms@pipe-a-edp-1.html

  * igt@kms_vrr@negative-basic:
    - shard-ptl:          NOTRUN -> [SKIP][94] ([Intel XE#5949] / [Intel XE#9277])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@kms_vrr@negative-basic.html

  * igt@sriov_basic@pf-unbind-with-vf-probed:
    - shard-bmg:          NOTRUN -> [ABORT][95] ([Intel XE#8868])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@sriov_basic@pf-unbind-with-vf-probed.html

  * igt@xe_compute@ccs-mode-basic:
    - shard-bmg:          NOTRUN -> [SKIP][96] ([Intel XE#6599]) +1 other test skip
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@xe_compute@ccs-mode-basic.html

  * igt@xe_cw_post_sync@walker-post-sync:
    - shard-bmg:          NOTRUN -> [SKIP][97] ([Intel XE#8608])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@xe_cw_post_sync@walker-post-sync.html

  * igt@xe_evict@evict-cm-threads-small-multi-vm:
    - shard-ptl:          NOTRUN -> [SKIP][98] ([Intel XE#5764]) +7 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_evict@evict-cm-threads-small-multi-vm.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          [PASS][99] -> [INCOMPLETE][100] ([Intel XE#6321] / [Intel XE#8355])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-4/igt@xe_evict@evict-mixed-many-threads-small.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-8/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-reopen:
    - shard-ptl:          NOTRUN -> [SKIP][101] ([Intel XE#6144])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-4/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-reopen.html
    - shard-lnl:          NOTRUN -> [SKIP][102] ([Intel XE#6540] / [Intel XE#688]) +1 other test skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_evict_ccs@evict-overcommit-parallel-instantfree-reopen.html

  * igt@xe_exec_balancer@no-exec-cm-parallel-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [SKIP][103] ([Intel XE#7482])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-8/igt@xe_exec_balancer@no-exec-cm-parallel-userptr-invalidate-race.html

  * igt@xe_exec_balancer@once-cm-parallel-rebind:
    - shard-ptl:          NOTRUN -> [SKIP][104] ([Intel XE#7482]) +14 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@xe_exec_balancer@once-cm-parallel-rebind.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
    - shard-ptl:          NOTRUN -> [SKIP][105] ([Intel XE#5575] / [Intel XE#7484]) +3 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html

  * igt@xe_exec_basic@multigpu-once-null-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][106] ([Intel XE#2322] / [Intel XE#7372]) +3 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@xe_exec_basic@multigpu-once-null-rebind.html

  * igt@xe_exec_fault_mode@many-execqueues-multi-queue-prefetch:
    - shard-ptl:          NOTRUN -> [SKIP][107] ([Intel XE#8374]) +12 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_exec_fault_mode@many-execqueues-multi-queue-prefetch.html

  * igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr:
    - shard-bmg:          NOTRUN -> [SKIP][108] ([Intel XE#8374]) +4 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-4/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr.html

  * igt@xe_exec_fault_mode@once-multi-queue-prefetch:
    - shard-lnl:          NOTRUN -> [SKIP][109] ([Intel XE#8374]) +1 other test skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_exec_fault_mode@once-multi-queue-prefetch.html

  * igt@xe_exec_multi_queue@few-execs-preempt-mode-fault-userptr:
    - shard-bmg:          NOTRUN -> [SKIP][110] ([Intel XE#8364]) +15 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@xe_exec_multi_queue@few-execs-preempt-mode-fault-userptr.html

  * igt@xe_exec_multi_queue@few-execs-preempt-mode-priority:
    - shard-lnl:          NOTRUN -> [SKIP][111] ([Intel XE#8364]) +3 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_exec_multi_queue@few-execs-preempt-mode-priority.html

  * igt@xe_exec_multi_queue@max-queues-preempt-mode-priority:
    - shard-ptl:          NOTRUN -> [SKIP][112] ([Intel XE#8364]) +26 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@xe_exec_multi_queue@max-queues-preempt-mode-priority.html

  * igt@xe_exec_reset@multi-queue-cancel-on-secondary:
    - shard-ptl:          NOTRUN -> [SKIP][113] ([Intel XE#8369]) +1 other test skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@xe_exec_reset@multi-queue-cancel-on-secondary.html

  * igt@xe_exec_reset@multi-queue-close-fd:
    - shard-bmg:          NOTRUN -> [SKIP][114] ([Intel XE#8369])
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@xe_exec_reset@multi-queue-close-fd.html

  * igt@xe_exec_threads@threads-hang-userptr-invalidate-race:
    - shard-lnl:          [PASS][115] -> [FAIL][116] ([Intel XE#9096])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-lnl-2/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-4/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html

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

  * igt@xe_exec_threads@threads-multi-queue-userptr-invalidate:
    - shard-ptl:          NOTRUN -> [SKIP][118] ([Intel XE#8378]) +7 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_exec_threads@threads-multi-queue-userptr-invalidate.html

  * igt@xe_gpgpu_fill@offset-4x4:
    - shard-ptl:          NOTRUN -> [SKIP][119] ([Intel XE#7954])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-4/igt@xe_gpgpu_fill@offset-4x4.html
    - shard-lnl:          NOTRUN -> [SKIP][120] ([Intel XE#7954])
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_gpgpu_fill@offset-4x4.html

  * igt@xe_madvise@atomic-global:
    - shard-ptl:          NOTRUN -> [SKIP][121] ([Intel XE#7980])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@xe_madvise@atomic-global.html

  * igt@xe_mempage_offline@inject-single-page:
    - shard-ptl:          NOTRUN -> [SKIP][122] ([Intel XE#9203]) +1 other test skip
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@xe_mempage_offline@inject-single-page.html

  * igt@xe_mmap@vram:
    - shard-ptl:          NOTRUN -> [SKIP][123] ([Intel XE#5776])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-4/igt@xe_mmap@vram.html
    - shard-lnl:          NOTRUN -> [SKIP][124] ([Intel XE#1416])
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_mmap@vram.html

  * igt@xe_module_load@load:
    - shard-ptl:          ([PASS][125], [PASS][126], [PASS][127], [PASS][128], [PASS][129], [PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134], [PASS][135], [PASS][136], [PASS][137], [PASS][138], [PASS][139], [PASS][140], [PASS][141], [PASS][142], [PASS][143], [PASS][144], [PASS][145], [PASS][146], [PASS][147], [PASS][148], [PASS][149]) -> ([PASS][150], [PASS][151], [PASS][152], [PASS][153], [PASS][154], [PASS][155], [PASS][156], [PASS][157], [PASS][158], [PASS][159], [PASS][160], [PASS][161], [PASS][162], [PASS][163], [PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [SKIP][175]) ([Intel XE#9286])
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-6/igt@xe_module_load@load.html
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-4/igt@xe_module_load@load.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-2/igt@xe_module_load@load.html
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-3/igt@xe_module_load@load.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-3/igt@xe_module_load@load.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-4/igt@xe_module_load@load.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-6/igt@xe_module_load@load.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-7/igt@xe_module_load@load.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-1/igt@xe_module_load@load.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-1/igt@xe_module_load@load.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-5/igt@xe_module_load@load.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-3/igt@xe_module_load@load.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-2/igt@xe_module_load@load.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-2/igt@xe_module_load@load.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-8/igt@xe_module_load@load.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-5/igt@xe_module_load@load.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-5/igt@xe_module_load@load.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-8/igt@xe_module_load@load.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-4/igt@xe_module_load@load.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-7/igt@xe_module_load@load.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-6/igt@xe_module_load@load.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-7/igt@xe_module_load@load.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-6/igt@xe_module_load@load.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-8/igt@xe_module_load@load.html
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-1/igt@xe_module_load@load.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-4/igt@xe_module_load@load.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-8/igt@xe_module_load@load.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-8/igt@xe_module_load@load.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_module_load@load.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_module_load@load.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@xe_module_load@load.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@xe_module_load@load.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@xe_module_load@load.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@xe_module_load@load.html
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@xe_module_load@load.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-1/igt@xe_module_load@load.html
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-1/igt@xe_module_load@load.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-1/igt@xe_module_load@load.html
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@xe_module_load@load.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-4/igt@xe_module_load@load.html
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-3/igt@xe_module_load@load.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-3/igt@xe_module_load@load.html
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-6/igt@xe_module_load@load.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_module_load@load.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-6/igt@xe_module_load@load.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-6/igt@xe_module_load@load.html
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-4/igt@xe_module_load@load.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-8/igt@xe_module_load@load.html
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-3/igt@xe_module_load@load.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_module_load@load.html
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-6/igt@xe_module_load@load.html

  * igt@xe_multigpu_svm@mgpu-atomic-op-conflict:
    - shard-bmg:          NOTRUN -> [SKIP][176] ([Intel XE#6964])
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-5/igt@xe_multigpu_svm@mgpu-atomic-op-conflict.html

  * igt@xe_multigpu_svm@mgpu-coherency-basic:
    - shard-lnl:          NOTRUN -> [SKIP][177] ([Intel XE#6964])
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_multigpu_svm@mgpu-coherency-basic.html

  * igt@xe_multigpu_svm@mgpu-latency-copy-basic:
    - shard-ptl:          NOTRUN -> [SKIP][178] ([Intel XE#6964]) +3 other tests skip
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_multigpu_svm@mgpu-latency-copy-basic.html

  * igt@xe_page_reclaim@binds-null-vma:
    - shard-bmg:          NOTRUN -> [SKIP][179] ([Intel XE#7793]) +2 other tests skip
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@xe_page_reclaim@binds-null-vma.html

  * igt@xe_page_reclaim@many-vma-same-bo:
    - shard-ptl:          NOTRUN -> [SKIP][180] ([Intel XE#7793]) +1 other test skip
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-6/igt@xe_page_reclaim@many-vma-same-bo.html

  * igt@xe_pat@xa-app-transient-media-off:
    - shard-ptl:          NOTRUN -> [SKIP][181] ([Intel XE#7590])
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_pat@xa-app-transient-media-off.html

  * igt@xe_pm@d3cold-mmap-vram:
    - shard-ptl:          NOTRUN -> [SKIP][182] ([Intel XE#5741])
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-5/igt@xe_pm@d3cold-mmap-vram.html

  * igt@xe_pm@s3-d3hot-basic-exec:
    - shard-ptl:          NOTRUN -> [SKIP][183] ([Intel XE#6867]) +1 other test skip
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_pm@s3-d3hot-basic-exec.html

  * igt@xe_pm@s4-basic:
    - shard-lnl:          [PASS][184] -> [ABORT][185] ([Intel XE#9362])
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-lnl-6/igt@xe_pm@s4-basic.html
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-5/igt@xe_pm@s4-basic.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-ptl:          NOTRUN -> [SKIP][186] ([Intel XE#5611] / [Intel XE#7456])
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_pm_residency@gt-c6-freeze@gt1:
    - shard-bmg:          [PASS][187] -> [ABORT][188] ([Intel XE#9362]) +1 other test abort
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-9/igt@xe_pm_residency@gt-c6-freeze@gt1.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@xe_pm_residency@gt-c6-freeze@gt1.html

  * igt@xe_pxp@regular-src-to-pxp-dest-rendercopy:
    - shard-bmg:          NOTRUN -> [SKIP][189] ([Intel XE#4733] / [Intel XE#7417])
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-4/igt@xe_pxp@regular-src-to-pxp-dest-rendercopy.html

  * igt@xe_query@multigpu-query-engines:
    - shard-ptl:          NOTRUN -> [SKIP][190] ([Intel XE#6019]) +2 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_query@multigpu-query-engines.html

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

  * igt@xe_sriov_flr@flr-each-isolation:
    - shard-lnl:          NOTRUN -> [SKIP][192] ([Intel XE#3342])
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_sriov_flr@flr-each-isolation.html

  * igt@xe_survivability@i2c-functionality:
    - shard-ptl:          NOTRUN -> [SKIP][193] ([Intel XE#8415] / [Intel XE#8432])
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-2/igt@xe_survivability@i2c-functionality.html

  * igt@xe_vm@overcommit-fault-vram-lr-no-overcommit:
    - shard-ptl:          NOTRUN -> [SKIP][194] ([Intel XE#7892]) +1 other test skip
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-6/igt@xe_vm@overcommit-fault-vram-lr-no-overcommit.html

  * igt@xe_wedged@wedged-at-any-timeout:
    - shard-ptl:          NOTRUN -> [DMESG-WARN][195] ([Intel XE#8963])
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_wedged@wedged-at-any-timeout.html

  
#### Possible fixes ####

  * igt@core_hotunplug@hotunbind-rebind:
    - shard-bmg:          [ABORT][196] -> [PASS][197] +1 other test pass
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-7/igt@core_hotunplug@hotunbind-rebind.html
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-3/igt@core_hotunplug@hotunbind-rebind.html

  * igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-3:
    - shard-bmg:          [DMESG-WARN][198] ([Intel XE#9365]) -> [PASS][199] +1 other test pass
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-2/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-3.html
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-6/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-3.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-bmg:          [DMESG-WARN][200] ([Intel XE#8329] / [Intel XE#9221]) -> [PASS][201]
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-5/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-1/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-lnl:          [FAIL][202] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][203] +1 other test pass
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [FAIL][204] ([Intel XE#301]) -> [PASS][205] +1 other test pass
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-bmg:          [DMESG-WARN][206] ([Intel XE#9365] / [Intel XE#9474]) -> [PASS][207]
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-6/igt@kms_hdr@bpc-switch-suspend.html
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-4/igt@kms_hdr@bpc-switch-suspend.html

  * igt@xe_ccs@suspend-resume@tile4-compressed-compfmt0-system-system:
    - shard-ptl:          [DMESG-WARN][208] ([Intel XE#9449]) -> [PASS][209]
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-1/igt@xe_ccs@suspend-resume@tile4-compressed-compfmt0-system-system.html
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-8/igt@xe_ccs@suspend-resume@tile4-compressed-compfmt0-system-system.html

  * igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system:
    - shard-ptl:          [DMESG-WARN][210] -> [PASS][211]
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-1/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system.html
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-8/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system.html

  * igt@xe_oa@non-zero-reason-all:
    - shard-lnl:          [FAIL][212] ([Intel XE#7334]) -> [PASS][213] +1 other test pass
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-lnl-3/igt@xe_oa@non-zero-reason-all.html
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_oa@non-zero-reason-all.html

  * igt@xe_pm@s4-exec-after:
    - shard-lnl:          [ABORT][214] ([Intel XE#9362]) -> [PASS][215]
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-lnl-7/igt@xe_pm@s4-exec-after.html
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-lnl-3/igt@xe_pm@s4-exec-after.html

  * igt@xe_pxp@pxp-termination-key-update-post-suspend:
    - shard-ptl:          [ABORT][216] ([Intel XE#9362]) -> [PASS][217] +7 other tests pass
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-5/igt@xe_pxp@pxp-termination-key-update-post-suspend.html
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-1/igt@xe_pxp@pxp-termination-key-update-post-suspend.html

  
#### Warnings ####

  * igt@kms_async_flips@async-flip-suspend-resume:
    - shard-bmg:          [DMESG-WARN][218] ([Intel XE#9365] / [Intel XE#9428]) -> [ABORT][219] ([Intel XE#9399])
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-2/igt@kms_async_flips@async-flip-suspend-resume.html
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-6/igt@kms_async_flips@async-flip-suspend-resume.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          [FAIL][220] ([Intel XE#1729] / [Intel XE#7424]) -> [SKIP][221] ([Intel XE#2426] / [Intel XE#5848])
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern.html
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern.html

  * igt@xe_pat@pat-sw-hw-suspend:
    - shard-ptl:          [ABORT][222] ([Intel XE#9362]) -> [FAIL][223] ([Intel XE#7695])
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59/shard-ptl-6/igt@xe_pat@pat-sw-hw-suspend.html
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-174276v5/shard-ptl-7/igt@xe_pat@pat-sw-hw-suspend.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1416
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [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#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374
  [Intel XE#2375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2375
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [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#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#4090]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4090
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
  [Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#5575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5575
  [Intel XE#5611]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5611
  [Intel XE#5741]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5741
  [Intel XE#5764]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5764
  [Intel XE#5776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5776
  [Intel XE#5800]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5800
  [Intel XE#5808]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5808
  [Intel XE#5812]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5812
  [Intel XE#5821]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5821
  [Intel XE#5822]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5822
  [Intel XE#5824]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5824
  [Intel XE#5832]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5832
  [Intel XE#5835]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5835
  [Intel XE#5846]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5846
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#5854]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5854
  [Intel XE#5855]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5855
  [Intel XE#5858]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5858
  [Intel XE#5900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5900
  [Intel XE#5901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5901
  [Intel XE#5907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5907
  [Intel XE#5910]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5910
  [Intel XE#5917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5917
  [Intel XE#5949]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5949
  [Intel XE#5962]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5962
  [Intel XE#6019]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6019
  [Intel XE#6127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6127
  [Intel XE#6144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6144
  [Intel XE#6174]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6174
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
  [Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
  [Intel XE#6813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6813
  [Intel XE#6867]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6867
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#6900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6900
  [Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
  [Intel XE#6925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6925
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6969]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6969
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [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#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7179]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7179
  [Intel XE#7227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7227
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
  [Intel XE#7334]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7334
  [Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
  [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [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#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
  [Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
  [Intel XE#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
  [Intel XE#7397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7397
  [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#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
  [Intel XE#7443]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7443
  [Intel XE#7456]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7456
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [Intel XE#7484]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7484
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
  [Intel XE#7695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7695
  [Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
  [Intel XE#7892]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7892
  [Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
  [Intel XE#7954]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7954
  [Intel XE#7980]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7980
  [Intel XE#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8303]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8303
  [Intel XE#8329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8329
  [Intel XE#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8391]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8391
  [Intel XE#8415]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8415
  [Intel XE#8432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8432
  [Intel XE#8608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8608
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#8854]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8854
  [Intel XE#8868]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8868
  [Intel XE#8963]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8963
  [Intel XE#9096]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9096
  [Intel XE#9203]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9203
  [Intel XE#9221]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9221
  [Intel XE#9277]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9277
  [Intel XE#9286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9286
  [Intel XE#9312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9312
  [Intel XE#9333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9333
  [Intel XE#9346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9346
  [Intel XE#9362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9362
  [Intel XE#9365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9365
  [Intel XE#9399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9399
  [Intel XE#9428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9428
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#9449]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9449
  [Intel XE#9474]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9474


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

  * Linux: xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59 -> xe-pw-174276v5

  IGT_9119: 9985dcc24949e018ed6dfde5313846780c4f2d21 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5859-611459f7537bcf4f2d602f44da82fb6ad95fbb59: 611459f7537bcf4f2d602f44da82fb6ad95fbb59
  xe-pw-174276v5: 174276v5

== Logs ==

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

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

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

end of thread, other threads:[~2026-10-01 11:41 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-01  3:36 [PATCH v4 0/4] Refresh TTM LRU on SVM prefetch Himal Prasad Ghimiray
2026-10-01  3:36 ` [PATCH v4 1/4] drm/pagemap: Add helper to access backing devmem allocation Himal Prasad Ghimiray
2026-10-01  3:36 ` [PATCH v4 2/4] drm/gpusvm: Add devmem callback to get_pages Himal Prasad Ghimiray
2026-10-01  3:36 ` [PATCH v4 3/4] drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback Himal Prasad Ghimiray
2026-10-01  3:49   ` sashiko-bot
2026-10-01  4:06   ` Matthew Brost
2026-10-01  5:18     ` Ghimiray, Himal Prasad
2026-10-01  3:36 ` [PATCH v4 4/4] drm/xe: Bump prefetch BO LRU for already-valid ranges Himal Prasad Ghimiray
2026-10-01  3:47   ` sashiko-bot
2026-10-01  3:40 ` ✓ CI.KUnit: success for Refresh TTM LRU on SVM prefetch (rev5) Patchwork
2026-10-01  6:35 ` ✓ Xe.CI.BAT: " Patchwork
2026-10-01 11:41 ` ✗ Xe.CI.FULL: failure " Patchwork

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