Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Uninterruptible bb wait + cleanup
@ 2026-10-22 17:40 Matthew Auld
  2026-10-22 17:41 ` [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible Matthew Auld
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Matthew Auld @ 2026-10-22 17:40 UTC (permalink / raw)
  To: intel-xe

Motivation comes from user issue:
https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/9644

-- 
2.56.0


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

* [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible
  2026-10-22 17:40 [PATCH 0/2] Uninterruptible bb wait + cleanup Matthew Auld
@ 2026-10-22 17:41 ` Matthew Auld
  2026-10-22 18:29   ` Thomas Hellström
  2026-10-22 17:41 ` [PATCH 2/2] drm/xe/sa: remove unused shadow BO and two-step bb helpers Matthew Auld
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Matthew Auld @ 2026-10-22 17:41 UTC (permalink / raw)
  To: intel-xe; +Cc: Thomas Hellström, Matthew Brost, stable

Large BO clears and copies in xe_migrate_clear() and xe_migrate_copy()
are split into multiple passes, each needing a batchbuffer from the
fixed size kernel bb pool. Once the pool fills up, __xe_sa_bo_new()
waits interruptibly for space, so a pending signal (e.g. Xorg's 5ms
SIGALRM smart-scheduler timer) makes it fail mid-loop with -ERESTARTSYS.
The partial progress is then thrown away and the restarted ioctl starts
again from byte 0, including the memory allocation, which can livelock
if the signal arrives faster than the whole operation completes. In the
shrinker path the same error also aborts the shrinker walk, even though
ctx->interruptible is false.

Being interruptible here doesn't seem to buy much anyway: on error
the loop already waits uninterruptibly for all submitted passes before
returning. So just make the suballocator waits uninterruptible, matching
amdgpu and radeon. The other users (page reclaim from a kworker, and the
GuC buffer cache) shouldn't really see any meaningful change.

Assisted-by: LLM
Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/9644
Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <stable@vger.kernel.org> # v6.12+
---
 drivers/gpu/drm/xe/xe_sa.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sa.c b/drivers/gpu/drm/xe/xe_sa.c
index f32045f40b7a..d9c2b28b08c2 100644
--- a/drivers/gpu/drm/xe/xe_sa.c
+++ b/drivers/gpu/drm/xe/xe_sa.c
@@ -165,7 +165,8 @@ void xe_sa_bo_sync_shadow(struct drm_suballoc *sa_bo)
  * @size: number of bytes we want to suballocate
  * @gfp: gfp flags used for memory allocation. Typically GFP_KERNEL.
  *
- * Try to make a suballocation of size @size.
+ * Try to make a suballocation of size @size. Any waits for space are
+ * uninterruptible.
  *
  * Return: a &drm_suballoc, or an ERR_PTR.
  */
@@ -178,7 +179,7 @@ struct drm_suballoc *__xe_sa_bo_new(struct xe_sa_manager *sa_manager, u32 size,
 	if (size > sa_manager->base.size)
 		return ERR_PTR(-ENOBUFS);
 
-	return drm_suballoc_new(&sa_manager->base, size, gfp, true, 0);
+	return drm_suballoc_new(&sa_manager->base, size, gfp, false, 0);
 }
 
 /**
-- 
2.56.0


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

* [PATCH 2/2] drm/xe/sa: remove unused shadow BO and two-step bb helpers
  2026-10-22 17:40 [PATCH 0/2] Uninterruptible bb wait + cleanup Matthew Auld
  2026-10-22 17:41 ` [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible Matthew Auld
@ 2026-10-22 17:41 ` Matthew Auld
  2026-10-22 17:49 ` ✓ CI.KUnit: success for Uninterruptible bb wait + cleanup Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Matthew Auld @ 2026-10-22 17:41 UTC (permalink / raw)
  To: intel-xe; +Cc: Thomas Hellström, Matthew Brost

Since commit 1460eae74fbb ("drm/xe/vf: Use drm mm instead of drm sa for
CCS read/write"), the VF CCS save/restore batchbuffers come from
xe_mem_pool rather than xe_sa/xe_bb. That left a fair bit of
suballocator code with no callers:

  - the two-step bb helpers: xe_bb_alloc(), xe_bb_init(),
    xe_sa_bo_alloc() and xe_sa_bo_init()
  - the shadow BO support: XE_SA_BO_MANAGER_FLAG_SHADOW,
    xe_sa_bo_swap_shadow(), xe_sa_bo_sync_shadow() and
    xe_sa_bo_swap_guard()

Remove it, along with the now unused flags argument of
__xe_sa_bo_manager_init().

Assisted-by: LLM
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_bb.c       |  62 -------------------
 drivers/gpu/drm/xe/xe_bb.h       |   3 -
 drivers/gpu/drm/xe/xe_guc_buf.c  |   2 +-
 drivers/gpu/drm/xe/xe_sa.c       | 103 +------------------------------
 drivers/gpu/drm/xe/xe_sa.h       |  22 +------
 drivers/gpu/drm/xe/xe_sa_types.h |   3 -
 6 files changed, 4 insertions(+), 191 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_bb.c b/drivers/gpu/drm/xe/xe_bb.c
index b896b6f6615c..4d940f655ce8 100644
--- a/drivers/gpu/drm/xe/xe_bb.c
+++ b/drivers/gpu/drm/xe/xe_bb.c
@@ -59,68 +59,6 @@ struct xe_bb *xe_bb_new(struct xe_gt *gt, u32 dwords, bool usm)
 	return ERR_PTR(err);
 }
 
-/**
- * xe_bb_alloc() - Allocate a new batch buffer structure
- * @gt: the &xe_gt
- *
- * Allocates and initializes a new xe_bb structure with an associated
- * uninitialized suballoc object.
- *
- * Returns: Batch buffer structure or an ERR_PTR(-ENOMEM).
- */
-struct xe_bb *xe_bb_alloc(struct xe_gt *gt)
-{
-	struct xe_bb *bb = kmalloc_obj(*bb);
-	int err;
-
-	if (!bb)
-		return ERR_PTR(-ENOMEM);
-
-	bb->bo = xe_sa_bo_alloc(GFP_KERNEL);
-	if (IS_ERR(bb->bo)) {
-		err = PTR_ERR(bb->bo);
-		goto err;
-	}
-
-	return bb;
-
-err:
-	kfree(bb);
-	return ERR_PTR(err);
-}
-
-/**
- * xe_bb_init() - Initialize a batch buffer with memory from a sub-allocator pool
- * @bb: Batch buffer structure to initialize
- * @bb_pool: Suballoc memory pool to allocate from
- * @dwords: Number of dwords to be allocated
- *
- * Initializes the batch buffer by allocating memory from the specified
- * suballoc pool.
- *
- * Return: 0 on success, negative error code on failure.
- */
-int xe_bb_init(struct xe_bb *bb, struct xe_sa_manager *bb_pool, u32 dwords)
-{
-	int err;
-
-	/*
-	 * We need to allocate space for the requested number of dwords &
-	 * one additional MI_BATCH_BUFFER_END dword. Since the whole SA
-	 * is submitted to HW, we need to make sure that the last instruction
-	 * is not over written when the last chunk of SA is allocated for BB.
-	 * So, this extra DW acts as a guard here.
-	 */
-	err = xe_sa_bo_init(bb_pool, bb->bo, 4 * (dwords + 1));
-	if (err)
-		return err;
-
-	bb->cs = xe_sa_bo_cpu_addr(bb->bo);
-	bb->len = 0;
-
-	return 0;
-}
-
 static struct xe_sched_job *
 __xe_bb_create_job(struct xe_exec_queue *q, struct xe_bb *bb, u64 *addr)
 {
diff --git a/drivers/gpu/drm/xe/xe_bb.h b/drivers/gpu/drm/xe/xe_bb.h
index 231870b24c2f..b5cc65506696 100644
--- a/drivers/gpu/drm/xe/xe_bb.h
+++ b/drivers/gpu/drm/xe/xe_bb.h
@@ -12,12 +12,9 @@ struct dma_fence;
 
 struct xe_gt;
 struct xe_exec_queue;
-struct xe_sa_manager;
 struct xe_sched_job;
 
 struct xe_bb *xe_bb_new(struct xe_gt *gt, u32 dwords, bool usm);
-struct xe_bb *xe_bb_alloc(struct xe_gt *gt);
-int xe_bb_init(struct xe_bb *bb, struct xe_sa_manager *bb_pool, u32 dwords);
 struct xe_sched_job *xe_bb_create_job(struct xe_exec_queue *q,
 				      struct xe_bb *bb);
 struct xe_sched_job *xe_bb_create_migration_job(struct xe_exec_queue *q,
diff --git a/drivers/gpu/drm/xe/xe_guc_buf.c b/drivers/gpu/drm/xe/xe_guc_buf.c
index 11f77decd8d1..7a8efb62df60 100644
--- a/drivers/gpu/drm/xe/xe_guc_buf.c
+++ b/drivers/gpu/drm/xe/xe_guc_buf.c
@@ -29,7 +29,7 @@ static int guc_buf_cache_init(struct xe_guc_buf_cache *cache, u32 size)
 	struct xe_gt *gt = cache_to_gt(cache);
 	struct xe_sa_manager *sam;
 
-	sam = __xe_sa_bo_manager_init(gt_to_tile(gt), size, 0, sizeof(u32), 0);
+	sam = __xe_sa_bo_manager_init(gt_to_tile(gt), size, 0, sizeof(u32));
 	if (IS_ERR(sam))
 		return PTR_ERR(sam);
 	cache->sam = sam;
diff --git a/drivers/gpu/drm/xe/xe_sa.c b/drivers/gpu/drm/xe/xe_sa.c
index d9c2b28b08c2..71645b01fdec 100644
--- a/drivers/gpu/drm/xe/xe_sa.c
+++ b/drivers/gpu/drm/xe/xe_sa.c
@@ -29,7 +29,6 @@ static void xe_sa_bo_manager_fini(struct drm_device *drm, void *arg)
 		kvfree(sa_manager->cpu_ptr);
 
 	sa_manager->bo = NULL;
-	sa_manager->shadow = NULL;
 }
 
 /**
@@ -38,14 +37,12 @@ static void xe_sa_bo_manager_fini(struct drm_device *drm, void *arg)
  * @size: number of bytes to allocate
  * @guard: number of bytes to exclude from suballocations
  * @align: alignment for each suballocated chunk
- * @flags: flags for suballocator
  *
  * Prepares the suballocation manager for suballocations.
  *
  * Return: a pointer to the &xe_sa_manager or an ERR_PTR on failure.
  */
-struct xe_sa_manager *__xe_sa_bo_manager_init(struct xe_tile *tile, u32 size,
-					      u32 guard, u32 align, u32 flags)
+struct xe_sa_manager *__xe_sa_bo_manager_init(struct xe_tile *tile, u32 size, u32 guard, u32 align)
 {
 	struct xe_device *xe = tile_to_xe(tile);
 	struct xe_sa_manager *sa_manager;
@@ -82,32 +79,6 @@ struct xe_sa_manager *__xe_sa_bo_manager_init(struct xe_tile *tile, u32 size,
 		memset(sa_manager->cpu_ptr, 0, bo->ttm.base.size);
 	}
 
-	if (flags & XE_SA_BO_MANAGER_FLAG_SHADOW) {
-		struct xe_bo *shadow;
-
-		ret = drmm_mutex_init(&xe->drm, &sa_manager->swap_guard);
-		if (ret)
-			return ERR_PTR(ret);
-
-		if (IS_ENABLED(CONFIG_PROVE_LOCKING)) {
-			fs_reclaim_acquire(GFP_KERNEL);
-			might_lock(&sa_manager->swap_guard);
-			fs_reclaim_release(GFP_KERNEL);
-		}
-
-		shadow = xe_managed_bo_create_pin_map(xe, tile, size,
-						      XE_BO_FLAG_VRAM_IF_DGFX(tile) |
-						      XE_BO_FLAG_GGTT |
-						      XE_BO_FLAG_GGTT_INVALIDATE |
-						      XE_BO_FLAG_PINNED_NORESTORE);
-		if (IS_ERR(shadow)) {
-			drm_err(&xe->drm, "Failed to prepare %uKiB BO for SA manager (%pe)\n",
-				size / SZ_1K, shadow);
-			return ERR_CAST(shadow);
-		}
-		sa_manager->shadow = shadow;
-	}
-
 	drm_suballoc_manager_init(&sa_manager->base, managed_size, align);
 	ret = drmm_add_action_or_reset(&xe->drm, xe_sa_bo_manager_fini,
 				       sa_manager);
@@ -117,48 +88,6 @@ struct xe_sa_manager *__xe_sa_bo_manager_init(struct xe_tile *tile, u32 size,
 	return sa_manager;
 }
 
-/**
- * xe_sa_bo_swap_shadow() - Swap the SA BO with shadow BO.
- * @sa_manager: the XE sub allocator manager
- *
- * Swaps the sub-allocator primary buffer object with shadow buffer object.
- *
- * Return: None.
- */
-void xe_sa_bo_swap_shadow(struct xe_sa_manager *sa_manager)
-{
-	struct xe_device *xe = tile_to_xe(sa_manager->bo->tile);
-
-	xe_assert(xe, sa_manager->shadow);
-	lockdep_assert_held(&sa_manager->swap_guard);
-
-	swap(sa_manager->bo, sa_manager->shadow);
-	if (!sa_manager->bo->vmap.is_iomem)
-		sa_manager->cpu_ptr = sa_manager->bo->vmap.vaddr;
-}
-
-/**
- * xe_sa_bo_sync_shadow() - Sync the SA Shadow BO with primary BO.
- * @sa_bo: the sub-allocator buffer object.
- *
- * Synchronize sub-allocator shadow buffer object with primary buffer object.
- *
- * Return: None.
- */
-void xe_sa_bo_sync_shadow(struct drm_suballoc *sa_bo)
-{
-	struct xe_sa_manager *sa_manager = to_xe_sa_manager(sa_bo->manager);
-	struct xe_device *xe = tile_to_xe(sa_manager->bo->tile);
-
-	xe_assert(xe, sa_manager->shadow);
-	lockdep_assert_held(&sa_manager->swap_guard);
-
-	xe_map_memcpy_to(xe, &sa_manager->shadow->vmap,
-			 drm_suballoc_soffset(sa_bo),
-			 xe_sa_bo_cpu_addr(sa_bo),
-			 drm_suballoc_size(sa_bo));
-}
-
 /**
  * __xe_sa_bo_new() - Make a suballocation but use custom gfp flags.
  * @sa_manager: the &xe_sa_manager
@@ -182,36 +111,6 @@ struct drm_suballoc *__xe_sa_bo_new(struct xe_sa_manager *sa_manager, u32 size,
 	return drm_suballoc_new(&sa_manager->base, size, gfp, false, 0);
 }
 
-/**
- * xe_sa_bo_alloc() - Allocate uninitialized suballoc object.
- * @gfp: gfp flags used for memory allocation.
- *
- * Allocate memory for an uninitialized suballoc object. Intended usage is
- * allocate memory for suballoc object outside of a reclaim tainted context
- * and then be initialized at a later time in a reclaim tainted context.
- *
- * Return: a new uninitialized suballoc object, or an ERR_PTR(-ENOMEM).
- */
-struct drm_suballoc *xe_sa_bo_alloc(gfp_t gfp)
-{
-	return drm_suballoc_alloc(gfp);
-}
-
-/**
- * xe_sa_bo_init() - Initialize a suballocation.
- * @sa_manager: pointer to the sa_manager
- * @sa: The struct drm_suballoc.
- * @size: number of bytes we want to suballocate.
- *
- * Try to make a suballocation on a pre-allocated suballoc object of size @size.
- *
- * Return: zero on success, errno on failure.
- */
-int xe_sa_bo_init(struct xe_sa_manager *sa_manager, struct drm_suballoc *sa, size_t size)
-{
-	return drm_suballoc_insert(&sa_manager->base, sa, size, true, 0);
-}
-
 /**
  * xe_sa_bo_flush_write() - Copy the data from the sub-allocation to the GPU memory.
  * @sa_bo: the &drm_suballoc to flush
diff --git a/drivers/gpu/drm/xe/xe_sa.h b/drivers/gpu/drm/xe/xe_sa.h
index 50218b0d1404..1be744350836 100644
--- a/drivers/gpu/drm/xe/xe_sa.h
+++ b/drivers/gpu/drm/xe/xe_sa.h
@@ -14,14 +14,12 @@
 struct dma_fence;
 struct xe_tile;
 
-#define XE_SA_BO_MANAGER_FLAG_SHADOW	BIT(0)
-struct xe_sa_manager *__xe_sa_bo_manager_init(struct xe_tile *tile, u32 size,
-					      u32 guard, u32 align, u32 flags);
+struct xe_sa_manager *__xe_sa_bo_manager_init(struct xe_tile *tile, u32 size, u32 guard, u32 align);
 struct drm_suballoc *__xe_sa_bo_new(struct xe_sa_manager *sa_manager, u32 size, gfp_t gfp);
 
 static inline struct xe_sa_manager *xe_sa_bo_manager_init(struct xe_tile *tile, u32 size, u32 align)
 {
-	return __xe_sa_bo_manager_init(tile, size, SZ_4K, align, 0);
+	return __xe_sa_bo_manager_init(tile, size, SZ_4K, align);
 }
 
 /**
@@ -38,8 +36,6 @@ static inline struct drm_suballoc *xe_sa_bo_new(struct xe_sa_manager *sa_manager
 	return __xe_sa_bo_new(sa_manager, size, GFP_KERNEL);
 }
 
-struct drm_suballoc *xe_sa_bo_alloc(gfp_t gfp);
-int xe_sa_bo_init(struct xe_sa_manager *sa_manager, struct drm_suballoc *sa, size_t size);
 void xe_sa_bo_flush_write(struct drm_suballoc *sa_bo);
 void xe_sa_bo_sync_read(struct drm_suballoc *sa_bo);
 void xe_sa_bo_free(struct drm_suballoc *sa_bo, struct dma_fence *fence);
@@ -73,18 +69,4 @@ static inline void *xe_sa_bo_cpu_addr(struct drm_suballoc *sa)
 		drm_suballoc_soffset(sa);
 }
 
-void xe_sa_bo_swap_shadow(struct xe_sa_manager *sa_manager);
-void xe_sa_bo_sync_shadow(struct drm_suballoc *sa_bo);
-
-/**
- * xe_sa_bo_swap_guard() - Retrieve the SA BO swap guard within sub-allocator.
- * @sa_manager: the &xe_sa_manager
- *
- * Return: Sub alloctor swap guard mutex.
- */
-static inline struct mutex *xe_sa_bo_swap_guard(struct xe_sa_manager *sa_manager)
-{
-	return &sa_manager->swap_guard;
-}
-
 #endif
diff --git a/drivers/gpu/drm/xe/xe_sa_types.h b/drivers/gpu/drm/xe/xe_sa_types.h
index 1085c9c37d6b..cb7238799dcb 100644
--- a/drivers/gpu/drm/xe/xe_sa_types.h
+++ b/drivers/gpu/drm/xe/xe_sa_types.h
@@ -12,9 +12,6 @@ struct xe_bo;
 struct xe_sa_manager {
 	struct drm_suballoc_manager base;
 	struct xe_bo *bo;
-	struct xe_bo *shadow;
-	/** @swap_guard: Timeline guard updating @bo and @shadow */
-	struct mutex swap_guard;
 	void *cpu_ptr;
 	bool is_iomem;
 };
-- 
2.56.0


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

* ✓ CI.KUnit: success for Uninterruptible bb wait + cleanup
  2026-10-22 17:40 [PATCH 0/2] Uninterruptible bb wait + cleanup Matthew Auld
  2026-10-22 17:41 ` [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible Matthew Auld
  2026-10-22 17:41 ` [PATCH 2/2] drm/xe/sa: remove unused shadow BO and two-step bb helpers Matthew Auld
@ 2026-10-22 17:49 ` Patchwork
  2026-10-22 18:27 ` ✓ Xe.CI.BAT: " Patchwork
  2026-10-23  0:56 ` ✗ Xe.CI.FULL: failure " Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2026-10-22 17:49 UTC (permalink / raw)
  To: Matthew Auld; +Cc: intel-xe

== Series Details ==

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

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[17:49:28] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:49:30] 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
[17:49:40] Starting KUnit Kernel (1/1)...
[17:49:40] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:49:40] ================= ttm_device (5 subtests) ==================
[17:49:40] [PASSED] ttm_device_init_basic
[17:49:40] [PASSED] ttm_device_init_multiple
[17:49:40] [PASSED] ttm_device_fini_basic
[17:49:40] [PASSED] ttm_device_init_no_vma_man
[17:49:40] ================== ttm_device_init_pools  ==================
[17:49:40] [PASSED] No DMA allocations, no DMA32 required
[17:49:40] [PASSED] DMA allocations, DMA32 required
[17:49:40] [PASSED] No DMA allocations, DMA32 required
[17:49:40] [PASSED] DMA allocations, no DMA32 required
[17:49:40] ============== [PASSED] ttm_device_init_pools ==============
[17:49:40] =================== [PASSED] ttm_device ====================
[17:49:40] ================== ttm_pool (8 subtests) ===================
[17:49:40] ================== ttm_pool_alloc_basic  ===================
[17:49:40] [PASSED] One page
[17:49:40] [PASSED] More than one page
[17:49:40] [PASSED] Above the allocation limit
[17:49:40] [PASSED] One page, with coherent DMA mappings enabled
[17:49:40] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[17:49:40] ============== [PASSED] ttm_pool_alloc_basic ===============
[17:49:40] ============== ttm_pool_alloc_basic_dma_addr  ==============
[17:49:40] [PASSED] One page
[17:49:40] [PASSED] More than one page
[17:49:40] [PASSED] Above the allocation limit
[17:49:40] [PASSED] One page, with coherent DMA mappings enabled
[17:49:40] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[17:49:40] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[17:49:40] [PASSED] ttm_pool_alloc_order_caching_match
[17:49:40] [PASSED] ttm_pool_alloc_caching_mismatch
[17:49:40] [PASSED] ttm_pool_alloc_order_mismatch
[17:49:40] [PASSED] ttm_pool_free_dma_alloc
[17:49:40] [PASSED] ttm_pool_free_no_dma_alloc
[17:49:40] [PASSED] ttm_pool_fini_basic
[17:49:40] ==================== [PASSED] ttm_pool =====================
[17:49:40] ================ ttm_resource (8 subtests) =================
[17:49:40] ================= ttm_resource_init_basic  =================
[17:49:40] [PASSED] Init resource in TTM_PL_SYSTEM
[17:49:40] [PASSED] Init resource in TTM_PL_VRAM
[17:49:40] [PASSED] Init resource in a private placement
[17:49:40] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[17:49:40] ============= [PASSED] ttm_resource_init_basic =============
[17:49:40] [PASSED] ttm_resource_init_pinned
[17:49:40] [PASSED] ttm_resource_fini_basic
[17:49:40] [PASSED] ttm_resource_manager_init_basic
[17:49:40] [PASSED] ttm_resource_manager_usage_basic
[17:49:40] [PASSED] ttm_resource_manager_set_used_basic
[17:49:40] [PASSED] ttm_sys_man_alloc_basic
[17:49:40] [PASSED] ttm_sys_man_free_basic
[17:49:40] ================== [PASSED] ttm_resource ===================
[17:49:40] =================== ttm_tt (15 subtests) ===================
[17:49:40] ==================== ttm_tt_init_basic  ====================
[17:49:40] [PASSED] Page-aligned size
[17:49:40] [PASSED] Extra pages requested
[17:49:40] ================ [PASSED] ttm_tt_init_basic ================
[17:49:40] [PASSED] ttm_tt_init_misaligned
[17:49:40] [PASSED] ttm_tt_fini_basic
[17:49:40] [PASSED] ttm_tt_fini_sg
[17:49:40] [PASSED] ttm_tt_fini_shmem
[17:49:40] [PASSED] ttm_tt_create_basic
[17:49:40] [PASSED] ttm_tt_create_invalid_bo_type
[17:49:40] [PASSED] ttm_tt_create_ttm_exists
[17:49:40] [PASSED] ttm_tt_create_failed
[17:49:40] [PASSED] ttm_tt_destroy_basic
[17:49:40] [PASSED] ttm_tt_populate_null_ttm
[17:49:40] [PASSED] ttm_tt_populate_populated_ttm
[17:49:40] [PASSED] ttm_tt_unpopulate_basic
[17:49:40] [PASSED] ttm_tt_unpopulate_empty_ttm
[17:49:40] [PASSED] ttm_tt_swapin_basic
[17:49:40] ===================== [PASSED] ttm_tt ======================
[17:49:40] =================== ttm_bo (14 subtests) ===================
[17:49:40] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[17:49:40] [PASSED] Cannot be interrupted and sleeps
[17:49:40] [PASSED] Cannot be interrupted, locks straight away
[17:49:40] [PASSED] Can be interrupted, sleeps
[17:49:40] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[17:49:40] [PASSED] ttm_bo_reserve_locked_no_sleep
[17:49:40] [PASSED] ttm_bo_reserve_no_wait_ticket
[17:49:40] [PASSED] ttm_bo_reserve_double_resv
[17:49:40] [PASSED] ttm_bo_reserve_interrupted
[17:49:40] [PASSED] ttm_bo_reserve_deadlock
[17:49:40] [PASSED] ttm_bo_unreserve_basic
[17:49:40] [PASSED] ttm_bo_unreserve_pinned
[17:49:40] [PASSED] ttm_bo_unreserve_bulk
[17:49:40] [PASSED] ttm_bo_fini_basic
[17:49:40] [PASSED] ttm_bo_fini_shared_resv
[17:49:40] [PASSED] ttm_bo_pin_basic
[17:49:40] [PASSED] ttm_bo_pin_unpin_resource
[17:49:40] [PASSED] ttm_bo_multiple_pin_one_unpin
[17:49:40] ===================== [PASSED] ttm_bo ======================
[17:49:40] ============== ttm_bo_validate (22 subtests) ===============
[17:49:40] ============== ttm_bo_init_reserved_sys_man  ===============
[17:49:40] [PASSED] Buffer object for userspace
[17:49:40] [PASSED] Kernel buffer object
[17:49:40] [PASSED] Shared buffer object
[17:49:40] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[17:49:40] ============== ttm_bo_init_reserved_mock_man  ==============
[17:49:40] [PASSED] Buffer object for userspace
[17:49:40] [PASSED] Kernel buffer object
[17:49:40] [PASSED] Shared buffer object
[17:49:40] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[17:49:40] [PASSED] ttm_bo_init_reserved_resv
[17:49:40] ================== ttm_bo_validate_basic  ==================
[17:49:40] [PASSED] Buffer object for userspace
[17:49:40] [PASSED] Kernel buffer object
[17:49:40] [PASSED] Shared buffer object
[17:49:40] ============== [PASSED] ttm_bo_validate_basic ==============
[17:49:40] [PASSED] ttm_bo_validate_invalid_placement
[17:49:40] ============= ttm_bo_validate_same_placement  ==============
[17:49:40] [PASSED] System manager
[17:49:40] [PASSED] VRAM manager
[17:49:40] ========= [PASSED] ttm_bo_validate_same_placement ==========
[17:49:40] [PASSED] ttm_bo_validate_failed_alloc
[17:49:40] [PASSED] ttm_bo_validate_pinned
[17:49:40] [PASSED] ttm_bo_validate_busy_placement
[17:49:40] ================ ttm_bo_validate_multihop  =================
[17:49:40] [PASSED] Buffer object for userspace
[17:49:40] [PASSED] Kernel buffer object
[17:49:40] [PASSED] Shared buffer object
[17:49:40] ============ [PASSED] ttm_bo_validate_multihop =============
[17:49:40] ========== ttm_bo_validate_no_placement_signaled  ==========
[17:49:40] [PASSED] Buffer object in system domain, no page vector
[17:49:40] [PASSED] Buffer object in system domain with an existing page vector
[17:49:40] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[17:49:40] ======== ttm_bo_validate_no_placement_not_signaled  ========
[17:49:40] [PASSED] Buffer object for userspace
[17:49:40] [PASSED] Kernel buffer object
[17:49:40] [PASSED] Shared buffer object
[17:49:40] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[17:49:40] [PASSED] ttm_bo_validate_move_fence_signaled
[17:49:40] ========= ttm_bo_validate_move_fence_not_signaled  =========
[17:49:40] [PASSED] Waits for GPU
[17:49:40] [PASSED] Tries to lock straight away
[17:49:40] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[17:49:40] [PASSED] ttm_bo_validate_swapout
[17:49:40] [PASSED] ttm_bo_validate_happy_evict
[17:49:40] [PASSED] ttm_bo_validate_all_pinned_evict
[17:49:40] [PASSED] ttm_bo_validate_allowed_only_evict
[17:49:40] [PASSED] ttm_bo_validate_deleted_evict
[17:49:40] [PASSED] ttm_bo_validate_busy_domain_evict
[17:49:40] [PASSED] ttm_bo_validate_evict_gutting
[17:49:40] [PASSED] ttm_bo_validate_recrusive_evict
[17:49:40] ================= [PASSED] ttm_bo_validate =================
[17:49:40] ============================================================
[17:49:40] Testing complete. Ran 102 tests: passed: 102
[17:49:40] Elapsed time: 12.276s total, 1.915s configuring, 10.146s building, 0.182s running

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

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



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

* ✓ Xe.CI.BAT: success for Uninterruptible bb wait + cleanup
  2026-10-22 17:40 [PATCH 0/2] Uninterruptible bb wait + cleanup Matthew Auld
                   ` (2 preceding siblings ...)
  2026-10-22 17:49 ` ✓ CI.KUnit: success for Uninterruptible bb wait + cleanup Patchwork
@ 2026-10-22 18:27 ` Patchwork
  2026-10-23  0:56 ` ✗ Xe.CI.FULL: failure " Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2026-10-22 18:27 UTC (permalink / raw)
  To: Matthew Auld; +Cc: intel-xe

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

== Series Details ==

Series: Uninterruptible bb wait + cleanup
URL   : https://patchwork.freedesktop.org/series/176670/
State : success

== Summary ==

CI Bug Log - changes from xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856_BAT -> xe-pw-176670v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts


Changes
-------

  No changes found


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

  * Linux: xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856 -> xe-pw-176670v1

  IGT_9158: c06ac65c584387323e8322c258d74cea1ce07b18 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856: b2af5f9ef576a3026836cca5ec8757cc045a1856
  xe-pw-176670v1: 176670v1

== Logs ==

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

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

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

* Re: [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible
  2026-10-22 17:41 ` [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible Matthew Auld
@ 2026-10-22 18:29   ` Thomas Hellström
  2026-10-23  9:32     ` Matthew Auld
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Hellström @ 2026-10-22 18:29 UTC (permalink / raw)
  To: Matthew Auld, intel-xe; +Cc: Matthew Brost, stable

Hi, Matt

On Thu, 2026-10-22 at 18:41 +0100, Matthew Auld wrote:
> Large BO clears and copies in xe_migrate_clear() and
> xe_migrate_copy()
> are split into multiple passes, each needing a batchbuffer from the
> fixed size kernel bb pool. Once the pool fills up, __xe_sa_bo_new()
> waits interruptibly for space, so a pending signal (e.g. Xorg's 5ms
> SIGALRM smart-scheduler timer) makes it fail mid-loop with -
> ERESTARTSYS.
> The partial progress is then thrown away and the restarted ioctl
> starts
> again from byte 0, including the memory allocation, which can
> livelock
> if the signal arrives faster than the whole operation completes. In
> the
> shrinker path the same error also aborts the shrinker walk, even
> though
> ctx->interruptible is false.
> 
> Being interruptible here doesn't seem to buy much anyway: on error
> the loop already waits uninterruptibly for all submitted passes
> before
> returning. So just make the suballocator waits uninterruptible,
> matching
> amdgpu and radeon. The other users (page reclaim from a kworker, and
> the
> GuC buffer cache) shouldn't really see any meaningful change.

This is a deviation from the "make all waits possible interruptible".
One might argue that user-space that interrupts kernel work with a 5ms
time only to restart it again and again is not well-behaving and
continously shoots itself in the foot.

Given our pipelining abilities, isn't there a risk that we delay signal
delivery with up to 10s?

In the worst case, is there a way we can periodically at least check
for pending signals or perhaps increase the sa bo size so that it
doesn't block on a single large buffer?

/Thomas

> 
> Assisted-by: LLM
> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/9644
> Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel
> GPUs")
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: <stable@vger.kernel.org> # v6.12+
> ---
>  drivers/gpu/drm/xe/xe_sa.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_sa.c b/drivers/gpu/drm/xe/xe_sa.c
> index f32045f40b7a..d9c2b28b08c2 100644
> --- a/drivers/gpu/drm/xe/xe_sa.c
> +++ b/drivers/gpu/drm/xe/xe_sa.c
> @@ -165,7 +165,8 @@ void xe_sa_bo_sync_shadow(struct drm_suballoc
> *sa_bo)
>   * @size: number of bytes we want to suballocate
>   * @gfp: gfp flags used for memory allocation. Typically GFP_KERNEL.
>   *
> - * Try to make a suballocation of size @size.
> + * Try to make a suballocation of size @size. Any waits for space
> are
> + * uninterruptible.
>   *
>   * Return: a &drm_suballoc, or an ERR_PTR.
>   */
> @@ -178,7 +179,7 @@ struct drm_suballoc *__xe_sa_bo_new(struct
> xe_sa_manager *sa_manager, u32 size,
>  	if (size > sa_manager->base.size)
>  		return ERR_PTR(-ENOBUFS);
>  
> -	return drm_suballoc_new(&sa_manager->base, size, gfp, true,
> 0);
> +	return drm_suballoc_new(&sa_manager->base, size, gfp, false,
> 0);
>  }
>  
>  /**

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

* ✗ Xe.CI.FULL: failure for Uninterruptible bb wait + cleanup
  2026-10-22 17:40 [PATCH 0/2] Uninterruptible bb wait + cleanup Matthew Auld
                   ` (3 preceding siblings ...)
  2026-10-22 18:27 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-10-23  0:56 ` Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2026-10-23  0:56 UTC (permalink / raw)
  To: Matthew Auld; +Cc: intel-xe

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

== Series Details ==

Series: Uninterruptible bb wait + cleanup
URL   : https://patchwork.freedesktop.org/series/176670/
State : failure

== Summary ==

CI Bug Log - changes from xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856_FULL -> xe-pw-176670v1_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-176670v1_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-176670v1_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-176670v1_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_vblank@ts-continuation-modeset:
    - shard-ptl:          [PASS][1] -> [FAIL][2] +1 other test fail
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-ptl-3/igt@kms_vblank@ts-continuation-modeset.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-ptl-1/igt@kms_vblank@ts-continuation-modeset.html

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

  Here are the changes found in xe-pw-176670v1_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@intel_hwmon@hwmon-write:
    - shard-lnl:          NOTRUN -> [SKIP][3] ([Intel XE#1125] / [Intel XE#7312])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@intel_hwmon@hwmon-write.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-lnl:          [PASS][4] -> [FAIL][5] ([Intel XE#1231] / [Intel XE#8628])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-lnl-8/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-2/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][6] ([Intel XE#1407])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-5/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-lnl:          NOTRUN -> [SKIP][7] ([Intel XE#1467] / [Intel XE#7367])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-lnl:          NOTRUN -> [SKIP][8] ([Intel XE#1124]) +3 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

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

  * igt@kms_bw@connected-linear-tiling-3-displays-target-2560x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][10] ([Intel XE#7679])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@kms_bw@connected-linear-tiling-3-displays-target-2560x1440p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-target-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#7679])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_bw@connected-linear-tiling-3-displays-target-3840x2160p.html

  * igt@kms_bw@linear-tiling-3-displays-target-2560x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][12] ([Intel XE#367])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-6/igt@kms_bw@linear-tiling-3-displays-target-2560x1440p.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2887]) +2 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_ccs@bad-pixel-format-y-tiled-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs:
    - shard-ptl:          NOTRUN -> [SKIP][14] ([Intel XE#5822])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-ptl-2/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][15] ([Intel XE#2887]) +3 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][16] ([Intel XE#2669] / [Intel XE#3433] / [Intel XE#7389]) +3 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#3432])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2652]) +8 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs@pipe-c-dp-2.html

  * igt@kms_cdclk@mode-transition:
    - shard-lnl:          NOTRUN -> [SKIP][19] ([Intel XE#9204] / [Intel XE#9205]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_cdclk@mode-transition.html

  * igt@kms_cdclk@mode-transition@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][20] ([Intel XE#9205]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_cdclk@mode-transition@pipe-b-edp-1.html

  * igt@kms_chamelium_color_pipeline@plane-ctm3x4:
    - shard-bmg:          NOTRUN -> [SKIP][21] ([Intel XE#7358])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_chamelium_color_pipeline@plane-ctm3x4.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4:
    - shard-lnl:          NOTRUN -> [SKIP][22] ([Intel XE#7358])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4.html

  * igt@kms_chamelium_hpd@dp-hpd-after-hibernate:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#2252]) +2 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_chamelium_hpd@dp-hpd-after-hibernate.html

  * igt@kms_chamelium_hpd@hdmi-hpd-after-hibernate:
    - shard-lnl:          NOTRUN -> [SKIP][24] ([Intel XE#373]) +1 other test skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_chamelium_hpd@hdmi-hpd-after-hibernate.html

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

  * igt@kms_content_protection@dp-mst-type-0-hdcp14:
    - shard-lnl:          NOTRUN -> [SKIP][26] ([Intel XE#6974])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-5/igt@kms_content_protection@dp-mst-type-0-hdcp14.html

  * igt@kms_content_protection@srm@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][27] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-9/igt@kms_content_protection@srm@pipe-a-dp-2.html

  * igt@kms_content_protection@uevent@pipe-a-dp-1:
    - shard-bmg:          NOTRUN -> [FAIL][28] ([Intel XE#6707] / [Intel XE#7439]) +1 other test fail
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-7/igt@kms_content_protection@uevent@pipe-a-dp-1.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#2320])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions:
    - shard-lnl:          NOTRUN -> [SKIP][30] ([Intel XE#309] / [Intel XE#7343])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html

  * igt@kms_dp_link_training@non-uhbr-mst-tbtalt-train:
    - shard-lnl:          NOTRUN -> [SKIP][31] ([Intel XE#9528])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@kms_dp_link_training@non-uhbr-mst-tbtalt-train.html

  * igt@kms_dp_link_training@uhbr-mst-tbtalt-train:
    - shard-lnl:          NOTRUN -> [SKIP][32] ([Intel XE#9531])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@kms_dp_link_training@uhbr-mst-tbtalt-train.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc-ultrajoiner:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#8265])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_dsc@dsc-fractional-bpp-with-bpc-ultrajoiner.html

  * igt@kms_dsc@dsc-with-formats-bigjoiner:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#8265]) +1 other test skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-5/igt@kms_dsc@dsc-with-formats-bigjoiner.html

  * igt@kms_feature_discovery@display-4x:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#1138] / [Intel XE#7344])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_feature_discovery@display-4x.html

  * igt@kms_flip@2x-absolute-wf_vblank-interruptible:
    - shard-lnl:          NOTRUN -> [SKIP][36] ([Intel XE#1421]) +4 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-lnl:          [PASS][37] -> [FAIL][38] ([Intel XE#301] / [Intel XE#3149]) +1 other test fail
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][39] ([Intel XE#7178] / [Intel XE#7351]) +1 other test skip
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385] / [Intel XE#9144])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][41] ([Intel XE#1397] / [Intel XE#7385] / [Intel XE#9144])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@drrshdr-2p-primscrn-pri-shrfb-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][42] ([Intel XE#7905]) +16 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_frontbuffer_tracking@drrshdr-2p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#4141]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-rte:
    - shard-lnl:          NOTRUN -> [SKIP][44] ([Intel XE#6312] / [Intel XE#651]) +1 other test skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][45] ([Intel XE#656] / [Intel XE#7905]) +10 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#2311]) +15 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-modesetfrombusy:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#6312]) +5 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrshdr-modesetfrombusy.html

  * igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][48] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#7061] / [Intel XE#7356])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-argb161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#2313]) +13 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte:
    - shard-ptl:          NOTRUN -> [SKIP][51] ([Intel XE#7865])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-ptl-2/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-cur-indfb-draw-render:
    - shard-ptl:          NOTRUN -> [SKIP][52] ([Intel XE#5812]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-ptl-2/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-abgr161616f-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][53] ([Intel XE#7061])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-cur-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][54] ([Intel XE#7865]) +8 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][55] ([Intel XE#7061]) +4 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-render.html

  * igt@kms_hdmi_audio_bw@audio-bw-hblank160:
    - shard-lnl:          NOTRUN -> [SKIP][56] ([Intel XE#9312])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_hdmi_audio_bw@audio-bw-hblank160.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [PASS][57] -> [SKIP][58] ([Intel XE#1503])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-bmg-7/igt@kms_hdr@invalid-hdr.html
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-9/igt@kms_hdr@invalid-hdr.html

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

  * igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping:
    - shard-bmg:          NOTRUN -> [SKIP][60] ([Intel XE#7283])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier-source-clamping:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#7283])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-6/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier-source-clamping.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#2763] / [Intel XE#6886]) +4 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-lnl:          NOTRUN -> [SKIP][63] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-6/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc3co-vpb-simulation@psr2-yuv420:
    - shard-lnl:          NOTRUN -> [SKIP][64] ([Intel XE#8396]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-6/igt@kms_pm_dc@dc3co-vpb-simulation@psr2-yuv420.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][65] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf:
    - shard-lnl:          NOTRUN -> [SKIP][66] ([Intel XE#2893] / [Intel XE#7304]) +1 other test skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-6/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf:
    - shard-lnl:          NOTRUN -> [SKIP][67] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][68] ([Intel XE#4608])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-a-edp-1.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][69] ([Intel XE#4608] / [Intel XE#7304])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-b-edp-1.html

  * igt@kms_psr2_sf@psr2-plane-move-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][70] ([Intel XE#1489]) +2 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_psr2_sf@psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr@fbc-psr-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][71] ([Intel XE#2234] / [Intel XE#2850]) +2 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_psr@fbc-psr-suspend.html

  * igt@kms_psr@pr-sprite-plane-move:
    - shard-lnl:          NOTRUN -> [SKIP][72] ([Intel XE#1406])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-6/igt@kms_psr@pr-sprite-plane-move.html

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-lnl:          NOTRUN -> [SKIP][73] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342]) +2 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-6/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_sharpness_filter@filter-toggle:
    - shard-bmg:          NOTRUN -> [SKIP][74] ([Intel XE#6503])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_sharpness_filter@filter-toggle.html

  * igt@kms_vrr@flipline:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#1499] / [Intel XE#9271])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@kms_vrr@flipline.html

  * igt@kms_vrr@flipline@pipe-a-edp-1:
    - shard-ptl:          [PASS][76] -> [FAIL][77] ([Intel XE#4227] / [Intel XE#7397]) +1 other test fail
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-ptl-4/igt@kms_vrr@flipline@pipe-a-edp-1.html
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-ptl-2/igt@kms_vrr@flipline@pipe-a-edp-1.html

  * igt@xe_ccs@suspend-resume:
    - shard-bmg:          [PASS][78] -> [INCOMPLETE][79] ([Intel XE#9410]) +1 other test incomplete
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-bmg-9/igt@xe_ccs@suspend-resume.html
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_ccs@suspend-resume.html

  * igt@xe_compute@ccs-mode-compute-kernel:
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#6599])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_compute@ccs-mode-compute-kernel.html

  * igt@xe_evict@evict-cm-threads-small-multi-queue:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#8370])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_evict@evict-cm-threads-small-multi-queue.html

  * igt@xe_evict_ccs@evict-overcommit-standalone-instantfree-reopen:
    - shard-lnl:          NOTRUN -> [SKIP][82] ([Intel XE#6540] / [Intel XE#688]) +6 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_evict_ccs@evict-overcommit-standalone-instantfree-reopen.html

  * igt@xe_exec_balancer@no-exec-parallel-userptr-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][83] ([Intel XE#7482]) +8 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@xe_exec_balancer@no-exec-parallel-userptr-rebind.html

  * igt@xe_exec_balancer@once-virtual-userptr-rebind:
    - shard-ptl:          NOTRUN -> [SKIP][84] ([Intel XE#7482])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-ptl-2/igt@xe_exec_balancer@once-virtual-userptr-rebind.html

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

  * igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][86] ([Intel XE#1392])
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-rebind.html

  * igt@xe_exec_fault_mode@twice-multi-queue:
    - shard-bmg:          NOTRUN -> [SKIP][87] ([Intel XE#8374]) +3 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_exec_fault_mode@twice-multi-queue.html

  * igt@xe_exec_fault_mode@twice-multi-queue-imm:
    - shard-ptl:          NOTRUN -> [SKIP][88] ([Intel XE#8374]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-ptl-2/igt@xe_exec_fault_mode@twice-multi-queue-imm.html

  * igt@xe_exec_fault_mode@twice-multi-queue-invalid-fault:
    - shard-lnl:          NOTRUN -> [SKIP][89] ([Intel XE#8374]) +6 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@xe_exec_fault_mode@twice-multi-queue-invalid-fault.html

  * igt@xe_exec_multi_queue@few-execs-preempt-mode-basic:
    - shard-bmg:          NOTRUN -> [SKIP][90] ([Intel XE#8364]) +7 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_exec_multi_queue@few-execs-preempt-mode-basic.html

  * igt@xe_exec_multi_queue@few-execs-preempt-mode-close-fd:
    - shard-lnl:          NOTRUN -> [SKIP][91] ([Intel XE#8364]) +6 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_exec_multi_queue@few-execs-preempt-mode-close-fd.html

  * igt@xe_exec_reset@multi-queue-long-spin-many-queue-switch:
    - shard-bmg:          NOTRUN -> [SKIP][92] ([Intel XE#8369])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_exec_reset@multi-queue-long-spin-many-queue-switch.html

  * igt@xe_exec_threads@threads-multi-queue-fd-userptr:
    - shard-lnl:          NOTRUN -> [SKIP][93] ([Intel XE#8378]) +3 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@xe_exec_threads@threads-multi-queue-fd-userptr.html

  * igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate-race:
    - shard-bmg:          NOTRUN -> [SKIP][94] ([Intel XE#8378]) +2 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_exec_threads@threads-multi-queue-mixed-userptr-invalidate-race.html

  * igt@xe_mmap@small-bar:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#512] / [Intel XE#7323] / [Intel XE#7384])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-6/igt@xe_mmap@small-bar.html

  * igt@xe_multigpu_svm@mgpu-atomic-op-prefetch:
    - shard-lnl:          NOTRUN -> [SKIP][96] ([Intel XE#6964])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_multigpu_svm@mgpu-atomic-op-prefetch.html

  * igt@xe_multigpu_svm@mgpu-latency-copy-basic:
    - shard-bmg:          NOTRUN -> [SKIP][97] ([Intel XE#6964])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_multigpu_svm@mgpu-latency-copy-basic.html

  * igt@xe_page_reclaim@basic-mixed:
    - shard-bmg:          NOTRUN -> [SKIP][98] ([Intel XE#7793])
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_page_reclaim@basic-mixed.html

  * igt@xe_peer2peer@read:
    - shard-lnl:          NOTRUN -> [SKIP][99] ([Intel XE#1061] / [Intel XE#7326] / [Intel XE#7353])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_peer2peer@read.html

  * igt@xe_pm@s3-d3cold-basic-exec:
    - shard-lnl:          NOTRUN -> [SKIP][100] ([Intel XE#2284] / [Intel XE#366] / [Intel XE#7370])
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_pm@s3-d3cold-basic-exec.html

  * igt@xe_pm@s4-mocs:
    - shard-lnl:          [PASS][101] -> [ABORT][102] ([Intel XE#9362])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-lnl-2/igt@xe_pm@s4-mocs.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-4/igt@xe_pm@s4-mocs.html

  * igt@xe_pmu@fn-engine-activity-load:
    - shard-lnl:          NOTRUN -> [SKIP][103] ([Intel XE#4650] / [Intel XE#7347])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_pmu@fn-engine-activity-load.html

  * igt@xe_pmu@fn-engine-activity-load@engine-drm_xe_engine_class_compute0:
    - shard-lnl:          NOTRUN -> [SKIP][104] ([Intel XE#7347]) +4 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_pmu@fn-engine-activity-load@engine-drm_xe_engine_class_compute0.html

  * igt@xe_pxp@pxp-termination-key-update-post-rpm:
    - shard-bmg:          NOTRUN -> [SKIP][105] ([Intel XE#4733] / [Intel XE#7417])
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_pxp@pxp-termination-key-update-post-rpm.html

  * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
    - shard-bmg:          NOTRUN -> [SKIP][106] ([Intel XE#944])
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-lnl:          NOTRUN -> [SKIP][107] ([Intel XE#3342])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-3/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_sriov_scheduling@equal-throughput-normal-priority:
    - shard-lnl:          NOTRUN -> [SKIP][108] ([Intel XE#8339])
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_sriov_scheduling@equal-throughput-normal-priority.html

  * igt@xe_survivability@runtime-survivability:
    - shard-bmg:          [PASS][109] -> [DMESG-WARN][110] ([Intel XE#9365])
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-bmg-2/igt@xe_survivability@runtime-survivability.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-9/igt@xe_survivability@runtime-survivability.html

  
#### Possible fixes ####

  * igt@xe_exec_threads@threads-hang-fd-userptr-invalidate-race:
    - shard-lnl:          [FAIL][111] ([Intel XE#9096] / [Intel XE#9297]) -> [PASS][112]
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-lnl-4/igt@xe_exec_threads@threads-hang-fd-userptr-invalidate-race.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_exec_threads@threads-hang-fd-userptr-invalidate-race.html

  * igt@xe_exec_threads@threads-hang-userptr-invalidate-race:
    - shard-bmg:          [FAIL][113] ([Intel XE#9096]) -> [PASS][114]
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-bmg-7/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-9/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_add_hw_engine_class_defaults:
    - shard-bmg:          [ABORT][115] ([Intel XE#9463]) -> [PASS][116]
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-bmg-2/igt@xe_fault_injection@inject-fault-probe-function-xe_add_hw_engine_class_defaults.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-1/igt@xe_fault_injection@inject-fault-probe-function-xe_add_hw_engine_class_defaults.html

  * igt@xe_pm@s4-basic:
    - shard-ptl:          [ABORT][117] ([Intel XE#9362]) -> [PASS][118]
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-ptl-5/igt@xe_pm@s4-basic.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-ptl-2/igt@xe_pm@s4-basic.html

  * igt@xe_pm@s4-vm-bind-prefetch:
    - shard-lnl:          [ABORT][119] ([Intel XE#9362]) -> [PASS][120] +1 other test pass
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-lnl-8/igt@xe_pm@s4-vm-bind-prefetch.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-lnl-1/igt@xe_pm@s4-vm-bind-prefetch.html

  
#### Warnings ####

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][121] ([Intel XE#3544]) -> [SKIP][122] ([Intel XE#3374] / [Intel XE#3544])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-bmg-10/igt@kms_hdr@brightness-with-hdr.html
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-7/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          [FAIL][123] ([Intel XE#1729] / [Intel XE#7424]) -> [SKIP][124] ([Intel XE#2426] / [Intel XE#5848])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern.html
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-176670v1/shard-bmg-7/igt@kms_tiled_display@basic-test-pattern.html

  
  [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
  [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1231
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
  [Intel XE#1467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1467
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
  [Intel XE#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#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
  [Intel XE#4329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4329
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/512
  [Intel XE#5812]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5812
  [Intel XE#5822]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5822
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#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#6707]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6707
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
  [Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [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#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [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#7312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7312
  [Intel XE#7323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7323
  [Intel XE#7326]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7326
  [Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
  [Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
  [Intel XE#7344]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7344
  [Intel XE#7347]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7347
  [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [Intel XE#7353]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7353
  [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#7367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7367
  [Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
  [Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
  [Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
  [Intel XE#7384]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7384
  [Intel XE#7385]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7385
  [Intel XE#7389]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7389
  [Intel XE#7397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7397
  [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#7439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7439
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
  [Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8339]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8339
  [Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
  [Intel XE#8370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8370
  [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#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
  [Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
  [Intel XE#8628]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8628
  [Intel XE#9096]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9096
  [Intel XE#9144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9144
  [Intel XE#9204]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9204
  [Intel XE#9205]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9205
  [Intel XE#9271]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9271
  [Intel XE#9297]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9297
  [Intel XE#9312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9312
  [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#9410]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9410
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#9463]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9463
  [Intel XE#9528]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9528
  [Intel XE#9531]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9531


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

  * Linux: xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856 -> xe-pw-176670v1

  IGT_9158: c06ac65c584387323e8322c258d74cea1ce07b18 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5999-b2af5f9ef576a3026836cca5ec8757cc045a1856: b2af5f9ef576a3026836cca5ec8757cc045a1856
  xe-pw-176670v1: 176670v1

== Logs ==

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

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

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

* Re: [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible
  2026-10-22 18:29   ` Thomas Hellström
@ 2026-10-23  9:32     ` Matthew Auld
  2026-10-27 12:42       ` Matthew Auld
  0 siblings, 1 reply; 9+ messages in thread
From: Matthew Auld @ 2026-10-23  9:32 UTC (permalink / raw)
  To: Thomas Hellström, intel-xe; +Cc: Matthew Brost, stable

Hi,

On 22/10/2026 19:29, Thomas Hellström wrote:
> Hi, Matt
> 
> On Thu, 2026-10-22 at 18:41 +0100, Matthew Auld wrote:
>> Large BO clears and copies in xe_migrate_clear() and
>> xe_migrate_copy()
>> are split into multiple passes, each needing a batchbuffer from the
>> fixed size kernel bb pool. Once the pool fills up, __xe_sa_bo_new()
>> waits interruptibly for space, so a pending signal (e.g. Xorg's 5ms
>> SIGALRM smart-scheduler timer) makes it fail mid-loop with -
>> ERESTARTSYS.
>> The partial progress is then thrown away and the restarted ioctl
>> starts
>> again from byte 0, including the memory allocation, which can
>> livelock
>> if the signal arrives faster than the whole operation completes. In
>> the
>> shrinker path the same error also aborts the shrinker walk, even
>> though
>> ctx->interruptible is false.
>>
>> Being interruptible here doesn't seem to buy much anyway: on error
>> the loop already waits uninterruptibly for all submitted passes
>> before
>> returning. So just make the suballocator waits uninterruptible,
>> matching
>> amdgpu and radeon. The other users (page reclaim from a kworker, and
>> the
>> GuC buffer cache) shouldn't really see any meaningful change.
> 
> This is a deviation from the "make all waits possible interruptible".
> One might argue that user-space that interrupts kernel work with a 5ms
> time only to restart it again and again is not well-behaving and
> continously shoots itself in the foot.

Maybe. This is the xserver, so I assume this is very old and not some 
new thing. I feel like even in this situation the kernel should be able 
to make some forward progress in the ioctl.

> 
> Given our pipelining abilities, isn't there a risk that we delay signal
> delivery with up to 10s?

At least for the copy/clear, it looks like there is already an 
uninterruptible wait on the err path if fence != NULL, which we trigger 
on a signal.

> 
> In the worst case, is there a way we can periodically at least check
> for pending signals or perhaps increase the sa bo size so that it
> doesn't block on a single large buffer?

Other idea is to expose the intr, and then maybe plumb down the 
ctx->interruptible somehow, which would then cover the shrinker case and 
maybe other places like that which explicitly asked for that? For the 
clear case (gem_create) maybe we check if the fence != NULL first and 
then set intr accordingly? If we have a pending signal it would bail if 
we have not started GPU clearing yet, but if we have started then we try 
to finish? The error path will currently do an uninterruptible wait 
anyway, and that one could be a lot worse for a big buffer, since it 
drains ALL prior jobs, instead of just waiting for the oldest bb. And 
here it might be that we got right to the tail end of the clears but we 
got a signal, so we throw away all of that work.

Increasing the sa bo is also an option (maybe both). Although I guess 
there will likely still be something too big, and I guess we might still 
see issues if the pool is still busy with other pending work?

> 
> /Thomas
> 
>>
>> Assisted-by: LLM
>> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/9644
>> Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel
>> GPUs")
>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> Cc: Matthew Brost <matthew.brost@intel.com>
>> Cc: <stable@vger.kernel.org> # v6.12+
>> ---
>>   drivers/gpu/drm/xe/xe_sa.c | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_sa.c b/drivers/gpu/drm/xe/xe_sa.c
>> index f32045f40b7a..d9c2b28b08c2 100644
>> --- a/drivers/gpu/drm/xe/xe_sa.c
>> +++ b/drivers/gpu/drm/xe/xe_sa.c
>> @@ -165,7 +165,8 @@ void xe_sa_bo_sync_shadow(struct drm_suballoc
>> *sa_bo)
>>    * @size: number of bytes we want to suballocate
>>    * @gfp: gfp flags used for memory allocation. Typically GFP_KERNEL.
>>    *
>> - * Try to make a suballocation of size @size.
>> + * Try to make a suballocation of size @size. Any waits for space
>> are
>> + * uninterruptible.
>>    *
>>    * Return: a &drm_suballoc, or an ERR_PTR.
>>    */
>> @@ -178,7 +179,7 @@ struct drm_suballoc *__xe_sa_bo_new(struct
>> xe_sa_manager *sa_manager, u32 size,
>>   	if (size > sa_manager->base.size)
>>   		return ERR_PTR(-ENOBUFS);
>>   
>> -	return drm_suballoc_new(&sa_manager->base, size, gfp, true,
>> 0);
>> +	return drm_suballoc_new(&sa_manager->base, size, gfp, false,
>> 0);
>>   }
>>   
>>   /**


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

* Re: [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible
  2026-10-23  9:32     ` Matthew Auld
@ 2026-10-27 12:42       ` Matthew Auld
  0 siblings, 0 replies; 9+ messages in thread
From: Matthew Auld @ 2026-10-27 12:42 UTC (permalink / raw)
  To: Thomas Hellström, intel-xe; +Cc: Matthew Brost, stable

On 23/10/2026 10:32, Matthew Auld wrote:
> Hi,
> 
> On 22/10/2026 19:29, Thomas Hellström wrote:
>> Hi, Matt
>>
>> On Thu, 2026-10-22 at 18:41 +0100, Matthew Auld wrote:
>>> Large BO clears and copies in xe_migrate_clear() and
>>> xe_migrate_copy()
>>> are split into multiple passes, each needing a batchbuffer from the
>>> fixed size kernel bb pool. Once the pool fills up, __xe_sa_bo_new()
>>> waits interruptibly for space, so a pending signal (e.g. Xorg's 5ms
>>> SIGALRM smart-scheduler timer) makes it fail mid-loop with -
>>> ERESTARTSYS.
>>> The partial progress is then thrown away and the restarted ioctl
>>> starts
>>> again from byte 0, including the memory allocation, which can
>>> livelock
>>> if the signal arrives faster than the whole operation completes. In
>>> the
>>> shrinker path the same error also aborts the shrinker walk, even
>>> though
>>> ctx->interruptible is false.
>>>
>>> Being interruptible here doesn't seem to buy much anyway: on error
>>> the loop already waits uninterruptibly for all submitted passes
>>> before
>>> returning. So just make the suballocator waits uninterruptible,
>>> matching
>>> amdgpu and radeon. The other users (page reclaim from a kworker, and
>>> the
>>> GuC buffer cache) shouldn't really see any meaningful change.
>>
>> This is a deviation from the "make all waits possible interruptible".
>> One might argue that user-space that interrupts kernel work with a 5ms
>> time only to restart it again and again is not well-behaving and
>> continously shoots itself in the foot.
> 
> Maybe. This is the xserver, so I assume this is very old and not some 
> new thing. I feel like even in this situation the kernel should be able 
> to make some forward progress in the ioctl.
> 
>>
>> Given our pipelining abilities, isn't there a risk that we delay signal
>> delivery with up to 10s?
> 
> At least for the copy/clear, it looks like there is already an 
> uninterruptible wait on the err path if fence != NULL, which we trigger 
> on a signal.
> 
>>
>> In the worst case, is there a way we can periodically at least check
>> for pending signals or perhaps increase the sa bo size so that it
>> doesn't block on a single large buffer?
> 
> Other idea is to expose the intr, and then maybe plumb down the ctx- 
>  >interruptible somehow, which would then cover the shrinker case and 
> maybe other places like that which explicitly asked for that? For the 
> clear case (gem_create) maybe we check if the fence != NULL first and 
> then set intr accordingly? If we have a pending signal it would bail if 
> we have not started GPU clearing yet, but if we have started then we try 
> to finish? The error path will currently do an uninterruptible wait 
> anyway, and that one could be a lot worse for a big buffer, since it 
> drains ALL prior jobs, instead of just waiting for the oldest bb. And 
> here it might be that we got right to the tail end of the clears but we 
> got a signal, so we throw away all of that work.
> 
> Increasing the sa bo is also an option (maybe both). Although I guess 
> there will likely still be something too big, and I guess we might still 
> see issues if the pool is still busy with other pending work?

Some more thoughts. Since Matt nuked the vm_bind GPU path, I don't think 
there is much contention on the reserved bcs any more since there is 
just one migrate queue (?), so maybe we can also:

1. Bump the VRAM clear + identity path. 8M is maybe very pessimistic 
now? Maybe we could push a lot more work per MEM_SET + page mode here? 
This could also give more perf, with a lot fewer jobs for 1G+ buffers. I 
have seen llama.py with 5G+ gemma model use 1G+ buffer on my BMG, for 
example.

2. Maybe also pack more work per-bb, at least for identity? Each new bb 
eats up a bunch of padding for pre-fetch etc.

> 
>>
>> /Thomas
>>
>>>
>>> Assisted-by: LLM
>>> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/9644
>>> Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel
>>> GPUs")
>>> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>> Cc: Matthew Brost <matthew.brost@intel.com>
>>> Cc: <stable@vger.kernel.org> # v6.12+
>>> ---
>>>   drivers/gpu/drm/xe/xe_sa.c | 5 +++--
>>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_sa.c b/drivers/gpu/drm/xe/xe_sa.c
>>> index f32045f40b7a..d9c2b28b08c2 100644
>>> --- a/drivers/gpu/drm/xe/xe_sa.c
>>> +++ b/drivers/gpu/drm/xe/xe_sa.c
>>> @@ -165,7 +165,8 @@ void xe_sa_bo_sync_shadow(struct drm_suballoc
>>> *sa_bo)
>>>    * @size: number of bytes we want to suballocate
>>>    * @gfp: gfp flags used for memory allocation. Typically GFP_KERNEL.
>>>    *
>>> - * Try to make a suballocation of size @size.
>>> + * Try to make a suballocation of size @size. Any waits for space
>>> are
>>> + * uninterruptible.
>>>    *
>>>    * Return: a &drm_suballoc, or an ERR_PTR.
>>>    */
>>> @@ -178,7 +179,7 @@ struct drm_suballoc *__xe_sa_bo_new(struct
>>> xe_sa_manager *sa_manager, u32 size,
>>>       if (size > sa_manager->base.size)
>>>           return ERR_PTR(-ENOBUFS);
>>> -    return drm_suballoc_new(&sa_manager->base, size, gfp, true,
>>> 0);
>>> +    return drm_suballoc_new(&sa_manager->base, size, gfp, false,
>>> 0);
>>>   }
>>>   /**
> 


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

end of thread, other threads:[~2026-10-27 12:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-22 17:40 [PATCH 0/2] Uninterruptible bb wait + cleanup Matthew Auld
2026-10-22 17:41 ` [PATCH 1/2] drm/xe/sa: make suballocator waits uninterruptible Matthew Auld
2026-10-22 18:29   ` Thomas Hellström
2026-10-23  9:32     ` Matthew Auld
2026-10-27 12:42       ` Matthew Auld
2026-10-22 17:41 ` [PATCH 2/2] drm/xe/sa: remove unused shadow BO and two-step bb helpers Matthew Auld
2026-10-22 17:49 ` ✓ CI.KUnit: success for Uninterruptible bb wait + cleanup Patchwork
2026-10-22 18:27 ` ✓ Xe.CI.BAT: " Patchwork
2026-10-23  0:56 ` ✗ 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