* [PATCH v7 0/3] Fix kernel crash during driver teardown
@ 2026-10-13 15:24 Satyanarayana K V P
2026-10-13 15:24 ` [PATCH v7 1/3] drm/xe: Prevent VF memory IRQ from accessing a torn-down engine Satyanarayana K V P
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Satyanarayana K V P @ 2026-10-13 15:24 UTC (permalink / raw)
To: intel-xe; +Cc: Satyanarayana K V P, Matthew Brost, Piotr Piórkowski
During driver release, the hardware engine is only partially invalidated
during teardown. Its name remains set, so the memory IRQ handler can still
identify the engine and access its state after teardown. This can result
in a NULL pointer dereference.
Invalidate the hardware engine name during teardown so the IRQ handler no
longer treats the engine as available.
The crash log below shows an example of the failure.
BUG: kernel NULL pointer dereference, address: 0000000000000000
PF: supervisor read access in kernel mode
PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: Oops: 0000 [#1] SMP NOPTI
Tainted: [U]=USER
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS
2025.11-3ubuntu7 03/31/2026
RIP: 0010:xe_hw_engine_handle_irq+0x18/0x70 [xe]
Code: 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f
44 00 00 55 48 89 e5 41 54 41 89 f4 48 89 d6 53 48 8b 07 48 89 fb <48> 8b 00 48
8b 38 e8 5d 84 08 00 48 8b 83 b8 00 00 00 48 85 c0 74
RSP: 0018:ffffd07840003e80 EFLAGS: 00010046
RAX: 0000000000000000 RBX: ffff8904657fa740 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8904657fa740
RBP: ffffd07840003e90 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001
R13: ffff89046a490000 R14: ffff89046a491af8 R15: ffff8904657faf20
FS: 0000000000000000(0000) GS:ffff8905fd219000(0000)
knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 0000000103705005 CR4: 0000000000772ef0
PKRU: 55555554
Call Trace:
<IRQ>
xe_memirq_handler+0xc3/0x200 [xe]
vf_mem_irq_handler+0x46/0x90 [xe]
__handle_irq_event_percpu+0x59/0x200
handle_irq_event+0x36/0x90
handle_edge_irq+0xc5/0x190
__common_interrupt+0x50/0x160
? irq_enter_rcu+0x84/0xb0
common_interrupt+0xb0/0xe0
</IRQ>
---
V6 -> V7:
- Move the drm_dev_enter() after testing DMA_FENCE_FLAG_SIGNALED_BIT bit
(Matt B).
V5 -> V6:
- Return DRM_GPU_SCHED_STAT_NO_HANG instead of DRM_GPU_SCHED_STAT_ENODEV
(Piotr).
V4 -> V5:
- Return DRM_GPU_SCHED_STAT_ENODEV instead of DRM_GPU_SCHED_STAT_NO_HANG
(Sashiko).
V3 -> V4:
- Fix race condition reported by LLM (Sashiko).
V2 -> V3:
- Fixed race condition with guc_exec_queue_timedout_job(). (Sashiko).
- Disable GT reset worker before engine teardown (LLM).
V1 -> V2:
- Fix race with xe_memirq_handler() and hw_engine_fini() (Sashiko & Piotr).
Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
Assisted-by: LLM
Satyanarayana K V P (3):
drm/xe: Prevent VF memory IRQ from accessing a torn-down engine
drm/xe/guc: Protect timeout handling from device unplug
drm/xe/gt: Disable GT reset worker before engine teardown
drivers/gpu/drm/xe/xe_gt.c | 29 ++++++++++++++++++++++-------
drivers/gpu/drm/xe/xe_guc_submit.c | 8 ++++++++
drivers/gpu/drm/xe/xe_hw_engine.c | 17 ++++++++++++++---
drivers/gpu/drm/xe/xe_irq.c | 3 +++
drivers/gpu/drm/xe/xe_memirq.c | 3 +++
5 files changed, 50 insertions(+), 10 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v7 1/3] drm/xe: Prevent VF memory IRQ from accessing a torn-down engine
2026-10-13 15:24 [PATCH v7 0/3] Fix kernel crash during driver teardown Satyanarayana K V P
@ 2026-10-13 15:24 ` Satyanarayana K V P
2026-10-13 15:46 ` sashiko-bot
2026-10-13 15:24 ` [PATCH v7 2/3] drm/xe/guc: Protect timeout handling from device unplug Satyanarayana K V P
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Satyanarayana K V P @ 2026-10-13 15:24 UTC (permalink / raw)
To: intel-xe; +Cc: Satyanarayana K V P, Matthew Brost, Piotr Piórkowski
The VF memory IRQ handler iterates over HW engines whose names are set.
Engine teardown clears hwe->gt but leaves hwe->name set, so the handler
can select an engine whose GT has already been invalidated. This can
cause a NULL pointer dereference in xe_hw_engine_handle_irq().
Invalidate the engine name during teardown so subsequent engine scans
skip it.
Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
Fixes: 6eb2aad402cc ("drm/xe: Move hw_engine_fini to devm managed")
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
V3 -> V4:
- Fix issue with xe_execlist_port_destroy() with V3 version (Sashiko).
V2 -> V3:
- Updated spin_lock_irq() to spin_lock_irqsave().
V1 -> V2:
- Fix race with xe_memirq_handler() and hw_engine_fini() (Sashiko & Piotr).
---
drivers/gpu/drm/xe/xe_hw_engine.c | 17 ++++++++++++++---
drivers/gpu/drm/xe/xe_irq.c | 3 +++
drivers/gpu/drm/xe/xe_memirq.c | 3 +++
3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index 265f95c0c899..55ee0c892c1e 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -275,11 +275,22 @@ static const struct engine_info engine_infos[] = {
static void hw_engine_fini(void *arg)
{
struct xe_hw_engine *hwe = arg;
+ struct xe_gt *gt = hwe->gt;
+
+ if (gt) {
+ struct xe_device *xe = gt_to_xe(gt);
+ unsigned long flags;
- if (hwe->exl_port)
- xe_execlist_port_destroy(hwe->exl_port);
+ if (hwe->exl_port)
+ xe_execlist_port_destroy(hwe->exl_port);
- hwe->gt = NULL;
+ spin_lock_irqsave(&xe->irq.lock, flags);
+ hwe->name = NULL;
+ hwe->gt = NULL;
+ spin_unlock_irqrestore(&xe->irq.lock, flags);
+ } else {
+ hwe->name = NULL;
+ }
}
/**
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index 9e49e2241da4..b394c8edf89c 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -908,6 +908,7 @@ static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
struct xe_hw_engine *hwe;
enum xe_hw_engine_id id;
struct xe_tile *tile;
+ unsigned long flags;
struct xe_gt *gt;
if (!atomic_read(&xe->irq.enabled))
@@ -922,8 +923,10 @@ static irqreturn_t xe_irq_msix_default_hwe_handler(int irq, void *arg)
if (gt->tile != tile)
continue;
+ spin_lock_irqsave(&xe->irq.lock, flags);
for_each_hw_engine(hwe, gt, id)
xe_memirq_hwe_handler(memirq, hwe);
+ spin_unlock_irqrestore(&xe->irq.lock, flags);
}
}
diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
index 9dfe965cb46e..1073132f2ded 100644
--- a/drivers/gpu/drm/xe/xe_memirq.c
+++ b/drivers/gpu/drm/xe/xe_memirq.c
@@ -555,6 +555,7 @@ void xe_memirq_handler(struct xe_memirq *memirq)
struct xe_hw_engine *hwe;
enum xe_hw_engine_id id;
struct iosys_map map;
+ unsigned long flags;
unsigned int gtid;
struct xe_gt *gt;
@@ -568,8 +569,10 @@ void xe_memirq_handler(struct xe_memirq *memirq)
if (gt->tile != tile)
continue;
+ spin_lock_irqsave(&xe->irq.lock, flags);
for_each_hw_engine(hwe, gt, id)
xe_memirq_hwe_handler(memirq, hwe);
+ spin_unlock_irqrestore(&xe->irq.lock, flags);
}
/* GuC and media GuC (if present) must be checked separately */
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v7 2/3] drm/xe/guc: Protect timeout handling from device unplug
2026-10-13 15:24 [PATCH v7 0/3] Fix kernel crash during driver teardown Satyanarayana K V P
2026-10-13 15:24 ` [PATCH v7 1/3] drm/xe: Prevent VF memory IRQ from accessing a torn-down engine Satyanarayana K V P
@ 2026-10-13 15:24 ` Satyanarayana K V P
2026-10-13 15:40 ` sashiko-bot
2026-10-13 15:24 ` [PATCH v7 3/3] drm/xe/gt: Disable GT reset worker before engine teardown Satyanarayana K V P
` (2 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Satyanarayana K V P @ 2026-10-13 15:24 UTC (permalink / raw)
To: intel-xe; +Cc: Satyanarayana K V P, Matthew Brost, Piotr Piórkowski
The GuC scheduler timeout callback accesses device and GT state while
handling a timed-out job. Guard the callback with drm_dev_enter() and
drm_dev_exit() so device unplug waits for in-flight timeout handling.
If unplug has already started, mark the job with -ENODEV and return it
to the scheduler for cleanup.
Fixes: 6eb2aad402cc ("drm/xe: Move hw_engine_fini to devm managed")
Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
Assisted-by: LLM
---
V6 -> V7:
- Move the drm_dev_enter() after testing DMA_FENCE_FLAG_SIGNALED_BIT bit
(Matt B).
V5 -> V6:
- Return DRM_GPU_SCHED_STAT_NO_HANG instead of DRM_GPU_SCHED_STAT_ENODEV
(Piotr).
V4 -> V5:
- Return DRM_GPU_SCHED_STAT_ENODEV instead of DRM_GPU_SCHED_STAT_NO_HANG
(Sashiko).
V3 -> V4:
- None.
V2 -> V3:
- Fixed race condition with guc_exec_queue_timedout_job(). (Sashiko).
---
drivers/gpu/drm/xe/xe_guc_submit.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
index 7ce73489c35f..e0a3ce6015e0 100644
--- a/drivers/gpu/drm/xe/xe_guc_submit.c
+++ b/drivers/gpu/drm/xe/xe_guc_submit.c
@@ -1599,6 +1599,7 @@ guc_exec_queue_timedout_job(struct drm_sched_job *drm_job)
int err = -ETIME;
pid_t pid = -1;
bool wedged = false, wedge_device = false, skip_timeout_check;
+ int idx;
xe_gt_assert(guc_to_gt(guc), !exec_queue_destroyed(q));
@@ -1614,6 +1615,11 @@ guc_exec_queue_timedout_job(struct drm_sched_job *drm_job)
vf_recovery(guc))
return DRM_GPU_SCHED_STAT_NO_HANG;
+ if (!drm_dev_enter(&xe->drm, &idx)) {
+ xe_sched_job_set_error(job, -ENODEV);
+ return DRM_GPU_SCHED_STAT_NO_HANG;
+ }
+
/* Kill the run_job entry point */
if (xe_exec_queue_is_multi_queue(q))
xe_guc_exec_queue_group_stop(q);
@@ -1786,6 +1792,7 @@ guc_exec_queue_timedout_job(struct drm_sched_job *drm_job)
* We want the job added back to the pending list so it gets freed; this
* is what DRM_GPU_SCHED_STAT_NO_HANG does.
*/
+ drm_dev_exit(idx);
return DRM_GPU_SCHED_STAT_NO_HANG;
rearm:
@@ -1799,6 +1806,7 @@ guc_exec_queue_timedout_job(struct drm_sched_job *drm_job)
else
xe_sched_submission_start(sched);
handle_vf_resume:
+ drm_dev_exit(idx);
return DRM_GPU_SCHED_STAT_NO_HANG;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v7 3/3] drm/xe/gt: Disable GT reset worker before engine teardown
2026-10-13 15:24 [PATCH v7 0/3] Fix kernel crash during driver teardown Satyanarayana K V P
2026-10-13 15:24 ` [PATCH v7 1/3] drm/xe: Prevent VF memory IRQ from accessing a torn-down engine Satyanarayana K V P
2026-10-13 15:24 ` [PATCH v7 2/3] drm/xe/guc: Protect timeout handling from device unplug Satyanarayana K V P
@ 2026-10-13 15:24 ` Satyanarayana K V P
2026-10-13 15:34 ` ✓ CI.KUnit: success for Fix kernel crash during driver teardown (rev8) Patchwork
2026-10-13 20:40 ` ✓ Xe.CI.BAT: " Patchwork
4 siblings, 0 replies; 8+ messages in thread
From: Satyanarayana K V P @ 2026-10-13 15:24 UTC (permalink / raw)
To: intel-xe
Cc: Satyanarayana K V P, Matthew Brost, Piotr Piórkowski,
Balasubramani Vivekanandan
During tear-down process, a reset queued from Guc timeout handler can
still access hwe after hwe is freed. Register a separate devm
action that disables and drains the reset worker, so it runs before
any engine is torn down.
Fixes: 09c452d1171f ("drm/xe/gt: Synchronize GT reset with device unbind")
Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
Cc: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Assisted-by: LLM
Reviewed-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
---
V3 -> V4:
- Fix race condition reported by LLM (Sashiko).
---
drivers/gpu/drm/xe/xe_gt.c | 29 ++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
index 775c826b68b4..bc9bf6f0b5a7 100644
--- a/drivers/gpu/drm/xe/xe_gt.c
+++ b/drivers/gpu/drm/xe/xe_gt.c
@@ -630,8 +630,21 @@ static int gt_init_with_gt_forcewake(struct xe_gt *gt)
return 0;
}
+static void gt_reset_worker_disable(void *arg)
+{
+ struct xe_gt *gt = arg;
+
+ if (disable_work_sync(>->reset.worker))
+ /*
+ * If gt_reset_worker was halted from executing, take care of
+ * releasing the rpm reference here.
+ */
+ xe_pm_runtime_put(gt_to_xe(gt));
+}
+
static int gt_init_with_all_forcewake(struct xe_gt *gt)
{
+ struct xe_device *xe = gt_to_xe(gt);
int err;
CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
@@ -698,6 +711,11 @@ static int gt_init_with_all_forcewake(struct xe_gt *gt)
if (IS_SRIOV_PF(gt_to_xe(gt)))
xe_gt_sriov_pf_init_hw(gt);
+ /* Last action registered here so devres drains resets before teardown */
+ err = devm_add_action_or_reset(xe->drm.dev, gt_reset_worker_disable, gt);
+ if (err)
+ return err;
+
return 0;
}
@@ -706,12 +724,7 @@ static void xe_gt_fini(void *arg)
struct xe_gt *gt = arg;
int i;
- if (disable_work_sync(>->reset.worker))
- /*
- * If gt_reset_worker was halted from executing, take care of
- * releasing the rpm reference here.
- */
- xe_pm_runtime_put(gt_to_xe(gt));
+ gt_reset_worker_disable(gt);
for (i = 0; i < XE_ENGINE_CLASS_MAX; ++i)
xe_hw_fence_irq_finish(>->fence_irq[i]);
@@ -754,8 +767,10 @@ int xe_gt_init(struct xe_gt *gt)
xe_force_wake_init_engines(gt, gt_to_fw(gt));
err = gt_init_with_all_forcewake(gt);
- if (err)
+ if (err) {
+ gt_reset_worker_disable(gt);
return err;
+ }
xe_gt_record_user_engines(gt);
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* ✓ CI.KUnit: success for Fix kernel crash during driver teardown (rev8)
2026-10-13 15:24 [PATCH v7 0/3] Fix kernel crash during driver teardown Satyanarayana K V P
` (2 preceding siblings ...)
2026-10-13 15:24 ` [PATCH v7 3/3] drm/xe/gt: Disable GT reset worker before engine teardown Satyanarayana K V P
@ 2026-10-13 15:34 ` Patchwork
2026-10-13 20:40 ` ✓ Xe.CI.BAT: " Patchwork
4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2026-10-13 15:34 UTC (permalink / raw)
To: Satyanarayana K V P; +Cc: intel-xe
== Series Details ==
Series: Fix kernel crash during driver teardown (rev8)
URL : https://patchwork.freedesktop.org/series/175766/
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
[15:32:02] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:32:07] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[15:32:27] Starting KUnit Kernel (1/1)...
[15:32:27] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:32:27] ================= gpu_buddy (14 subtests) ==================
[15:32:27] [PASSED] gpu_test_buddy_alloc_limit
[15:32:27] [PASSED] gpu_test_buddy_alloc_optimistic
[15:32:27] [PASSED] gpu_test_buddy_alloc_pessimistic
[15:32:27] [PASSED] gpu_test_buddy_alloc_pathological
[15:32:27] [PASSED] gpu_test_buddy_alloc_contiguous
[15:32:27] [PASSED] gpu_test_buddy_alloc_clear
[15:32:27] [PASSED] gpu_test_buddy_alloc_range
[15:32:27] [PASSED] gpu_test_buddy_alloc_range_bias
[15:32:28] [PASSED] gpu_test_buddy_fragmentation_performance
[15:32:29] [PASSED] gpu_test_buddy_dirty_tracker_performance
[15:32:29] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[15:32:29] [PASSED] gpu_test_buddy_offset_aligned_allocation
[15:32:29] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[15:32:29] [PASSED] gpu_test_buddy_addr_to_block
[15:32:29] ==================== [PASSED] gpu_buddy ====================
[15:32:29] ============================================================
[15:32:29] Testing complete. Ran 14 tests: passed: 14
[15:32:29] Elapsed time: 26.626s total, 4.473s configuring, 20.185s building, 1.888s 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
[15:32:29] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:32:31] 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
[15:33:05] Starting KUnit Kernel (1/1)...
[15:33:05] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:33:05] ================== guc_buf (11 subtests) ===================
[15:33:05] [PASSED] test_smallest
[15:33:05] [PASSED] test_largest
[15:33:05] [PASSED] test_granular
[15:33:05] [PASSED] test_unique
[15:33:05] [PASSED] test_overlap
[15:33:05] [PASSED] test_reusable
[15:33:05] [PASSED] test_too_big
[15:33:05] [PASSED] test_flush
[15:33:05] [PASSED] test_lookup
[15:33:05] [PASSED] test_data
[15:33:05] [PASSED] test_class
[15:33:05] ===================== [PASSED] guc_buf =====================
[15:33:05] =================== guc_dbm (7 subtests) ===================
[15:33:05] [PASSED] test_empty
[15:33:05] [PASSED] test_default
[15:33:05] ======================== test_size ========================
[15:33:05] [PASSED] 4
[15:33:05] [PASSED] 8
[15:33:05] [PASSED] 32
[15:33:05] [PASSED] 256
[15:33:05] ==================== [PASSED] test_size ====================
[15:33:05] ======================= test_reuse ========================
[15:33:05] [PASSED] 4
[15:33:05] [PASSED] 8
[15:33:05] [PASSED] 32
[15:33:05] [PASSED] 256
[15:33:05] =================== [PASSED] test_reuse ====================
[15:33:05] =================== test_range_overlap ====================
[15:33:05] [PASSED] 4
[15:33:05] [PASSED] 8
[15:33:05] [PASSED] 32
[15:33:05] [PASSED] 256
[15:33:05] =============== [PASSED] test_range_overlap ================
[15:33:05] =================== test_range_compact ====================
[15:33:05] [PASSED] 4
[15:33:05] [PASSED] 8
[15:33:05] [PASSED] 32
[15:33:05] [PASSED] 256
[15:33:05] =============== [PASSED] test_range_compact ================
[15:33:05] ==================== test_range_spare =====================
[15:33:05] [PASSED] 4
[15:33:05] [PASSED] 8
[15:33:05] [PASSED] 32
[15:33:05] [PASSED] 256
[15:33:05] ================ [PASSED] test_range_spare =================
[15:33:05] ===================== [PASSED] guc_dbm =====================
[15:33:05] =================== guc_idm (6 subtests) ===================
[15:33:05] [PASSED] bad_init
[15:33:05] [PASSED] no_init
[15:33:05] [PASSED] init_fini
[15:33:05] [PASSED] check_used
[15:33:05] [PASSED] check_quota
[15:33:05] [PASSED] check_all
[15:33:05] ===================== [PASSED] guc_idm =====================
[15:33:05] ============== guc_klv_helpers (13 subtests) ===============
[15:33:05] [PASSED] test_count
[15:33:05] [PASSED] test_encode_u32
[15:33:05] [PASSED] test_encode_u64
[15:33:05] [PASSED] test_encode_string
[15:33:05] [PASSED] test_encode_object_raw
[15:33:05] [PASSED] test_encode_object_klv
[15:33:05] [PASSED] test_encode_object_nested
[15:33:05] [PASSED] test_encode_object_basic
[15:33:05] ===================== test_decode_u16 =====================
[15:33:05] [PASSED] empty
[15:33:05] [PASSED] valid
[15:33:05] [PASSED] max
[15:33:05] [PASSED] big
[15:33:05] [PASSED] long
[15:33:05] ================= [PASSED] test_decode_u16 =================
[15:33:05] ===================== test_decode_u32 =====================
[15:33:05] [PASSED] empty
[15:33:05] [PASSED] valid
[15:33:05] [PASSED] max
[15:33:05] [PASSED] long
[15:33:05] ================= [PASSED] test_decode_u32 =================
[15:33:05] ===================== test_decode_u64 =====================
[15:33:05] [PASSED] empty
[15:33:05] [PASSED] short
[15:33:05] [PASSED] valid
[15:33:05] [PASSED] max
[15:33:05] [PASSED] long
[15:33:05] ================= [PASSED] test_decode_u64 =================
[15:33:05] ===================== test_decode_str =====================
[15:33:05] [PASSED] empty
[15:33:05] [PASSED] one
[15:33:05] [PASSED] one_trash
[15:33:05] [PASSED] two
[15:33:05] [PASSED] two_trash
[15:33:05] [PASSED] three
[15:33:05] [PASSED] dword
[15:33:05] [PASSED] four
[15:33:05] [PASSED] five
[15:33:05] [PASSED] six
[15:33:05] [PASSED] seven
[15:33:05] [PASSED] qword
[15:33:05] ================= [PASSED] test_decode_str =================
[15:33:05] [PASSED] test_print
[15:33:05] ================= [PASSED] guc_klv_helpers =================
[15:33:05] =================== xe_log (4 subtests) ====================
[15:33:05] [PASSED] demo_cper
[15:33:05] [PASSED] demo_dmesg
[15:33:05] ======================= test_dmesg ========================
[15:33:05] [PASSED] test_fatal
[15:33:05] [PASSED] test_fatal_tile
[15:33:05] [PASSED] test_fatal_gt
[15:33:05] [PASSED] test_fatal_comp
[15:33:05] [PASSED] test_fatal_comp_tile
[15:33:05] [PASSED] test_fatal_comp_gt
[15:33:05] [PASSED] test_fatal_all
[15:33:05] [PASSED] test_recoverable
[15:33:05] [PASSED] test_recoverable_tile
[15:33:05] [PASSED] test_recoverable_gt
[15:33:05] [PASSED] test_recoverable_comp
[15:33:05] [PASSED] test_recoverable_comp_tile
[15:33:05] [PASSED] test_recoverable_comp_gt
[15:33:05] [PASSED] test_recoverable_all
[15:33:05] [PASSED] test_info
[15:33:05] [PASSED] test_info_tile
[15:33:05] [PASSED] test_info_gt
[15:33:05] [PASSED] test_info_err
[15:33:05] [PASSED] test_info_comp
[15:33:05] [PASSED] test_info_comp_tile
[15:33:05] [PASSED] test_info_comp_gt
[15:33:05] [PASSED] test_info_all
[15:33:05] [PASSED] test_hw_fatal
[15:33:05] [PASSED] test_hw_recoverable
[15:33:05] [PASSED] test_hw_corrected
[15:33:05] [PASSED] test_hw_informational
[15:33:05] =================== [PASSED] test_dmesg ====================
[15:33:05] ====================== test_invalid =======================
[15:33:05] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[15:33:05] ================== [SKIPPED] test_invalid ==================
[15:33:05] ===================== [PASSED] xe_log ======================
[15:33:05] ================== no_relay (3 subtests) ===================
[15:33:05] [PASSED] xe_drops_guc2pf_if_not_ready
[15:33:05] [PASSED] xe_drops_guc2vf_if_not_ready
[15:33:05] [PASSED] xe_rejects_send_if_not_ready
[15:33:05] ==================== [PASSED] no_relay =====================
[15:33:05] ================== pf_relay (14 subtests) ==================
[15:33:05] [PASSED] pf_rejects_guc2pf_too_short
[15:33:05] [PASSED] pf_rejects_guc2pf_too_long
[15:33:05] [PASSED] pf_rejects_guc2pf_no_payload
[15:33:05] [PASSED] pf_fails_no_payload
[15:33:05] [PASSED] pf_fails_bad_origin
[15:33:05] [PASSED] pf_fails_bad_type
[15:33:05] [PASSED] pf_txn_reports_error
[15:33:05] [PASSED] pf_txn_sends_pf2guc
[15:33:05] [PASSED] pf_sends_pf2guc
[15:33:05] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:33:05] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:33:05] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:33:05] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:33:05] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:33:05] ==================== [PASSED] pf_relay =====================
[15:33:05] ================== vf_relay (3 subtests) ===================
[15:33:05] [PASSED] vf_rejects_guc2vf_too_short
[15:33:05] [PASSED] vf_rejects_guc2vf_too_long
[15:33:05] [PASSED] vf_rejects_guc2vf_no_payload
[15:33:05] ==================== [PASSED] vf_relay =====================
[15:33:05] ================ pf_gt_config (9 subtests) =================
[15:33:05] [PASSED] fair_contexts_1vf
[15:33:05] [PASSED] fair_doorbells_1vf
[15:33:05] [PASSED] fair_ggtt_1vf
[15:33:05] ====================== fair_vram_1vf ======================
[15:33:05] [PASSED] 3.50 GiB
[15:33:05] [PASSED] 11.5 GiB
[15:33:05] [PASSED] 15.5 GiB
[15:33:05] [PASSED] 31.5 GiB
[15:33:05] [PASSED] 63.5 GiB
[15:33:05] [PASSED] 1.91 GiB
[15:33:05] ================== [PASSED] fair_vram_1vf ==================
[15:33:05] ================ fair_vram_1vf_admin_only =================
[15:33:05] [PASSED] 3.50 GiB
[15:33:05] [PASSED] 11.5 GiB
[15:33:05] [PASSED] 15.5 GiB
[15:33:05] [PASSED] 31.5 GiB
[15:33:05] [PASSED] 63.5 GiB
[15:33:05] [PASSED] 1.91 GiB
[15:33:05] ============ [PASSED] fair_vram_1vf_admin_only =============
[15:33:05] ====================== fair_contexts ======================
[15:33:05] [PASSED] 1 VF
[15:33:05] [PASSED] 2 VFs
[15:33:05] [PASSED] 3 VFs
[15:33:05] [PASSED] 4 VFs
[15:33:05] [PASSED] 5 VFs
[15:33:05] [PASSED] 6 VFs
[15:33:05] [PASSED] 7 VFs
[15:33:05] [PASSED] 8 VFs
[15:33:05] [PASSED] 9 VFs
[15:33:05] [PASSED] 10 VFs
[15:33:05] [PASSED] 11 VFs
[15:33:05] [PASSED] 12 VFs
[15:33:05] [PASSED] 13 VFs
[15:33:05] [PASSED] 14 VFs
[15:33:05] [PASSED] 15 VFs
[15:33:05] [PASSED] 16 VFs
[15:33:05] [PASSED] 17 VFs
[15:33:05] [PASSED] 18 VFs
[15:33:05] [PASSED] 19 VFs
[15:33:05] [PASSED] 20 VFs
[15:33:05] [PASSED] 21 VFs
[15:33:05] [PASSED] 22 VFs
[15:33:05] [PASSED] 23 VFs
[15:33:05] [PASSED] 24 VFs
[15:33:05] [PASSED] 25 VFs
[15:33:05] [PASSED] 26 VFs
[15:33:05] [PASSED] 27 VFs
[15:33:05] [PASSED] 28 VFs
[15:33:05] [PASSED] 29 VFs
[15:33:05] [PASSED] 30 VFs
[15:33:05] [PASSED] 31 VFs
[15:33:05] [PASSED] 32 VFs
[15:33:05] [PASSED] 33 VFs
[15:33:05] [PASSED] 34 VFs
[15:33:05] [PASSED] 35 VFs
[15:33:05] [PASSED] 36 VFs
[15:33:05] [PASSED] 37 VFs
[15:33:05] [PASSED] 38 VFs
[15:33:05] [PASSED] 39 VFs
[15:33:05] [PASSED] 40 VFs
[15:33:05] [PASSED] 41 VFs
[15:33:05] [PASSED] 42 VFs
[15:33:05] [PASSED] 43 VFs
[15:33:05] [PASSED] 44 VFs
[15:33:05] [PASSED] 45 VFs
[15:33:05] [PASSED] 46 VFs
[15:33:05] [PASSED] 47 VFs
[15:33:05] [PASSED] 48 VFs
[15:33:05] [PASSED] 49 VFs
[15:33:05] [PASSED] 50 VFs
[15:33:05] [PASSED] 51 VFs
[15:33:05] [PASSED] 52 VFs
[15:33:05] [PASSED] 53 VFs
[15:33:05] [PASSED] 54 VFs
[15:33:05] [PASSED] 55 VFs
[15:33:05] [PASSED] 56 VFs
[15:33:05] [PASSED] 57 VFs
[15:33:05] [PASSED] 58 VFs
[15:33:05] [PASSED] 59 VFs
[15:33:05] [PASSED] 60 VFs
[15:33:05] [PASSED] 61 VFs
[15:33:05] [PASSED] 62 VFs
[15:33:05] [PASSED] 63 VFs
[15:33:05] ================== [PASSED] fair_contexts ==================
[15:33:05] ===================== fair_doorbells ======================
[15:33:05] [PASSED] 1 VF
[15:33:05] [PASSED] 2 VFs
[15:33:05] [PASSED] 3 VFs
[15:33:05] [PASSED] 4 VFs
[15:33:05] [PASSED] 5 VFs
[15:33:05] [PASSED] 6 VFs
[15:33:05] [PASSED] 7 VFs
[15:33:05] [PASSED] 8 VFs
[15:33:05] [PASSED] 9 VFs
[15:33:05] [PASSED] 10 VFs
[15:33:05] [PASSED] 11 VFs
[15:33:05] [PASSED] 12 VFs
[15:33:05] [PASSED] 13 VFs
[15:33:05] [PASSED] 14 VFs
[15:33:05] [PASSED] 15 VFs
[15:33:05] [PASSED] 16 VFs
[15:33:05] [PASSED] 17 VFs
[15:33:05] [PASSED] 18 VFs
[15:33:05] [PASSED] 19 VFs
[15:33:05] [PASSED] 20 VFs
[15:33:05] [PASSED] 21 VFs
[15:33:05] [PASSED] 22 VFs
[15:33:05] [PASSED] 23 VFs
[15:33:05] [PASSED] 24 VFs
[15:33:05] [PASSED] 25 VFs
[15:33:05] [PASSED] 26 VFs
[15:33:05] [PASSED] 27 VFs
[15:33:05] [PASSED] 28 VFs
[15:33:05] [PASSED] 29 VFs
[15:33:05] [PASSED] 30 VFs
[15:33:05] [PASSED] 31 VFs
[15:33:05] [PASSED] 32 VFs
[15:33:05] [PASSED] 33 VFs
[15:33:05] [PASSED] 34 VFs
[15:33:05] [PASSED] 35 VFs
[15:33:05] [PASSED] 36 VFs
[15:33:05] [PASSED] 37 VFs
[15:33:05] [PASSED] 38 VFs
[15:33:05] [PASSED] 39 VFs
[15:33:05] [PASSED] 40 VFs
[15:33:05] [PASSED] 41 VFs
[15:33:05] [PASSED] 42 VFs
[15:33:05] [PASSED] 43 VFs
[15:33:05] [PASSED] 44 VFs
[15:33:05] [PASSED] 45 VFs
[15:33:05] [PASSED] 46 VFs
[15:33:05] [PASSED] 47 VFs
[15:33:05] [PASSED] 48 VFs
[15:33:05] [PASSED] 49 VFs
[15:33:05] [PASSED] 50 VFs
[15:33:05] [PASSED] 51 VFs
[15:33:05] [PASSED] 52 VFs
[15:33:05] [PASSED] 53 VFs
[15:33:05] [PASSED] 54 VFs
[15:33:05] [PASSED] 55 VFs
[15:33:05] [PASSED] 56 VFs
[15:33:05] [PASSED] 57 VFs
[15:33:05] [PASSED] 58 VFs
[15:33:05] [PASSED] 59 VFs
[15:33:05] [PASSED] 60 VFs
[15:33:05] [PASSED] 61 VFs
[15:33:05] [PASSED] 62 VFs
[15:33:05] [PASSED] 63 VFs
[15:33:05] ================= [PASSED] fair_doorbells ==================
[15:33:05] ======================== fair_ggtt ========================
[15:33:05] [PASSED] 1 VF
[15:33:05] [PASSED] 2 VFs
[15:33:05] [PASSED] 3 VFs
[15:33:05] [PASSED] 4 VFs
[15:33:05] [PASSED] 5 VFs
[15:33:05] [PASSED] 6 VFs
[15:33:05] [PASSED] 7 VFs
[15:33:05] [PASSED] 8 VFs
[15:33:05] [PASSED] 9 VFs
[15:33:05] [PASSED] 10 VFs
[15:33:05] [PASSED] 11 VFs
[15:33:05] [PASSED] 12 VFs
[15:33:05] [PASSED] 13 VFs
[15:33:05] [PASSED] 14 VFs
[15:33:05] [PASSED] 15 VFs
[15:33:05] [PASSED] 16 VFs
[15:33:05] [PASSED] 17 VFs
[15:33:05] [PASSED] 18 VFs
[15:33:05] [PASSED] 19 VFs
[15:33:05] [PASSED] 20 VFs
[15:33:05] [PASSED] 21 VFs
[15:33:05] [PASSED] 22 VFs
[15:33:05] [PASSED] 23 VFs
[15:33:05] [PASSED] 24 VFs
[15:33:05] [PASSED] 25 VFs
[15:33:05] [PASSED] 26 VFs
[15:33:05] [PASSED] 27 VFs
[15:33:05] [PASSED] 28 VFs
[15:33:05] [PASSED] 29 VFs
[15:33:05] [PASSED] 30 VFs
[15:33:05] [PASSED] 31 VFs
[15:33:05] [PASSED] 32 VFs
[15:33:05] [PASSED] 33 VFs
[15:33:05] [PASSED] 34 VFs
[15:33:05] [PASSED] 35 VFs
[15:33:05] [PASSED] 36 VFs
[15:33:05] [PASSED] 37 VFs
[15:33:05] [PASSED] 38 VFs
[15:33:05] [PASSED] 39 VFs
[15:33:05] [PASSED] 40 VFs
[15:33:05] [PASSED] 41 VFs
[15:33:05] [PASSED] 42 VFs
[15:33:05] [PASSED] 43 VFs
[15:33:05] [PASSED] 44 VFs
[15:33:05] [PASSED] 45 VFs
[15:33:05] [PASSED] 46 VFs
[15:33:05] [PASSED] 47 VFs
[15:33:05] [PASSED] 48 VFs
[15:33:05] [PASSED] 49 VFs
[15:33:05] [PASSED] 50 VFs
[15:33:05] [PASSED] 51 VFs
[15:33:05] [PASSED] 52 VFs
[15:33:05] [PASSED] 53 VFs
[15:33:05] [PASSED] 54 VFs
[15:33:05] [PASSED] 55 VFs
[15:33:05] [PASSED] 56 VFs
[15:33:05] [PASSED] 57 VFs
[15:33:05] [PASSED] 58 VFs
[15:33:05] [PASSED] 59 VFs
[15:33:05] [PASSED] 60 VFs
[15:33:05] [PASSED] 61 VFs
[15:33:05] [PASSED] 62 VFs
[15:33:05] [PASSED] 63 VFs
[15:33:05] ==================== [PASSED] fair_ggtt ====================
[15:33:05] ======================== fair_vram ========================
[15:33:05] [PASSED] 1 VF
[15:33:05] [PASSED] 2 VFs
[15:33:05] [PASSED] 3 VFs
[15:33:05] [PASSED] 4 VFs
[15:33:05] [PASSED] 5 VFs
[15:33:05] [PASSED] 6 VFs
[15:33:05] [PASSED] 7 VFs
[15:33:05] [PASSED] 8 VFs
[15:33:05] [PASSED] 9 VFs
[15:33:05] [PASSED] 10 VFs
[15:33:05] [PASSED] 11 VFs
[15:33:05] [PASSED] 12 VFs
[15:33:05] [PASSED] 13 VFs
[15:33:05] [PASSED] 14 VFs
[15:33:05] [PASSED] 15 VFs
[15:33:05] [PASSED] 16 VFs
[15:33:05] [PASSED] 17 VFs
[15:33:05] [PASSED] 18 VFs
[15:33:05] [PASSED] 19 VFs
[15:33:05] [PASSED] 20 VFs
[15:33:05] [PASSED] 21 VFs
[15:33:05] [PASSED] 22 VFs
[15:33:05] [PASSED] 23 VFs
[15:33:05] [PASSED] 24 VFs
[15:33:05] [PASSED] 25 VFs
[15:33:05] [PASSED] 26 VFs
[15:33:05] [PASSED] 27 VFs
[15:33:05] [PASSED] 28 VFs
[15:33:05] [PASSED] 29 VFs
[15:33:05] [PASSED] 30 VFs
[15:33:05] [PASSED] 31 VFs
[15:33:05] [PASSED] 32 VFs
[15:33:05] [PASSED] 33 VFs
[15:33:05] [PASSED] 34 VFs
[15:33:05] [PASSED] 35 VFs
[15:33:05] [PASSED] 36 VFs
[15:33:05] [PASSED] 37 VFs
[15:33:05] [PASSED] 38 VFs
[15:33:05] [PASSED] 39 VFs
[15:33:05] [PASSED] 40 VFs
[15:33:05] [PASSED] 41 VFs
[15:33:05] [PASSED] 42 VFs
[15:33:05] [PASSED] 43 VFs
[15:33:05] [PASSED] 44 VFs
[15:33:05] [PASSED] 45 VFs
[15:33:05] [PASSED] 46 VFs
[15:33:05] [PASSED] 47 VFs
[15:33:05] [PASSED] 48 VFs
[15:33:05] [PASSED] 49 VFs
[15:33:05] [PASSED] 50 VFs
[15:33:05] [PASSED] 51 VFs
[15:33:05] [PASSED] 52 VFs
[15:33:05] [PASSED] 53 VFs
[15:33:05] [PASSED] 54 VFs
[15:33:05] [PASSED] 55 VFs
[15:33:05] [PASSED] 56 VFs
[15:33:05] [PASSED] 57 VFs
[15:33:05] [PASSED] 58 VFs
[15:33:05] [PASSED] 59 VFs
[15:33:05] [PASSED] 60 VFs
[15:33:05] [PASSED] 61 VFs
[15:33:05] [PASSED] 62 VFs
[15:33:05] [PASSED] 63 VFs
[15:33:05] ==================== [PASSED] fair_vram ====================
[15:33:05] ================== [PASSED] pf_gt_config ===================
[15:33:05] ===================== lmtt (1 subtest) =====================
[15:33:05] ======================== test_ops =========================
[15:33:05] [PASSED] 2-level
[15:33:05] [PASSED] multi-level
[15:33:05] ==================== [PASSED] test_ops =====================
[15:33:05] ====================== [PASSED] lmtt =======================
[15:33:05] ================= sriov_packet (1 subtest) =================
[15:33:05] [PASSED] test_descriptor_init
[15:33:05] ================== [PASSED] sriov_packet ===================
[15:33:05] ================= pf_service (11 subtests) =================
[15:33:05] [PASSED] pf_negotiate_any
[15:33:05] [PASSED] pf_negotiate_base_match
[15:33:05] [PASSED] pf_negotiate_base_newer
[15:33:05] [PASSED] pf_negotiate_base_next
[15:33:05] [SKIPPED] pf_negotiate_base_older (no older minor)
[15:33:05] [PASSED] pf_negotiate_base_prev
[15:33:05] [PASSED] pf_negotiate_latest_match
[15:33:05] [PASSED] pf_negotiate_latest_newer
[15:33:05] [PASSED] pf_negotiate_latest_next
[15:33:05] [SKIPPED] pf_negotiate_latest_older (no older minor)
[15:33:05] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[15:33:05] =================== [PASSED] pf_service ====================
[15:33:05] ================= xe_guc_g2g (2 subtests) ==================
[15:33:05] ============== xe_live_guc_g2g_kunit_default ==============
[15:33:05] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[15:33:05] ============== xe_live_guc_g2g_kunit_allmem ===============
[15:33:05] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[15:33:05] =================== [SKIPPED] xe_guc_g2g ===================
[15:33:05] =================== xe_mocs (2 subtests) ===================
[15:33:05] ================ xe_live_mocs_kernel_kunit ================
[15:33:05] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[15:33:05] ================ xe_live_mocs_reset_kunit =================
[15:33:05] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[15:33:05] ==================== [SKIPPED] xe_mocs =====================
[15:33:05] ================= xe_migrate (2 subtests) ==================
[15:33:05] ================= xe_migrate_sanity_kunit =================
[15:33:05] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[15:33:05] ================== xe_validate_ccs_kunit ==================
[15:33:05] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[15:33:05] =================== [SKIPPED] xe_migrate ===================
[15:33:05] ================== xe_dma_buf (1 subtest) ==================
[15:33:05] ==================== xe_dma_buf_kunit =====================
[15:33:05] ================ [SKIPPED] xe_dma_buf_kunit ================
[15:33:05] =================== [SKIPPED] xe_dma_buf ===================
[15:33:05] ================= xe_bo_shrink (1 subtest) =================
[15:33:05] =================== xe_bo_shrink_kunit ====================
[15:33:05] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[15:33:05] ================== [SKIPPED] xe_bo_shrink ==================
[15:33:05] ==================== xe_bo (2 subtests) ====================
[15:33:05] ================== xe_ccs_migrate_kunit ===================
[15:33:05] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[15:33:05] ==================== xe_bo_evict_kunit ====================
[15:33:05] =============== [SKIPPED] xe_bo_evict_kunit ================
[15:33:05] ===================== [SKIPPED] xe_bo ======================
[15:33:05] =================== xe_any (9 subtests) ====================
[15:33:05] [PASSED] test_to_xe
[15:33:05] [PASSED] test_to_dev
[15:33:05] [PASSED] test_to_pdev
[15:33:05] [PASSED] test_to_drm
[15:33:05] [PASSED] test_if_pdev
[15:33:05] [PASSED] test_if_xe
[15:33:05] [PASSED] test_if_tile
[15:33:05] [PASSED] test_if_gt
[15:33:05] [PASSED] test_to_id
[15:33:05] ===================== [PASSED] xe_any ======================
[15:33:05] ==================== args (13 subtests) ====================
[15:33:05] [PASSED] count_args_test
[15:33:05] [PASSED] call_args_example
[15:33:05] [PASSED] call_args_test
[15:33:05] [PASSED] drop_first_arg_example
[15:33:05] [PASSED] drop_first_arg_test
[15:33:05] [PASSED] first_arg_example
[15:33:05] [PASSED] first_arg_test
[15:33:05] [PASSED] last_arg_example
[15:33:05] [PASSED] last_arg_test
[15:33:05] [PASSED] pick_arg_example
[15:33:05] [PASSED] if_args_example
[15:33:05] [PASSED] if_args_test
[15:33:05] [PASSED] sep_comma_example
[15:33:05] ====================== [PASSED] args =======================
[15:33:05] =================== xe_pci (3 subtests) ====================
[15:33:05] ==================== check_graphics_ip ====================
[15:33:05] [PASSED] 12.00 Xe_LP
[15:33:05] [PASSED] 12.10 Xe_LP+
[15:33:05] [PASSED] 12.55 Xe_HPG
[15:33:05] [PASSED] 12.60 Xe_HPC
[15:33:05] [PASSED] 12.70 Xe_LPG
[15:33:05] [PASSED] 12.71 Xe_LPG
[15:33:05] [PASSED] 12.74 Xe_LPG+
[15:33:05] [PASSED] 20.01 Xe2_HPG
[15:33:05] [PASSED] 20.02 Xe2_HPG
[15:33:05] [PASSED] 20.04 Xe2_LPG
[15:33:05] [PASSED] 30.00 Xe3_LPG
[15:33:05] [PASSED] 30.01 Xe3_LPG
[15:33:05] [PASSED] 30.03 Xe3_LPG
[15:33:05] [PASSED] 30.04 Xe3_LPG
[15:33:05] [PASSED] 30.05 Xe3_LPG
[15:33:05] [PASSED] 35.10 Xe3p_LPG
[15:33:05] [PASSED] 35.11 Xe3p_XPC
[15:33:05] ================ [PASSED] check_graphics_ip ================
[15:33:05] ===================== check_media_ip ======================
[15:33:05] [PASSED] 12.00 Xe_M
[15:33:05] [PASSED] 12.55 Xe_HPM
[15:33:05] [PASSED] 13.00 Xe_LPM+
[15:33:05] [PASSED] 13.01 Xe2_HPM
[15:33:05] [PASSED] 20.00 Xe2_LPM
[15:33:05] [PASSED] 30.00 Xe3_LPM
[15:33:05] [PASSED] 30.02 Xe3_LPM
[15:33:05] [PASSED] 35.00 Xe3p_LPM
[15:33:05] [PASSED] 35.03 Xe3p_HPM
[15:33:05] ================= [PASSED] check_media_ip ==================
[15:33:05] =================== check_platform_desc ===================
[15:33:05] [PASSED] 0x9A60 (TIGERLAKE)
[15:33:05] [PASSED] 0x9A68 (TIGERLAKE)
[15:33:05] [PASSED] 0x9A70 (TIGERLAKE)
[15:33:05] [PASSED] 0x9A40 (TIGERLAKE)
[15:33:05] [PASSED] 0x9A49 (TIGERLAKE)
[15:33:05] [PASSED] 0x9A59 (TIGERLAKE)
[15:33:05] [PASSED] 0x9A78 (TIGERLAKE)
[15:33:05] [PASSED] 0x9AC0 (TIGERLAKE)
[15:33:05] [PASSED] 0x9AC9 (TIGERLAKE)
[15:33:05] [PASSED] 0x9AD9 (TIGERLAKE)
[15:33:05] [PASSED] 0x9AF8 (TIGERLAKE)
[15:33:05] [PASSED] 0x4C80 (ROCKETLAKE)
[15:33:05] [PASSED] 0x4C8A (ROCKETLAKE)
[15:33:05] [PASSED] 0x4C8B (ROCKETLAKE)
[15:33:05] [PASSED] 0x4C8C (ROCKETLAKE)
[15:33:05] [PASSED] 0x4C90 (ROCKETLAKE)
[15:33:05] [PASSED] 0x4C9A (ROCKETLAKE)
[15:33:05] [PASSED] 0x4680 (ALDERLAKE_S)
[15:33:05] [PASSED] 0x4682 (ALDERLAKE_S)
[15:33:05] [PASSED] 0x4688 (ALDERLAKE_S)
[15:33:05] [PASSED] 0x468A (ALDERLAKE_S)
[15:33:05] [PASSED] 0x468B (ALDERLAKE_S)
[15:33:05] [PASSED] 0x4690 (ALDERLAKE_S)
[15:33:05] [PASSED] 0x4692 (ALDERLAKE_S)
[15:33:05] [PASSED] 0x4693 (ALDERLAKE_S)
[15:33:05] [PASSED] 0x46A0 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46A1 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46A2 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46A3 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46A6 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46A8 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46AA (ALDERLAKE_P)
[15:33:05] [PASSED] 0x462A (ALDERLAKE_P)
[15:33:05] [PASSED] 0x4626 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x4628 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46B0 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46B1 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46B2 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46B3 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46C0 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46C1 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46C2 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46C3 (ALDERLAKE_P)
[15:33:05] [PASSED] 0x46D0 (ALDERLAKE_N)
[15:33:05] [PASSED] 0x46D1 (ALDERLAKE_N)
[15:33:05] [PASSED] 0x46D2 (ALDERLAKE_N)
[15:33:05] [PASSED] 0x46D3 (ALDERLAKE_N)
[15:33:05] [PASSED] 0x46D4 (ALDERLAKE_N)
[15:33:05] [PASSED] 0xA721 (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA7A1 (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA7A9 (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA7AC (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA7AD (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA720 (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA7A0 (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA7A8 (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA7AA (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA7AB (ALDERLAKE_P)
[15:33:05] [PASSED] 0xA780 (ALDERLAKE_S)
[15:33:05] [PASSED] 0xA781 (ALDERLAKE_S)
[15:33:05] [PASSED] 0xA782 (ALDERLAKE_S)
[15:33:05] [PASSED] 0xA783 (ALDERLAKE_S)
[15:33:05] [PASSED] 0xA788 (ALDERLAKE_S)
[15:33:05] [PASSED] 0xA789 (ALDERLAKE_S)
[15:33:05] [PASSED] 0xA78A (ALDERLAKE_S)
[15:33:05] [PASSED] 0xA78B (ALDERLAKE_S)
[15:33:05] [PASSED] 0x4905 (DG1)
[15:33:05] [PASSED] 0x4906 (DG1)
[15:33:05] [PASSED] 0x4907 (DG1)
[15:33:05] [PASSED] 0x4908 (DG1)
[15:33:05] [PASSED] 0x4909 (DG1)
[15:33:05] [PASSED] 0x56C0 (DG2)
[15:33:05] [PASSED] 0x56C2 (DG2)
[15:33:05] [PASSED] 0x56C1 (DG2)
[15:33:05] [PASSED] 0x7D51 (METEORLAKE)
[15:33:05] [PASSED] 0x7DD1 (METEORLAKE)
[15:33:05] [PASSED] 0x7D41 (METEORLAKE)
[15:33:05] [PASSED] 0x7D67 (METEORLAKE)
[15:33:05] [PASSED] 0xB640 (METEORLAKE)
[15:33:05] [PASSED] 0x56A0 (DG2)
[15:33:05] [PASSED] 0x56A1 (DG2)
[15:33:05] [PASSED] 0x56A2 (DG2)
[15:33:05] [PASSED] 0x56BE (DG2)
[15:33:05] [PASSED] 0x56BF (DG2)
[15:33:05] [PASSED] 0x5690 (DG2)
[15:33:05] [PASSED] 0x5691 (DG2)
[15:33:05] [PASSED] 0x5692 (DG2)
[15:33:05] [PASSED] 0x56A5 (DG2)
[15:33:05] [PASSED] 0x56A6 (DG2)
[15:33:05] [PASSED] 0x56B0 (DG2)
[15:33:05] [PASSED] 0x56B1 (DG2)
[15:33:05] [PASSED] 0x56BA (DG2)
[15:33:05] [PASSED] 0x56BB (DG2)
[15:33:05] [PASSED] 0x56BC (DG2)
[15:33:05] [PASSED] 0x56BD (DG2)
[15:33:05] [PASSED] 0x5693 (DG2)
[15:33:05] [PASSED] 0x5694 (DG2)
[15:33:05] [PASSED] 0x5695 (DG2)
[15:33:05] [PASSED] 0x56A3 (DG2)
[15:33:05] [PASSED] 0x56A4 (DG2)
[15:33:05] [PASSED] 0x56B2 (DG2)
[15:33:05] [PASSED] 0x56B3 (DG2)
[15:33:05] [PASSED] 0x5696 (DG2)
[15:33:05] [PASSED] 0x5697 (DG2)
[15:33:05] [PASSED] 0xB69 (PVC)
[15:33:05] [PASSED] 0xB6E (PVC)
[15:33:05] [PASSED] 0xBD4 (PVC)
[15:33:05] [PASSED] 0xBD5 (PVC)
[15:33:05] [PASSED] 0xBD6 (PVC)
[15:33:05] [PASSED] 0xBD7 (PVC)
[15:33:05] [PASSED] 0xBD8 (PVC)
[15:33:05] [PASSED] 0xBD9 (PVC)
[15:33:05] [PASSED] 0xBDA (PVC)
[15:33:05] [PASSED] 0xBDB (PVC)
[15:33:05] [PASSED] 0xBE0 (PVC)
[15:33:05] [PASSED] 0xBE1 (PVC)
[15:33:05] [PASSED] 0xBE5 (PVC)
[15:33:05] [PASSED] 0x7D40 (METEORLAKE)
[15:33:05] [PASSED] 0x7D45 (METEORLAKE)
[15:33:05] [PASSED] 0x7D55 (METEORLAKE)
[15:33:05] [PASSED] 0x7D60 (METEORLAKE)
[15:33:05] [PASSED] 0x7DD5 (METEORLAKE)
[15:33:05] [PASSED] 0x6420 (LUNARLAKE)
[15:33:05] [PASSED] 0x64A0 (LUNARLAKE)
[15:33:05] [PASSED] 0x64B0 (LUNARLAKE)
[15:33:05] [PASSED] 0xE202 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE209 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE20B (BATTLEMAGE)
[15:33:05] [PASSED] 0xE20C (BATTLEMAGE)
[15:33:05] [PASSED] 0xE20D (BATTLEMAGE)
[15:33:05] [PASSED] 0xE210 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE211 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE212 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE216 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE220 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE221 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE222 (BATTLEMAGE)
[15:33:05] [PASSED] 0xE223 (BATTLEMAGE)
[15:33:05] [PASSED] 0xB080 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB081 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB082 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB083 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB084 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB085 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB086 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB087 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB08F (PANTHERLAKE)
[15:33:05] [PASSED] 0xB090 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB0A0 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB0A1 (PANTHERLAKE)
[15:33:05] [PASSED] 0xB0B0 (PANTHERLAKE)
[15:33:05] [PASSED] 0xFD80 (PANTHERLAKE)
[15:33:05] [PASSED] 0xFD81 (PANTHERLAKE)
[15:33:05] [PASSED] 0xD740 (NOVALAKE_S)
[15:33:05] [PASSED] 0xD741 (NOVALAKE_S)
[15:33:05] [PASSED] 0xD742 (NOVALAKE_S)
[15:33:05] [PASSED] 0xD743 (NOVALAKE_S)
[15:33:05] [PASSED] 0xD745 (NOVALAKE_S)
[15:33:05] [PASSED] 0xD74A (NOVALAKE_S)
[15:33:05] [PASSED] 0xD74B (NOVALAKE_S)
[15:33:05] [PASSED] 0x674C (CRESCENTISLAND)
[15:33:05] [PASSED] 0x674D (CRESCENTISLAND)
[15:33:05] [PASSED] 0x674E (CRESCENTISLAND)
[15:33:05] [PASSED] 0x674F (CRESCENTISLAND)
[15:33:05] [PASSED] 0x6750 (CRESCENTISLAND)
[15:33:05] [PASSED] 0x6751 (CRESCENTISLAND)
[15:33:05] [PASSED] 0xD750 (NOVALAKE_P)
[15:33:05] [PASSED] 0xD751 (NOVALAKE_P)
[15:33:05] [PASSED] 0xD752 (NOVALAKE_P)
[15:33:05] [PASSED] 0xD753 (NOVALAKE_P)
[15:33:05] [PASSED] 0xD754 (NOVALAKE_P)
[15:33:05] [PASSED] 0xD755 (NOVALAKE_P)
[15:33:05] [PASSED] 0xD756 (NOVALAKE_P)
[15:33:05] [PASSED] 0xD757 (NOVALAKE_P)
[15:33:05] [PASSED] 0xD75F (NOVALAKE_P)
[15:33:05] =============== [PASSED] check_platform_desc ===============
[15:33:05] ===================== [PASSED] xe_pci ======================
[15:33:05] ============= xe_rtp_tables_test (5 subtests) ==============
[15:33:05] ================== xe_rtp_table_gt_test ===================
[15:33:05] [PASSED] gt_was/14011060649
[15:33:05] [PASSED] gt_was/14011059788
[15:33:05] [PASSED] gt_was/14015795083
[15:33:05] [PASSED] gt_was/16021867713
[15:33:05] [PASSED] gt_was/14019449301
[15:33:05] [PASSED] gt_was/16028005424
[15:33:05] [PASSED] gt_was/14026578760
[15:33:05] [PASSED] gt_was/1409420604
[15:33:05] [PASSED] gt_was/1408615072
[15:33:05] [PASSED] gt_was/22010523718
[15:33:05] [PASSED] gt_was/14011006942
[15:33:05] [PASSED] gt_was/14014830051
[15:33:05] [PASSED] gt_was/18018781329
[15:33:05] [PASSED] gt_was/1509235366
[15:33:05] [PASSED] gt_was/18018781329
[15:33:05] [PASSED] gt_was/16016694945
[15:33:05] [PASSED] gt_was/14018575942
[15:33:05] [PASSED] gt_was/22016670082
[15:33:05] [PASSED] gt_was/22016670082
[15:33:05] [PASSED] gt_was/14017421178
[15:33:05] [PASSED] gt_was/16025250150
[15:33:05] [PASSED] gt_was/14021871409
[15:33:05] [PASSED] gt_was/16021865536
[15:33:05] [PASSED] gt_was/14021486841
[15:33:05] [PASSED] gt_was/14025160223
[15:33:05] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[15:33:05] [PASSED] gt_was/14025635424
[15:33:05] [PASSED] gt_was/16028005424
[15:33:05] ============== [PASSED] xe_rtp_table_gt_test ===============
[15:33:05] ================== xe_rtp_table_gt_test ===================
[15:33:05] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[15:33:05] [PASSED] gt_tunings/Tuning: 32B Access Enable
[15:33:05] [PASSED] gt_tunings/Tuning: L3 cache
[15:33:05] [PASSED] gt_tunings/Tuning: L3 cache - media
[15:33:05] [PASSED] gt_tunings/Tuning: Compression Overfetch
[15:33:05] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[15:33:05] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[15:33:05] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[15:33:05] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[15:33:05] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[15:33:05] [PASSED] gt_tunings/Tuning: Stateless compression control
[15:33:05] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[15:33:05] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[15:33:05] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[15:33:05] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[15:33:05] [PASSED] gt_tunings/Tuning: Force All Non-Compressible Memory Reads to be 256B Overfetches
[15:33:05] ============== [PASSED] xe_rtp_table_gt_test ===============
[15:33:05] ================== xe_rtp_table_oob_test ==================
[15:33:05] [PASSED] oob_was/1607983814
[15:33:05] [PASSED] oob_was/16010904313
[15:33:05] [PASSED] oob_was/18022495364
[15:33:05] [PASSED] oob_was/22012773006
[15:33:05] [PASSED] oob_was/14014475959
[15:33:05] [PASSED] oob_was/22011391025
[15:33:05] [PASSED] oob_was/22012727170
[15:33:05] [PASSED] oob_was/22012727685
[15:33:05] [PASSED] oob_was/22016596838
[15:33:05] [PASSED] oob_was/18020744125
[15:33:05] [PASSED] oob_was/1409600907
[15:33:05] [PASSED] oob_was/22014953428
[15:33:05] [PASSED] oob_was/16017236439
[15:33:05] [PASSED] oob_was/14019821291
[15:33:05] [PASSED] oob_was/14015076503
[15:33:05] [PASSED] oob_was/22016122933
[15:33:05] [PASSED] oob_was/14018913170
[15:33:05] [PASSED] oob_was/14018094691
[15:33:05] [PASSED] oob_was/18024947630
[15:33:05] [PASSED] oob_was/16022287689
[15:33:05] [PASSED] oob_was/13011645652
[15:33:05] [PASSED] oob_was/14022293748
[15:33:05] [PASSED] oob_was/22019794406
[15:33:05] [PASSED] oob_was/22019338487
[15:33:05] [PASSED] oob_was/16023588340
[15:33:05] [PASSED] oob_was/14019789679
[15:33:05] [PASSED] oob_was/14022866841
[15:33:05] [PASSED] oob_was/16021333562
[15:33:05] [PASSED] oob_was/14016712196
[15:33:05] [PASSED] oob_was/14015568240
[15:33:05] [PASSED] oob_was/18013179988
[15:33:05] [PASSED] oob_was/1508761755
[15:33:05] [PASSED] oob_was/16023105232
[15:33:05] [PASSED] oob_was/16026508708
[15:33:05] [PASSED] oob_was/14020001231
[15:33:05] [PASSED] oob_was/16023683509
[15:33:05] [PASSED] oob_was/14025515070
[15:33:05] [PASSED] oob_was/15015404425_disable
[15:33:05] [PASSED] oob_was/16026007364
[15:33:05] [PASSED] oob_was/14020316580
[15:33:05] [PASSED] oob_was/14025883347
[15:33:05] [PASSED] oob_was/16029380221
[15:33:05] [PASSED] oob_was/22022079272
[15:33:05] [PASSED] oob_was/16029897822
[15:33:05] [PASSED] oob_was/14027054324
[15:33:05] [PASSED] oob_was/14025941587
[15:33:05] [PASSED] oob_was/16030224309
[15:33:05] ============== [PASSED] xe_rtp_table_oob_test ==============
[15:33:05] ================ xe_rtp_table_dev_oob_test ================
[15:33:05] [PASSED] device_oob_was/22010954014
[15:33:05] [PASSED] device_oob_was/15015404425
[15:33:05] [PASSED] device_oob_was/22019338487_display
[15:33:05] [PASSED] device_oob_was/14022085890
[15:33:05] [PASSED] device_oob_was/14026539277
[15:33:05] [PASSED] device_oob_was/14026633728
[15:33:05] [PASSED] device_oob_was/14026746987
[15:33:05] [PASSED] device_oob_was/14026779378
[15:33:05] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[15:33:05] ========== xe_rtp_table_missing_upper_bound_test ==========
[15:33:05] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[15:33:05] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[15:33:05] [PASSED] register_whitelist/1806527549
[15:33:05] [PASSED] register_whitelist/allow_read_ctx_timestamp
[15:33:05] [PASSED] register_whitelist/allow_read_queue_timestamp
[15:33:05] [PASSED] register_whitelist/16014440446
[15:33:05] [PASSED] register_whitelist/16017236439
[15:33:05] [PASSED] register_whitelist/16020183090
[15:33:05] [PASSED] register_whitelist/14024997852
[15:33:05] [PASSED] register_whitelist/14024997852
[15:33:05] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[15:33:05] =============== [PASSED] xe_rtp_tables_test ================
[15:33:05] =================== xe_rtp (3 subtests) ====================
[15:33:05] =================== xe_rtp_rules_tests ====================
[15:33:05] [PASSED] no
[15:33:05] [PASSED] yes
[15:33:05] [PASSED] no-and-no
[15:33:05] [PASSED] no-and-yes
[15:33:05] [PASSED] yes-and-no
[15:33:05] [PASSED] yes-and-yes
[15:33:05] [PASSED] no-or-no
[15:33:05] [PASSED] no-or-yes
[15:33:05] [PASSED] yes-or-no
[15:33:05] [PASSED] yes-or-yes
[15:33:05] [PASSED] no-yes-or-yes-no
[15:33:05] [PASSED] no-yes-or-yes-yes
[15:33:05] [PASSED] yes-yes-or-no-yes
[15:33:05] [PASSED] yes-yes-or-yes-yes
[15:33:05] [PASSED] no-no-or-yes-or-no
[15:33:05] [PASSED] or
[15:33:05] [PASSED] or-yes
[15:33:05] [PASSED] or-no
[15:33:05] [PASSED] yes-or
[15:33:05] [PASSED] no-or
[15:33:05] [PASSED] no-or-or-yes
[15:33:05] [PASSED] yes-or-or-no
[15:33:05] [PASSED] no-or-or-no
[15:33:05] [PASSED] missing-context-engine-class
[15:33:05] [PASSED] missing-context-engine-class-or-yes
[15:33:05] [PASSED] missing-context-engine-class-or-or-yes
[15:33:05] =============== [PASSED] xe_rtp_rules_tests ================
[15:33:05] =============== xe_rtp_process_to_sr_tests ================
[15:33:05] [PASSED] coalesce-same-reg
[15:33:05] [PASSED] coalesce-same-reg-literal-and-func
[15:33:05] [PASSED] no-match-no-add
[15:33:05] [PASSED] two-regs-two-entries
[15:33:05] [PASSED] clr-one-set-other
[15:33:05] [PASSED] set-field
[15:33:05] [PASSED] conflict-duplicate
[15:33:05] [PASSED] conflict-not-disjoint
[15:33:05] [PASSED] conflict-not-disjoint-literal-and-func
[15:33:05] [PASSED] conflict-reg-type
[15:33:05] [PASSED] bad-mcr-reg-forced-to-regular
[15:33:05] [PASSED] bad-regular-reg-forced-to-mcr
[15:33:05] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[15:33:05] ================== xe_rtp_process_tests ===================
[15:33:05] [PASSED] active1
[15:33:05] [PASSED] active2
[15:33:05] [PASSED] active-inactive
[15:33:05] [PASSED] inactive-active
[15:33:05] [PASSED] inactive-active-inactive
[15:33:05] [PASSED] inactive-inactive-inactive
[15:33:05] ============== [PASSED] xe_rtp_process_tests ===============
[15:33:05] ===================== [PASSED] xe_rtp ======================
[15:33:05] ==================== xe_wa (1 subtest) =====================
[15:33:05] ======================== xe_wa_gt =========================
[15:33:05] [PASSED] TIGERLAKE B0
[15:33:05] [PASSED] DG1 A0
[15:33:05] [PASSED] DG1 B0
[15:33:05] [PASSED] ALDERLAKE_S A0
[15:33:05] [PASSED] ALDERLAKE_S B0
[15:33:05] [PASSED] ALDERLAKE_S C0
[15:33:05] [PASSED] ALDERLAKE_S D0
[15:33:05] [PASSED] ALDERLAKE_P A0
[15:33:05] [PASSED] ALDERLAKE_P B0
[15:33:05] [PASSED] ALDERLAKE_P C0
[15:33:05] [PASSED] ALDERLAKE_S RPLS D0
[15:33:05] [PASSED] ALDERLAKE_P RPLU E0
[15:33:05] [PASSED] DG2 G10 C0
[15:33:05] [PASSED] DG2 G11 B1
[15:33:05] [PASSED] DG2 G12 A1
[15:33:05] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[15:33:05] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[15:33:05] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[15:33:05] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[15:33:05] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[15:33:05] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[15:33:05] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[15:33:05] ==================== [PASSED] xe_wa_gt =====================
[15:33:05] ====================== [PASSED] xe_wa ======================
[15:33:05] ============================================================
[15:33:05] Testing complete. Ran 821 tests: passed: 793, skipped: 28
[15:33:05] Elapsed time: 36.351s total, 1.809s configuring, 33.777s building, 0.713s 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
[15:33:06] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:33:07] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[15:33:32] Starting KUnit Kernel (1/1)...
[15:33:32] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:33:33] ============ drm_test_pick_cmdline (2 subtests) ============
[15:33:33] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[15:33:33] =============== drm_test_pick_cmdline_named ===============
[15:33:33] [PASSED] NTSC
[15:33:33] [PASSED] NTSC-J
[15:33:33] [PASSED] PAL
[15:33:33] [PASSED] PAL-M
[15:33:33] =========== [PASSED] drm_test_pick_cmdline_named ===========
[15:33:33] ============== [PASSED] drm_test_pick_cmdline ==============
[15:33:33] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[15:33:33] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[15:33:33] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[15:33:33] =========== drm_validate_clone_mode (2 subtests) ===========
[15:33:33] ============== drm_test_check_in_clone_mode ===============
[15:33:33] [PASSED] in_clone_mode
[15:33:33] [PASSED] not_in_clone_mode
[15:33:33] ========== [PASSED] drm_test_check_in_clone_mode ===========
[15:33:33] =============== drm_test_check_valid_clones ===============
[15:33:33] [PASSED] not_in_clone_mode
[15:33:33] [PASSED] valid_clone
[15:33:33] [PASSED] invalid_clone
[15:33:33] =========== [PASSED] drm_test_check_valid_clones ===========
[15:33:33] ============= [PASSED] drm_validate_clone_mode =============
[15:33:33] ============= drm_validate_modeset (1 subtest) =============
[15:33:33] [PASSED] drm_test_check_connector_changed_modeset
[15:33:33] ============== [PASSED] drm_validate_modeset ===============
[15:33:33] ====== drm_test_bridge_get_current_state (1 subtest) =======
[15:33:33] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[15:33:33] ======== [PASSED] drm_test_bridge_get_current_state ========
[15:33:33] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[15:33:33] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[15:33:33] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[15:33:33] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[15:33:33] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[15:33:33] ============== drm_bridge_alloc (2 subtests) ===============
[15:33:33] [PASSED] drm_test_drm_bridge_alloc_basic
[15:33:33] [PASSED] drm_test_drm_bridge_alloc_get_put
[15:33:33] ================ [PASSED] drm_bridge_alloc =================
[15:33:33] ============= drm_bridge_bus_fmt (5 subtests) ==============
[15:33:33] [PASSED] drm_test_bridge_rgb_yuv_rgb
[15:33:33] [PASSED] drm_test_bridge_must_convert_to_yuv444
[15:33:33] [PASSED] drm_test_bridge_hdmi_auto_rgb
[15:33:33] [PASSED] drm_test_bridge_auto_first
[15:33:33] [PASSED] drm_test_bridge_rgb_yuv_no_path
[15:33:33] =============== [PASSED] drm_bridge_bus_fmt ================
[15:33:33] ============= drm_cmdline_parser (40 subtests) =============
[15:33:33] [PASSED] drm_test_cmdline_force_d_only
[15:33:33] [PASSED] drm_test_cmdline_force_D_only_dvi
[15:33:33] [PASSED] drm_test_cmdline_force_D_only_hdmi
[15:33:33] [PASSED] drm_test_cmdline_force_D_only_not_digital
[15:33:33] [PASSED] drm_test_cmdline_force_e_only
[15:33:33] [PASSED] drm_test_cmdline_res
[15:33:33] [PASSED] drm_test_cmdline_res_vesa
[15:33:33] [PASSED] drm_test_cmdline_res_vesa_rblank
[15:33:33] [PASSED] drm_test_cmdline_res_rblank
[15:33:33] [PASSED] drm_test_cmdline_res_bpp
[15:33:33] [PASSED] drm_test_cmdline_res_refresh
[15:33:33] [PASSED] drm_test_cmdline_res_bpp_refresh
[15:33:33] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[15:33:33] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[15:33:33] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[15:33:33] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[15:33:33] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[15:33:33] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[15:33:33] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[15:33:33] [PASSED] drm_test_cmdline_res_margins_force_on
[15:33:33] [PASSED] drm_test_cmdline_res_vesa_margins
[15:33:33] [PASSED] drm_test_cmdline_name
[15:33:33] [PASSED] drm_test_cmdline_name_bpp
[15:33:33] [PASSED] drm_test_cmdline_name_option
[15:33:33] [PASSED] drm_test_cmdline_name_bpp_option
[15:33:33] [PASSED] drm_test_cmdline_rotate_0
[15:33:33] [PASSED] drm_test_cmdline_rotate_90
[15:33:33] [PASSED] drm_test_cmdline_rotate_180
[15:33:33] [PASSED] drm_test_cmdline_rotate_270
[15:33:33] [PASSED] drm_test_cmdline_hmirror
[15:33:33] [PASSED] drm_test_cmdline_vmirror
[15:33:33] [PASSED] drm_test_cmdline_margin_options
[15:33:33] [PASSED] drm_test_cmdline_multiple_options
[15:33:33] [PASSED] drm_test_cmdline_bpp_extra_and_option
[15:33:33] [PASSED] drm_test_cmdline_extra_and_option
[15:33:33] [PASSED] drm_test_cmdline_freestanding_options
[15:33:33] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[15:33:33] [PASSED] drm_test_cmdline_panel_orientation
[15:33:33] ================ drm_test_cmdline_invalid =================
[15:33:33] [PASSED] margin_only
[15:33:33] [PASSED] interlace_only
[15:33:33] [PASSED] res_missing_x
[15:33:33] [PASSED] res_missing_y
[15:33:33] [PASSED] res_bad_y
[15:33:33] [PASSED] res_missing_y_bpp
[15:33:33] [PASSED] res_bad_bpp
[15:33:33] [PASSED] res_bad_refresh
[15:33:33] [PASSED] res_bpp_refresh_force_on_off
[15:33:33] [PASSED] res_invalid_mode
[15:33:33] [PASSED] res_bpp_wrong_place_mode
[15:33:33] [PASSED] name_bpp_refresh
[15:33:33] [PASSED] name_refresh
[15:33:33] [PASSED] name_refresh_wrong_mode
[15:33:33] [PASSED] name_refresh_invalid_mode
[15:33:33] [PASSED] rotate_multiple
[15:33:33] [PASSED] rotate_invalid_val
[15:33:33] [PASSED] rotate_truncated
[15:33:33] [PASSED] invalid_option
[15:33:33] [PASSED] invalid_tv_option
[15:33:33] [PASSED] truncated_tv_option
[15:33:33] ============ [PASSED] drm_test_cmdline_invalid =============
[15:33:33] =============== drm_test_cmdline_tv_options ===============
[15:33:33] [PASSED] NTSC
[15:33:33] [PASSED] NTSC_443
[15:33:33] [PASSED] NTSC_J
[15:33:33] [PASSED] PAL
[15:33:33] [PASSED] PAL_M
[15:33:33] [PASSED] PAL_N
[15:33:33] [PASSED] SECAM
[15:33:33] [PASSED] MONO_525
[15:33:33] [PASSED] MONO_625
[15:33:33] =========== [PASSED] drm_test_cmdline_tv_options ===========
[15:33:33] =============== [PASSED] drm_cmdline_parser ================
[15:33:33] ========== drmm_connector_hdmi_init (20 subtests) ==========
[15:33:33] [PASSED] drm_test_connector_hdmi_init_valid
[15:33:33] [PASSED] drm_test_connector_hdmi_init_bpc_8
[15:33:33] [PASSED] drm_test_connector_hdmi_init_bpc_10
[15:33:33] [PASSED] drm_test_connector_hdmi_init_bpc_12
[15:33:33] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[15:33:33] [PASSED] drm_test_connector_hdmi_init_bpc_null
[15:33:33] [PASSED] drm_test_connector_hdmi_init_formats_empty
[15:33:33] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[15:33:33] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[15:33:33] [PASSED] supported_formats=0x9 yuv420_allowed=1
[15:33:33] [PASSED] supported_formats=0x9 yuv420_allowed=0
[15:33:33] [PASSED] supported_formats=0x5 yuv420_allowed=1
[15:33:33] [PASSED] supported_formats=0x5 yuv420_allowed=0
[15:33:33] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[15:33:33] [PASSED] drm_test_connector_hdmi_init_null_ddc
[15:33:33] [PASSED] drm_test_connector_hdmi_init_null_product
[15:33:33] [PASSED] drm_test_connector_hdmi_init_null_vendor
[15:33:33] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[15:33:33] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[15:33:33] [PASSED] drm_test_connector_hdmi_init_product_valid
[15:33:33] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[15:33:33] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[15:33:33] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[15:33:33] ========= drm_test_connector_hdmi_init_type_valid =========
[15:33:33] [PASSED] HDMI-A
[15:33:33] [PASSED] HDMI-B
[15:33:33] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[15:33:33] ======== drm_test_connector_hdmi_init_type_invalid ========
[15:33:33] [PASSED] Unknown
[15:33:33] [PASSED] VGA
[15:33:33] [PASSED] DVI-I
[15:33:33] [PASSED] DVI-D
[15:33:33] [PASSED] DVI-A
[15:33:33] [PASSED] Composite
[15:33:33] [PASSED] SVIDEO
[15:33:33] [PASSED] LVDS
[15:33:33] [PASSED] Component
[15:33:33] [PASSED] DIN
[15:33:33] [PASSED] DP
[15:33:33] [PASSED] TV
[15:33:33] [PASSED] eDP
[15:33:33] [PASSED] Virtual
[15:33:33] [PASSED] DSI
[15:33:33] [PASSED] DPI
[15:33:33] [PASSED] Writeback
[15:33:33] [PASSED] SPI
[15:33:33] [PASSED] USB
[15:33:33] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[15:33:33] ============ [PASSED] drmm_connector_hdmi_init =============
[15:33:33] ============= drmm_connector_init (3 subtests) =============
[15:33:33] [PASSED] drm_test_drmm_connector_init
[15:33:33] [PASSED] drm_test_drmm_connector_init_null_ddc
[15:33:33] ========= drm_test_drmm_connector_init_type_valid =========
[15:33:33] [PASSED] Unknown
[15:33:33] [PASSED] VGA
[15:33:33] [PASSED] DVI-I
[15:33:33] [PASSED] DVI-D
[15:33:33] [PASSED] DVI-A
[15:33:33] [PASSED] Composite
[15:33:33] [PASSED] SVIDEO
[15:33:33] [PASSED] LVDS
[15:33:33] [PASSED] Component
[15:33:33] [PASSED] DIN
[15:33:33] [PASSED] DP
[15:33:33] [PASSED] HDMI-A
[15:33:33] [PASSED] HDMI-B
[15:33:33] [PASSED] TV
[15:33:33] [PASSED] eDP
[15:33:33] [PASSED] Virtual
[15:33:33] [PASSED] DSI
[15:33:33] [PASSED] DPI
[15:33:33] [PASSED] Writeback
[15:33:33] [PASSED] SPI
[15:33:33] [PASSED] USB
[15:33:33] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[15:33:33] =============== [PASSED] drmm_connector_init ===============
[15:33:33] ========= drm_connector_dynamic_init (6 subtests) ==========
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_init
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_init_properties
[15:33:33] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[15:33:33] [PASSED] Unknown
[15:33:33] [PASSED] VGA
[15:33:33] [PASSED] DVI-I
[15:33:33] [PASSED] DVI-D
[15:33:33] [PASSED] DVI-A
[15:33:33] [PASSED] Composite
[15:33:33] [PASSED] SVIDEO
[15:33:33] [PASSED] LVDS
[15:33:33] [PASSED] Component
[15:33:33] [PASSED] DIN
[15:33:33] [PASSED] DP
[15:33:33] [PASSED] HDMI-A
[15:33:33] [PASSED] HDMI-B
[15:33:33] [PASSED] TV
[15:33:33] [PASSED] eDP
[15:33:33] [PASSED] Virtual
[15:33:33] [PASSED] DSI
[15:33:33] [PASSED] DPI
[15:33:33] [PASSED] Writeback
[15:33:33] [PASSED] SPI
[15:33:33] [PASSED] USB
[15:33:33] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[15:33:33] ======== drm_test_drm_connector_dynamic_init_name =========
[15:33:33] [PASSED] Unknown
[15:33:33] [PASSED] VGA
[15:33:33] [PASSED] DVI-I
[15:33:33] [PASSED] DVI-D
[15:33:33] [PASSED] DVI-A
[15:33:33] [PASSED] Composite
[15:33:33] [PASSED] SVIDEO
[15:33:33] [PASSED] LVDS
[15:33:33] [PASSED] Component
[15:33:33] [PASSED] DIN
[15:33:33] [PASSED] DP
[15:33:33] [PASSED] HDMI-A
[15:33:33] [PASSED] HDMI-B
[15:33:33] [PASSED] TV
[15:33:33] [PASSED] eDP
[15:33:33] [PASSED] Virtual
[15:33:33] [PASSED] DSI
[15:33:33] [PASSED] DPI
[15:33:33] [PASSED] Writeback
[15:33:33] [PASSED] SPI
[15:33:33] [PASSED] USB
[15:33:33] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[15:33:33] =========== [PASSED] drm_connector_dynamic_init ============
[15:33:33] ==== drm_connector_dynamic_register_early (4 subtests) =====
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[15:33:33] ====== [PASSED] drm_connector_dynamic_register_early =======
[15:33:33] ======= drm_connector_dynamic_register (7 subtests) ========
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[15:33:33] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[15:33:33] ========= [PASSED] drm_connector_dynamic_register ==========
[15:33:33] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[15:33:33] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[15:33:33] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[15:33:33] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[15:33:33] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[15:33:33] ========== drm_test_get_tv_mode_from_name_valid ===========
[15:33:33] [PASSED] NTSC
[15:33:33] [PASSED] NTSC-443
[15:33:33] [PASSED] NTSC-J
[15:33:33] [PASSED] PAL
[15:33:33] [PASSED] PAL-M
[15:33:33] [PASSED] PAL-N
[15:33:33] [PASSED] SECAM
[15:33:33] [PASSED] Mono
[15:33:33] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[15:33:33] [PASSED] drm_test_get_tv_mode_from_name_truncated
[15:33:33] ============ [PASSED] drm_get_tv_mode_from_name ============
[15:33:33] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[15:33:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[15:33:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[15:33:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[15:33:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[15:33:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[15:33:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[15:33:33] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[15:33:33] [PASSED] VIC 96
[15:33:33] [PASSED] VIC 97
[15:33:33] [PASSED] VIC 101
[15:33:33] [PASSED] VIC 102
[15:33:33] [PASSED] VIC 106
[15:33:33] [PASSED] VIC 107
[15:33:33] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[15:33:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[15:33:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[15:33:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[15:33:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[15:33:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[15:33:33] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[15:33:33] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[15:33:33] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[15:33:33] [PASSED] Automatic
[15:33:33] [PASSED] Full
[15:33:33] [PASSED] Limited 16:235
[15:33:33] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[15:33:33] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[15:33:33] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[15:33:33] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[15:33:33] === drm_test_drm_hdmi_connector_get_output_format_name ====
[15:33:33] [PASSED] RGB
[15:33:33] [PASSED] YUV 4:2:0
[15:33:33] [PASSED] YUV 4:2:2
[15:33:33] [PASSED] YUV 4:4:4
[15:33:33] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[15:33:33] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[15:33:33] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[15:33:33] ============= drm_damage_helper (21 subtests) ==============
[15:33:33] [PASSED] drm_test_damage_iter_no_damage
[15:33:33] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[15:33:33] [PASSED] drm_test_damage_iter_no_damage_src_moved
[15:33:33] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[15:33:33] [PASSED] drm_test_damage_iter_no_damage_not_visible
[15:33:33] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[15:33:33] [PASSED] drm_test_damage_iter_no_damage_no_fb
[15:33:33] [PASSED] drm_test_damage_iter_simple_damage
[15:33:33] [PASSED] drm_test_damage_iter_single_damage
[15:33:33] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[15:33:33] [PASSED] drm_test_damage_iter_single_damage_outside_src
[15:33:33] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[15:33:33] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[15:33:33] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[15:33:33] [PASSED] drm_test_damage_iter_single_damage_src_moved
[15:33:33] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[15:33:33] [PASSED] drm_test_damage_iter_damage
[15:33:33] [PASSED] drm_test_damage_iter_damage_one_intersect
[15:33:33] [PASSED] drm_test_damage_iter_damage_one_outside
[15:33:33] [PASSED] drm_test_damage_iter_damage_src_moved
[15:33:33] [PASSED] drm_test_damage_iter_damage_not_visible
[15:33:33] ================ [PASSED] drm_damage_helper ================
[15:33:33] ============== drm_dp_mst_helper (3 subtests) ==============
[15:33:33] ============== drm_test_dp_mst_calc_pbn_mode ==============
[15:33:33] [PASSED] Clock 154000 BPP 30 DSC disabled
[15:33:33] [PASSED] Clock 234000 BPP 30 DSC disabled
[15:33:33] [PASSED] Clock 297000 BPP 24 DSC disabled
[15:33:33] [PASSED] Clock 332880 BPP 24 DSC enabled
[15:33:33] [PASSED] Clock 324540 BPP 24 DSC enabled
[15:33:33] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[15:33:33] ============== drm_test_dp_mst_calc_pbn_div ===============
[15:33:33] [PASSED] Link rate 2000000 lane count 4
[15:33:33] [PASSED] Link rate 2000000 lane count 2
[15:33:33] [PASSED] Link rate 2000000 lane count 1
[15:33:33] [PASSED] Link rate 1350000 lane count 4
[15:33:33] [PASSED] Link rate 1350000 lane count 2
[15:33:33] [PASSED] Link rate 1350000 lane count 1
[15:33:33] [PASSED] Link rate 1000000 lane count 4
[15:33:33] [PASSED] Link rate 1000000 lane count 2
[15:33:33] [PASSED] Link rate 1000000 lane count 1
[15:33:33] [PASSED] Link rate 810000 lane count 4
[15:33:33] [PASSED] Link rate 810000 lane count 2
[15:33:33] [PASSED] Link rate 810000 lane count 1
[15:33:33] [PASSED] Link rate 540000 lane count 4
[15:33:33] [PASSED] Link rate 540000 lane count 2
[15:33:33] [PASSED] Link rate 540000 lane count 1
[15:33:33] [PASSED] Link rate 270000 lane count 4
[15:33:33] [PASSED] Link rate 270000 lane count 2
[15:33:33] [PASSED] Link rate 270000 lane count 1
[15:33:33] [PASSED] Link rate 162000 lane count 4
[15:33:33] [PASSED] Link rate 162000 lane count 2
[15:33:33] [PASSED] Link rate 162000 lane count 1
[15:33:33] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[15:33:33] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[15:33:33] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[15:33:33] [PASSED] DP_POWER_UP_PHY with port number
[15:33:33] [PASSED] DP_POWER_DOWN_PHY with port number
[15:33:33] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[15:33:33] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[15:33:33] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[15:33:33] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[15:33:33] [PASSED] DP_QUERY_PAYLOAD with port number
[15:33:33] [PASSED] DP_QUERY_PAYLOAD with VCPI
[15:33:33] [PASSED] DP_REMOTE_DPCD_READ with port number
[15:33:33] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[15:33:33] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[15:33:33] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[15:33:33] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[15:33:33] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[15:33:33] [PASSED] DP_REMOTE_I2C_READ with port number
[15:33:33] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[15:33:33] [PASSED] DP_REMOTE_I2C_READ with transactions array
[15:33:33] [PASSED] DP_REMOTE_I2C_WRITE with port number
[15:33:33] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[15:33:33] [PASSED] DP_REMOTE_I2C_WRITE with data array
[15:33:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[15:33:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[15:33:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[15:33:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[15:33:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[15:33:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[15:33:33] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[15:33:33] ================ [PASSED] drm_dp_mst_helper ================
[15:33:33] ================== drm_exec (7 subtests) ===================
[15:33:33] [PASSED] sanitycheck
[15:33:33] [PASSED] test_lock
[15:33:33] [PASSED] test_lock_unlock
[15:33:33] [PASSED] test_duplicates
[15:33:33] [PASSED] test_prepare
[15:33:33] [PASSED] test_prepare_array
[15:33:33] [PASSED] test_multiple_loops
[15:33:33] ==================== [PASSED] drm_exec =====================
[15:33:33] =========== drm_format_helper_test (17 subtests) ===========
[15:33:33] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[15:33:33] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[15:33:33] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[15:33:33] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[15:33:33] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[15:33:33] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[15:33:33] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[15:33:33] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[15:33:33] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[15:33:33] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[15:33:33] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[15:33:33] ============== drm_test_fb_xrgb8888_to_mono ===============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[15:33:33] ==================== drm_test_fb_swab =====================
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ================ [PASSED] drm_test_fb_swab =================
[15:33:33] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[15:33:33] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[15:33:33] [PASSED] single_pixel_source_buffer
[15:33:33] [PASSED] single_pixel_clip_rectangle
[15:33:33] [PASSED] well_known_colors
[15:33:33] [PASSED] destination_pitch
[15:33:33] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[15:33:33] ================= drm_test_fb_clip_offset =================
[15:33:33] [PASSED] pass through
[15:33:33] [PASSED] horizontal offset
[15:33:33] [PASSED] vertical offset
[15:33:33] [PASSED] horizontal and vertical offset
[15:33:33] [PASSED] horizontal offset (custom pitch)
[15:33:33] [PASSED] vertical offset (custom pitch)
[15:33:33] [PASSED] horizontal and vertical offset (custom pitch)
[15:33:33] ============= [PASSED] drm_test_fb_clip_offset =============
[15:33:33] =================== drm_test_fb_memcpy ====================
[15:33:33] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[15:33:33] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[15:33:33] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[15:33:33] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[15:33:33] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[15:33:33] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[15:33:33] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[15:33:33] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[15:33:33] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[15:33:33] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[15:33:33] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[15:33:33] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[15:33:33] =============== [PASSED] drm_test_fb_memcpy ================
[15:33:33] ============= [PASSED] drm_format_helper_test ==============
[15:33:33] ================= drm_format (18 subtests) =================
[15:33:33] [PASSED] drm_test_format_block_width_invalid
[15:33:33] [PASSED] drm_test_format_block_width_one_plane
[15:33:33] [PASSED] drm_test_format_block_width_two_plane
[15:33:33] [PASSED] drm_test_format_block_width_three_plane
[15:33:33] [PASSED] drm_test_format_block_width_tiled
[15:33:33] [PASSED] drm_test_format_block_height_invalid
[15:33:33] [PASSED] drm_test_format_block_height_one_plane
[15:33:33] [PASSED] drm_test_format_block_height_two_plane
[15:33:33] [PASSED] drm_test_format_block_height_three_plane
[15:33:33] [PASSED] drm_test_format_block_height_tiled
[15:33:33] [PASSED] drm_test_format_min_pitch_invalid
[15:33:33] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[15:33:33] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[15:33:33] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[15:33:33] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[15:33:33] [PASSED] drm_test_format_min_pitch_two_plane
[15:33:33] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[15:33:33] [PASSED] drm_test_format_min_pitch_tiled
[15:33:33] =================== [PASSED] drm_format ====================
[15:33:33] ============== drm_framebuffer (10 subtests) ===============
[15:33:33] ========== drm_test_framebuffer_check_src_coords ==========
[15:33:33] [PASSED] Success: source fits into fb
[15:33:33] [PASSED] Fail: overflowing fb with x-axis coordinate
[15:33:33] [PASSED] Fail: overflowing fb with y-axis coordinate
[15:33:33] [PASSED] Fail: overflowing fb with source width
[15:33:33] [PASSED] Fail: overflowing fb with source height
[15:33:33] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[15:33:33] [PASSED] drm_test_framebuffer_cleanup
[15:33:33] =============== drm_test_framebuffer_create ===============
[15:33:33] [PASSED] ABGR8888 normal sizes
[15:33:33] [PASSED] ABGR8888 max sizes
[15:33:33] [PASSED] ABGR8888 pitch greater than min required
[15:33:33] [PASSED] ABGR8888 pitch less than min required
[15:33:33] [PASSED] ABGR8888 Invalid width
[15:33:33] [PASSED] ABGR8888 Invalid buffer handle
[15:33:33] [PASSED] No pixel format
[15:33:33] [PASSED] ABGR8888 Width 0
[15:33:33] [PASSED] ABGR8888 Height 0
[15:33:33] [PASSED] ABGR8888 Out of bound height * pitch combination
[15:33:33] [PASSED] ABGR8888 Large buffer offset
[15:33:33] [PASSED] ABGR8888 Buffer offset for inexistent plane
[15:33:33] [PASSED] ABGR8888 Invalid flag
[15:33:33] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[15:33:33] [PASSED] ABGR8888 Valid buffer modifier
[15:33:33] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[15:33:33] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[15:33:33] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[15:33:33] [PASSED] NV12 Normal sizes
[15:33:33] [PASSED] NV12 Max sizes
[15:33:33] [PASSED] NV12 Invalid pitch
[15:33:33] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[15:33:33] [PASSED] NV12 different modifier per-plane
[15:33:33] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[15:33:33] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[15:33:33] [PASSED] NV12 Modifier for inexistent plane
[15:33:33] [PASSED] NV12 Handle for inexistent plane
[15:33:33] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[15:33:33] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[15:33:33] [PASSED] YVU420 Normal sizes
[15:33:33] [PASSED] YVU420 Max sizes
[15:33:33] [PASSED] YVU420 Invalid pitch
[15:33:33] [PASSED] YVU420 Different pitches
[15:33:33] [PASSED] YVU420 Different buffer offsets/pitches
[15:33:33] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[15:33:33] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[15:33:33] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[15:33:33] [PASSED] YVU420 Valid modifier
[15:33:33] [PASSED] YVU420 Different modifiers per plane
[15:33:33] [PASSED] YVU420 Modifier for inexistent plane
[15:33:33] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[15:33:33] [PASSED] X0L2 Normal sizes
[15:33:33] [PASSED] X0L2 Max sizes
[15:33:33] [PASSED] X0L2 Invalid pitch
[15:33:33] [PASSED] X0L2 Pitch greater than minimum required
[15:33:33] [PASSED] X0L2 Handle for inexistent plane
[15:33:33] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[15:33:33] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[15:33:33] [PASSED] X0L2 Valid modifier
[15:33:33] [PASSED] X0L2 Modifier for inexistent plane
[15:33:33] =========== [PASSED] drm_test_framebuffer_create ===========
[15:33:33] [PASSED] drm_test_framebuffer_free
[15:33:33] [PASSED] drm_test_framebuffer_init
[15:33:33] [PASSED] drm_test_framebuffer_init_bad_format
[15:33:33] [PASSED] drm_test_framebuffer_init_dev_mismatch
[15:33:33] [PASSED] drm_test_framebuffer_lookup
[15:33:33] [PASSED] drm_test_framebuffer_lookup_inexistent
[15:33:33] [PASSED] drm_test_framebuffer_modifiers_not_supported
[15:33:33] ================= [PASSED] drm_framebuffer =================
[15:33:33] ================ drm_gem_shmem (8 subtests) ================
[15:33:33] [PASSED] drm_gem_shmem_test_obj_create
[15:33:33] [PASSED] drm_gem_shmem_test_obj_create_private
[15:33:33] [PASSED] drm_gem_shmem_test_pin_pages
[15:33:33] [PASSED] drm_gem_shmem_test_vmap
[15:33:33] [PASSED] drm_gem_shmem_test_get_sg_table
[15:33:33] [PASSED] drm_gem_shmem_test_get_pages_sgt
[15:33:33] [PASSED] drm_gem_shmem_test_madvise
[15:33:33] [PASSED] drm_gem_shmem_test_purge
[15:33:33] ================== [PASSED] drm_gem_shmem ==================
[15:33:33] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[15:33:33] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[15:33:33] [PASSED] Automatic
[15:33:33] [PASSED] Full
[15:33:33] [PASSED] Limited 16:235
[15:33:33] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[15:33:33] [PASSED] drm_test_check_disable_connector
[15:33:33] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[15:33:33] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[15:33:33] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[15:33:33] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[15:33:33] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[15:33:33] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[15:33:33] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[15:33:33] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[15:33:33] [PASSED] drm_test_check_output_bpc_dvi
[15:33:33] [PASSED] drm_test_check_output_bpc_format_vic_1
[15:33:33] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[15:33:33] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[15:33:33] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[15:33:33] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[15:33:33] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[15:33:33] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[15:33:33] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[15:33:33] ============ drm_test_check_hdmi_color_format =============
[15:33:33] [PASSED] AUTO -> RGB
[15:33:33] [PASSED] YCBCR422 -> YUV422
[15:33:33] [PASSED] YCBCR420 -> YUV420
[15:33:33] [PASSED] YCBCR444 -> YUV444
[15:33:33] [PASSED] RGB -> RGB
[15:33:33] ======== [PASSED] drm_test_check_hdmi_color_format =========
[15:33:33] ======== drm_test_check_hdmi_color_format_420_only ========
[15:33:33] [PASSED] RGB should fail
[15:33:33] [PASSED] YUV444 should fail
[15:33:33] [PASSED] YUV422 should fail
[15:33:33] [PASSED] YUV420 should work
[15:33:33] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[15:33:33] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[15:33:33] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[15:33:33] [PASSED] drm_test_check_broadcast_rgb_value
[15:33:33] [PASSED] drm_test_check_bpc_8_value
[15:33:33] [PASSED] drm_test_check_bpc_10_value
[15:33:33] [PASSED] drm_test_check_bpc_12_value
[15:33:33] [PASSED] drm_test_check_format_value
[15:33:33] [PASSED] drm_test_check_tmds_char_value
[15:33:33] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[15:33:33] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[15:33:33] [PASSED] drm_test_check_mode_valid
[15:33:33] [PASSED] drm_test_check_mode_valid_reject
[15:33:33] [PASSED] drm_test_check_mode_valid_reject_rate
[15:33:33] [PASSED] drm_test_check_mode_valid_reject_max_clock
[15:33:33] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[15:33:33] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[15:33:33] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[15:33:33] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[15:33:33] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[15:33:33] [PASSED] drm_test_check_infoframes
[15:33:33] [PASSED] drm_test_check_reject_avi_infoframe
[15:33:33] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[15:33:33] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[15:33:33] [PASSED] drm_test_check_reject_audio_infoframe
[15:33:33] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[15:33:33] ================= drm_managed (2 subtests) =================
[15:33:33] [PASSED] drm_test_managed_release_action
[15:33:33] [PASSED] drm_test_managed_run_action
[15:33:33] =================== [PASSED] drm_managed ===================
[15:33:33] =================== drm_mm (6 subtests) ====================
[15:33:33] [PASSED] drm_test_mm_init
[15:33:33] [PASSED] drm_test_mm_debug
[15:33:33] [PASSED] drm_test_mm_align32
[15:33:33] [PASSED] drm_test_mm_align64
[15:33:33] [PASSED] drm_test_mm_lowest
[15:33:33] [PASSED] drm_test_mm_highest
[15:33:33] ===================== [PASSED] drm_mm ======================
[15:33:33] ============= drm_modes_analog_tv (5 subtests) =============
[15:33:33] [PASSED] drm_test_modes_analog_tv_mono_576i
[15:33:33] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[15:33:33] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[15:33:33] [PASSED] drm_test_modes_analog_tv_pal_576i
[15:33:33] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[15:33:33] =============== [PASSED] drm_modes_analog_tv ===============
[15:33:33] ============== drm_panic_helper (3 subtests) ===============
[15:33:33] ============= drm_test_panic_screen_user_map ==============
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[15:33:33] ========= [PASSED] drm_test_panic_screen_user_map ==========
[15:33:33] ============= drm_test_panic_screen_user_page =============
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[15:33:33] ========= [PASSED] drm_test_panic_screen_user_page =========
[15:33:33] ========== drm_test_panic_screen_user_set_pixel ===========
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[15:33:33] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[15:33:33] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[15:33:33] ====== [PASSED] drm_test_panic_screen_user_set_pixel =======
[15:33:33] ================ [PASSED] drm_panic_helper =================
[15:33:33] ============== drm_plane_helper (2 subtests) ===============
[15:33:33] =============== drm_test_check_plane_state ================
[15:33:33] [PASSED] clipping_simple
[15:33:33] [PASSED] clipping_rotate_reflect
[15:33:33] [PASSED] positioning_simple
[15:33:33] [PASSED] upscaling
[15:33:33] [PASSED] downscaling
[15:33:33] [PASSED] rounding1
[15:33:33] [PASSED] rounding2
[15:33:33] [PASSED] rounding3
[15:33:33] [PASSED] rounding4
[15:33:33] =========== [PASSED] drm_test_check_plane_state ============
[15:33:33] =========== drm_test_check_invalid_plane_state ============
[15:33:33] [PASSED] positioning_invalid
[15:33:33] [PASSED] upscaling_invalid
[15:33:33] [PASSED] downscaling_invalid
[15:33:33] ======= [PASSED] drm_test_check_invalid_plane_state ========
[15:33:33] ================ [PASSED] drm_plane_helper =================
[15:33:33] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[15:33:33] ====== drm_test_connector_helper_tv_get_modes_check =======
[15:33:33] [PASSED] None
[15:33:33] [PASSED] PAL
[15:33:33] [PASSED] NTSC
[15:33:33] [PASSED] Both, NTSC Default
[15:33:33] [PASSED] Both, PAL Default
[15:33:33] [PASSED] Both, NTSC Default, with PAL on command-line
[15:33:33] [PASSED] Both, PAL Default, with NTSC on command-line
[15:33:33] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[15:33:33] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[15:33:33] ================== drm_rect (9 subtests) ===================
[15:33:33] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[15:33:33] [PASSED] drm_test_rect_clip_scaled_not_clipped
[15:33:33] [PASSED] drm_test_rect_clip_scaled_clipped
[15:33:33] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[15:33:33] ================= drm_test_rect_intersect =================
[15:33:33] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[15:33:33] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[15:33:33] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[15:33:33] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[15:33:33] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[15:33:33] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[15:33:33] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[15:33:33] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[15:33:33] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[15:33:33] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[15:33:33] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[15:33:33] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[15:33:33] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[15:33:33] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[15:33:33] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[15:33:33] ============= [PASSED] drm_test_rect_intersect =============
[15:33:33] ================ drm_test_rect_calc_hscale ================
[15:33:33] [PASSED] normal use
[15:33:33] [PASSED] out of max range
[15:33:33] [PASSED] out of min range
[15:33:33] [PASSED] zero dst
[15:33:33] [PASSED] negative src
[15:33:33] [PASSED] negative dst
[15:33:33] ============ [PASSED] drm_test_rect_calc_hscale ============
[15:33:33] ================ drm_test_rect_calc_vscale ================
[15:33:33] [PASSED] normal use
[15:33:33] [PASSED] out of max range
[15:33:33] [PASSED] out of min range
[15:33:33] [PASSED] zero dst
[15:33:33] [PASSED] negative src
[15:33:33] [PASSED] negative dst
[15:33:33] ============ [PASSED] drm_test_rect_calc_vscale ============
[15:33:33] ================== drm_test_rect_rotate ===================
[15:33:33] [PASSED] reflect-x
[15:33:33] [PASSED] reflect-y
[15:33:33] [PASSED] rotate-0
[15:33:33] [PASSED] rotate-90
[15:33:33] [PASSED] rotate-180
[15:33:33] [PASSED] rotate-270
[15:33:33] ============== [PASSED] drm_test_rect_rotate ===============
[15:33:33] ================ drm_test_rect_rotate_inv =================
[15:33:33] [PASSED] reflect-x
[15:33:33] [PASSED] reflect-y
[15:33:33] [PASSED] rotate-0
[15:33:33] [PASSED] rotate-90
[15:33:33] [PASSED] rotate-180
[15:33:33] [PASSED] rotate-270
[15:33:33] ============ [PASSED] drm_test_rect_rotate_inv =============
[15:33:33] ==================== [PASSED] drm_rect =====================
[15:33:33] ============ drm_sysfb_modeset_test (1 subtest) ============
[15:33:33] ============ drm_test_sysfb_build_fourcc_list =============
[15:33:33] [PASSED] no native formats
[15:33:33] [PASSED] XRGB8888 as native format
[15:33:33] [PASSED] remove duplicates
[15:33:33] [PASSED] convert alpha formats
[15:33:33] [PASSED] random formats
[15:33:33] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[15:33:33] ============= [PASSED] drm_sysfb_modeset_test ==============
[15:33:33] ================== drm_fixp (2 subtests) ===================
[15:33:33] [PASSED] drm_test_int2fixp
[15:33:33] [PASSED] drm_test_sm2fixp
[15:33:33] ==================== [PASSED] drm_fixp =====================
[15:33:33] ============================================================
[15:33:33] Testing complete. Ran 667 tests: passed: 667
[15:33:33] Elapsed time: 27.308s total, 1.851s configuring, 25.041s building, 0.406s 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
[15:33:33] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:33:35] 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
[15:33:45] Starting KUnit Kernel (1/1)...
[15:33:45] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:33:45] ================= ttm_device (5 subtests) ==================
[15:33:45] [PASSED] ttm_device_init_basic
[15:33:45] [PASSED] ttm_device_init_multiple
[15:33:45] [PASSED] ttm_device_fini_basic
[15:33:45] [PASSED] ttm_device_init_no_vma_man
[15:33:45] ================== ttm_device_init_pools ==================
[15:33:45] [PASSED] No DMA allocations, no DMA32 required
[15:33:45] [PASSED] DMA allocations, DMA32 required
[15:33:45] [PASSED] No DMA allocations, DMA32 required
[15:33:45] [PASSED] DMA allocations, no DMA32 required
[15:33:45] ============== [PASSED] ttm_device_init_pools ==============
[15:33:45] =================== [PASSED] ttm_device ====================
[15:33:45] ================== ttm_pool (8 subtests) ===================
[15:33:45] ================== ttm_pool_alloc_basic ===================
[15:33:45] [PASSED] One page
[15:33:45] [PASSED] More than one page
[15:33:45] [PASSED] Above the allocation limit
[15:33:45] [PASSED] One page, with coherent DMA mappings enabled
[15:33:45] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[15:33:45] ============== [PASSED] ttm_pool_alloc_basic ===============
[15:33:45] ============== ttm_pool_alloc_basic_dma_addr ==============
[15:33:45] [PASSED] One page
[15:33:45] [PASSED] More than one page
[15:33:45] [PASSED] Above the allocation limit
[15:33:45] [PASSED] One page, with coherent DMA mappings enabled
[15:33:45] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[15:33:45] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[15:33:45] [PASSED] ttm_pool_alloc_order_caching_match
[15:33:45] [PASSED] ttm_pool_alloc_caching_mismatch
[15:33:45] [PASSED] ttm_pool_alloc_order_mismatch
[15:33:45] [PASSED] ttm_pool_free_dma_alloc
[15:33:45] [PASSED] ttm_pool_free_no_dma_alloc
[15:33:45] [PASSED] ttm_pool_fini_basic
[15:33:45] ==================== [PASSED] ttm_pool =====================
[15:33:45] ================ ttm_resource (8 subtests) =================
[15:33:45] ================= ttm_resource_init_basic =================
[15:33:45] [PASSED] Init resource in TTM_PL_SYSTEM
[15:33:45] [PASSED] Init resource in TTM_PL_VRAM
[15:33:45] [PASSED] Init resource in a private placement
[15:33:45] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[15:33:45] ============= [PASSED] ttm_resource_init_basic =============
[15:33:45] [PASSED] ttm_resource_init_pinned
[15:33:45] [PASSED] ttm_resource_fini_basic
[15:33:45] [PASSED] ttm_resource_manager_init_basic
[15:33:45] [PASSED] ttm_resource_manager_usage_basic
[15:33:45] [PASSED] ttm_resource_manager_set_used_basic
[15:33:45] [PASSED] ttm_sys_man_alloc_basic
[15:33:45] [PASSED] ttm_sys_man_free_basic
[15:33:45] ================== [PASSED] ttm_resource ===================
[15:33:45] =================== ttm_tt (15 subtests) ===================
[15:33:45] ==================== ttm_tt_init_basic ====================
[15:33:45] [PASSED] Page-aligned size
[15:33:45] [PASSED] Extra pages requested
[15:33:45] ================ [PASSED] ttm_tt_init_basic ================
[15:33:45] [PASSED] ttm_tt_init_misaligned
[15:33:45] [PASSED] ttm_tt_fini_basic
[15:33:45] [PASSED] ttm_tt_fini_sg
[15:33:45] [PASSED] ttm_tt_fini_shmem
[15:33:45] [PASSED] ttm_tt_create_basic
[15:33:45] [PASSED] ttm_tt_create_invalid_bo_type
[15:33:45] [PASSED] ttm_tt_create_ttm_exists
[15:33:45] [PASSED] ttm_tt_create_failed
[15:33:45] [PASSED] ttm_tt_destroy_basic
[15:33:45] [PASSED] ttm_tt_populate_null_ttm
[15:33:45] [PASSED] ttm_tt_populate_populated_ttm
[15:33:45] [PASSED] ttm_tt_unpopulate_basic
[15:33:45] [PASSED] ttm_tt_unpopulate_empty_ttm
[15:33:45] [PASSED] ttm_tt_swapin_basic
[15:33:45] ===================== [PASSED] ttm_tt ======================
[15:33:45] =================== ttm_bo (14 subtests) ===================
[15:33:45] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[15:33:45] [PASSED] Cannot be interrupted and sleeps
[15:33:45] [PASSED] Cannot be interrupted, locks straight away
[15:33:45] [PASSED] Can be interrupted, sleeps
[15:33:45] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[15:33:45] [PASSED] ttm_bo_reserve_locked_no_sleep
[15:33:45] [PASSED] ttm_bo_reserve_no_wait_ticket
[15:33:45] [PASSED] ttm_bo_reserve_double_resv
[15:33:45] [PASSED] ttm_bo_reserve_interrupted
[15:33:45] [PASSED] ttm_bo_reserve_deadlock
[15:33:45] [PASSED] ttm_bo_unreserve_basic
[15:33:45] [PASSED] ttm_bo_unreserve_pinned
[15:33:45] [PASSED] ttm_bo_unreserve_bulk
[15:33:45] [PASSED] ttm_bo_fini_basic
[15:33:45] [PASSED] ttm_bo_fini_shared_resv
[15:33:45] [PASSED] ttm_bo_pin_basic
[15:33:45] [PASSED] ttm_bo_pin_unpin_resource
[15:33:45] [PASSED] ttm_bo_multiple_pin_one_unpin
[15:33:45] ===================== [PASSED] ttm_bo ======================
[15:33:45] ============== ttm_bo_validate (22 subtests) ===============
[15:33:45] ============== ttm_bo_init_reserved_sys_man ===============
[15:33:45] [PASSED] Buffer object for userspace
[15:33:45] [PASSED] Kernel buffer object
[15:33:45] [PASSED] Shared buffer object
[15:33:45] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[15:33:45] ============== ttm_bo_init_reserved_mock_man ==============
[15:33:45] [PASSED] Buffer object for userspace
[15:33:45] [PASSED] Kernel buffer object
[15:33:45] [PASSED] Shared buffer object
[15:33:45] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[15:33:45] [PASSED] ttm_bo_init_reserved_resv
[15:33:45] ================== ttm_bo_validate_basic ==================
[15:33:45] [PASSED] Buffer object for userspace
[15:33:45] [PASSED] Kernel buffer object
[15:33:45] [PASSED] Shared buffer object
[15:33:45] ============== [PASSED] ttm_bo_validate_basic ==============
[15:33:45] [PASSED] ttm_bo_validate_invalid_placement
[15:33:45] ============= ttm_bo_validate_same_placement ==============
[15:33:45] [PASSED] System manager
[15:33:45] [PASSED] VRAM manager
[15:33:45] ========= [PASSED] ttm_bo_validate_same_placement ==========
[15:33:45] [PASSED] ttm_bo_validate_failed_alloc
[15:33:45] [PASSED] ttm_bo_validate_pinned
[15:33:45] [PASSED] ttm_bo_validate_busy_placement
[15:33:45] ================ ttm_bo_validate_multihop =================
[15:33:45] [PASSED] Buffer object for userspace
[15:33:45] [PASSED] Kernel buffer object
[15:33:45] [PASSED] Shared buffer object
[15:33:45] ============ [PASSED] ttm_bo_validate_multihop =============
[15:33:45] ========== ttm_bo_validate_no_placement_signaled ==========
[15:33:45] [PASSED] Buffer object in system domain, no page vector
[15:33:45] [PASSED] Buffer object in system domain with an existing page vector
[15:33:45] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[15:33:45] ======== ttm_bo_validate_no_placement_not_signaled ========
[15:33:45] [PASSED] Buffer object for userspace
[15:33:45] [PASSED] Kernel buffer object
[15:33:45] [PASSED] Shared buffer object
[15:33:45] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[15:33:45] [PASSED] ttm_bo_validate_move_fence_signaled
[15:33:45] ========= ttm_bo_validate_move_fence_not_signaled =========
[15:33:45] [PASSED] Waits for GPU
[15:33:45] [PASSED] Tries to lock straight away
[15:33:45] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[15:33:45] [PASSED] ttm_bo_validate_swapout
[15:33:45] [PASSED] ttm_bo_validate_happy_evict
[15:33:45] [PASSED] ttm_bo_validate_all_pinned_evict
[15:33:45] [PASSED] ttm_bo_validate_allowed_only_evict
[15:33:45] [PASSED] ttm_bo_validate_deleted_evict
[15:33:45] [PASSED] ttm_bo_validate_busy_domain_evict
[15:33:45] [PASSED] ttm_bo_validate_evict_gutting
[15:33:45] [PASSED] ttm_bo_validate_recrusive_evict
[15:33:45] ================= [PASSED] ttm_bo_validate =================
[15:33:45] ============================================================
[15:33:45] Testing complete. Ran 102 tests: passed: 102
[15:33:45] Elapsed time: 12.202s total, 1.844s configuring, 10.143s building, 0.183s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[15:33:45] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:33:47] 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
[15:33:56] Starting KUnit Kernel (1/1)...
[15:33:56] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:33:56] =============== dma-buf-fence (12 subtests) ================
[15:33:56] [PASSED] test_sanitycheck
[15:33:56] [PASSED] test_signaling
[15:33:56] [PASSED] test_add_callback
[15:33:56] [PASSED] test_late_add_callback
[15:33:56] [PASSED] test_rm_callback
[15:33:56] [PASSED] test_late_rm_callback
[15:33:56] [PASSED] test_status
[15:33:56] [PASSED] test_error
[15:33:56] [PASSED] test_wait
[15:33:56] [PASSED] test_wait_timeout
[15:33:56] [PASSED] test_stub
[15:33:56] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[15:33:56] ================== [PASSED] dma-buf-fence ==================
[15:33:56] ============ dma-buf-fence-chain (11 subtests) =============
[15:33:56] [PASSED] test_sanitycheck
[15:33:56] [PASSED] test_find_seqno
[15:33:56] [PASSED] test_find_signaled
[15:33:56] [PASSED] test_find_out_of_order
[15:34:01] [PASSED] test_find_gap
[15:34:01] [PASSED] test_find_race
[15:34:01] [PASSED] test_signal_forward
[15:34:01] [PASSED] test_signal_backward
[15:34:01] [PASSED] test_wait_forward
[15:34:01] [PASSED] test_wait_backward
[15:34:01] [PASSED] test_wait_random
[15:34:01] =============== [PASSED] dma-buf-fence-chain ===============
[15:34:01] ============ dma-buf-fence-unwrap (10 subtests) ============
[15:34:01] [PASSED] test_sanitycheck
[15:34:01] [PASSED] test_unwrap_array
[15:34:01] [PASSED] test_unwrap_chain
[15:34:01] [PASSED] test_unwrap_chain_array
[15:34:01] [PASSED] test_unwrap_merge
[15:34:01] [PASSED] test_unwrap_merge_duplicate
[15:34:01] [PASSED] test_unwrap_merge_seqno
[15:34:01] [PASSED] test_unwrap_merge_order
[15:34:01] [PASSED] test_unwrap_merge_complex
[15:34:01] [PASSED] test_unwrap_merge_complex_seqno
[15:34:01] ============== [PASSED] dma-buf-fence-unwrap ===============
[15:34:01] ================ dma-buf-resv (5 subtests) =================
[15:34:01] [PASSED] test_sanitycheck
[15:34:01] ===================== test_signaling ======================
[15:34:01] [PASSED] kernel
[15:34:01] [PASSED] write
[15:34:01] [PASSED] read
[15:34:01] [PASSED] bookkeep
[15:34:01] ================= [PASSED] test_signaling ==================
[15:34:01] ====================== test_for_each ======================
[15:34:01] [PASSED] kernel
[15:34:01] [PASSED] write
[15:34:01] [PASSED] read
[15:34:01] [PASSED] bookkeep
[15:34:01] ================== [PASSED] test_for_each ==================
[15:34:01] ================= test_for_each_unlocked ==================
[15:34:01] [PASSED] kernel
[15:34:01] [PASSED] write
[15:34:01] [PASSED] read
[15:34:01] [PASSED] bookkeep
[15:34:01] ============= [PASSED] test_for_each_unlocked ==============
[15:34:01] ===================== test_get_fences =====================
[15:34:01] [PASSED] kernel
[15:34:01] [PASSED] write
[15:34:01] [PASSED] read
[15:34:01] [PASSED] bookkeep
[15:34:01] ================= [PASSED] test_get_fences =================
[15:34:01] ================== [PASSED] dma-buf-resv ===================
[15:34:01] ============================================================
[15:34:01] Testing complete. Ran 50 tests: passed: 49, skipped: 1
[15:34:01] Elapsed time: 15.838s total, 1.821s configuring, 8.746s building, 5.253s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v7 2/3] drm/xe/guc: Protect timeout handling from device unplug
2026-10-13 15:24 ` [PATCH v7 2/3] drm/xe/guc: Protect timeout handling from device unplug Satyanarayana K V P
@ 2026-10-13 15:40 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-10-13 15:40 UTC (permalink / raw)
To: Satyanarayana K V P, intel-xe
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] drm/xe/guc: memory leak of xe_sched_job when timeout handler returns NO_HANG
--
commit 178ee20625b5c3cfd23b5dbaf2b17c6d37fd5010
Author: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
drm/xe/guc: Protect timeout handling from device unplug
This commit guards the GuC scheduler timeout callback with drm_dev_enter()
and drm_dev_exit() to ensure device unplug waits for in-flight timeout
handling. If the unplug has already started, it sets the job error to
-ENODEV and returns it to the scheduler for cleanup.
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index 7ce73489c35fc..e0a3ce6015e02 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
[ ... ]
> @@ -1614,6 +1615,11 @@ guc_exec_queue_timedout_job(struct drm_sched_job *drm_job)
> vf_recovery(guc))
> return DRM_GPU_SCHED_STAT_NO_HANG;
>
> + if (!drm_dev_enter(&xe->drm, &idx)) {
> + xe_sched_job_set_error(job, -ENODEV);
> + return DRM_GPU_SCHED_STAT_NO_HANG;
> + }
[Severity: High]
Does returning DRM_GPU_SCHED_STAT_NO_HANG here cause a permanent memory
leak of the xe_sched_job?
When drm_dev_enter() fails, the timeout handler returns NO_HANG, which
causes the DRM scheduler to reinsert the job into sched->pending_list.
The unplug thread then destroys the queue, calling drm_sched_fini(),
which cancels the asynchronous work_free_job using cancel_work_sync().
Because the Xe driver does not implement the cancel_job callback in its
drm_sched_ops:
static const struct drm_sched_backend_ops drm_sched_ops = {
.run_job = guc_exec_queue_run_job,
.free_job = guc_exec_queue_free_job,
.timedout_job = guc_exec_queue_timedout_job,
};
drm_sched_fini() does not free the remaining jobs in pending_list. The
jobs are permanently leaked, accompanied by a "Tearing down scheduler
while jobs are pending" warning.
As a quick note, a use-after-free concern regarding job->q here would
be structurally impossible, because guc_exec_queue_do_destroy() calls
cancel_delayed_work_sync(&work_tdr), strictly serializing queue teardown
against the timeout handler.
> +
> /* Kill the run_job entry point */
> if (xe_exec_queue_is_multi_queue(q))
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261013152417.3189567-5-satyanarayana.k.v.p@intel.com?part=2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v7 1/3] drm/xe: Prevent VF memory IRQ from accessing a torn-down engine
2026-10-13 15:24 ` [PATCH v7 1/3] drm/xe: Prevent VF memory IRQ from accessing a torn-down engine Satyanarayana K V P
@ 2026-10-13 15:46 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-10-13 15:46 UTC (permalink / raw)
To: Satyanarayana K V P, intel-xe
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] drm/xe: TOCTOU NULL pointer deref in query_engine_cycles() during unplug
--
commit f3434e1999c04ac6bc30530fad97ca5ad34cad2a
Author: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
drm/xe: Prevent VF memory IRQ from accessing a torn-down engine
This commit invalidates the engine name during engine teardown in
hw_engine_fini() to prevent a NULL pointer dereference in IRQ handlers.
By clearing hwe->name, subsequent engine scans will skip the torn-down
engine.
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
> index 265f95c0c8993..55ee0c892c1e8 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> @@ -275,11 +275,22 @@ static const struct engine_info engine_infos[] = {
> static void hw_engine_fini(void *arg)
> {
> struct xe_hw_engine *hwe = arg;
> + struct xe_gt *gt = hwe->gt;
> +
> + if (gt) {
> + struct xe_device *xe = gt_to_xe(gt);
> + unsigned long flags;
>
> - if (hwe->exl_port)
> - xe_execlist_port_destroy(hwe->exl_port);
> + if (hwe->exl_port)
> + xe_execlist_port_destroy(hwe->exl_port);
>
> - hwe->gt = NULL;
> + spin_lock_irqsave(&xe->irq.lock, flags);
> + hwe->name = NULL;
> + hwe->gt = NULL;
> + spin_unlock_irqrestore(&xe->irq.lock, flags);
[Severity: High]
Does this still leave a TOCTOU NULL pointer dereference in
query_engine_cycles() during device unplug?
Device removal (e.g., driver unbind or PCI unplug) invokes
xe_device_remove(), which calls drm_dev_unplug().
Since drm_dev_unplug() waits only for SRCU readers that called
drm_dev_enter(), and neither xe_drm_ioctl() nor query_engine_cycles()
uses drm_dev_enter(), the IOCTL can execute concurrently with the devres
teardown phase.
If hw_engine_fini() runs concurrently, it clears hwe->gt = NULL while
holding xe->irq.lock.
Concurrently, query_engine_cycles() can retrieve the engine via
xe_gt_hw_engine() just before hwe->name is cleared, and then call
hwe_read_timestamp():
drivers/gpu/drm/xe/xe_query.c:query_engine_cycles() {
hwe = xe_gt_hw_engine(gt, user_to_xe_engine_class[eci->engine_class],
eci->engine_instance, true);
if (!hwe)
return -EINVAL;
fw_domain = xe_hw_engine_to_fw_domain(hwe);
xe_with_force_wake(fw_ref, gt_to_fw(gt), fw_domain) {
if (!xe_force_wake_ref_has_domain(fw_ref.domains, fw_domain))
return -EIO;
hwe_read_timestamp(hwe, &resp.engine_cycles, &resp.cpu_timestamp,
&resp.cpu_delta, cpu_clock);
}
}
Inside hwe_read_timestamp(), it dereferences hwe->gt without taking
xe->irq.lock:
drivers/gpu/drm/xe/xe_query.c:hwe_read_timestamp() {
struct xe_mmio *mmio = &hwe->gt->mmio;
...
}
Can this lead to a NULL pointer dereference crash, allowing a local DoS by
triggering driver unbind while executing the query IOCTL?
> + } else {
> + hwe->name = NULL;
> + }
> }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261013152417.3189567-5-satyanarayana.k.v.p@intel.com?part=1
^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ Xe.CI.BAT: success for Fix kernel crash during driver teardown (rev8)
2026-10-13 15:24 [PATCH v7 0/3] Fix kernel crash during driver teardown Satyanarayana K V P
` (3 preceding siblings ...)
2026-10-13 15:34 ` ✓ CI.KUnit: success for Fix kernel crash during driver teardown (rev8) Patchwork
@ 2026-10-13 20:40 ` Patchwork
4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2026-10-13 20:40 UTC (permalink / raw)
To: Satyanarayana K V P; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1098 bytes --]
== Series Details ==
Series: Fix kernel crash during driver teardown (rev8)
URL : https://patchwork.freedesktop.org/series/175766/
State : success
== Summary ==
CI Bug Log - changes from xe-5939-eb1bf4700d3b25a1a1e670ef31cc06969fa08019_BAT -> xe-pw-175766v8_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (15 -> 15)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* IGT: IGT_9142 -> IGT_9143
* Linux: xe-5939-eb1bf4700d3b25a1a1e670ef31cc06969fa08019 -> xe-pw-175766v8
IGT_9142: 3d96cd832d6f1dd9625bce109944a31c98fe88f8 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_9143: 992e2bc5d5fcaef292ea89e3db5cb7a50b6edfc2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5939-eb1bf4700d3b25a1a1e670ef31cc06969fa08019: eb1bf4700d3b25a1a1e670ef31cc06969fa08019
xe-pw-175766v8: 175766v8
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-175766v8/index.html
[-- Attachment #2: Type: text/html, Size: 1660 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-10-13 20:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-13 15:24 [PATCH v7 0/3] Fix kernel crash during driver teardown Satyanarayana K V P
2026-10-13 15:24 ` [PATCH v7 1/3] drm/xe: Prevent VF memory IRQ from accessing a torn-down engine Satyanarayana K V P
2026-10-13 15:46 ` sashiko-bot
2026-10-13 15:24 ` [PATCH v7 2/3] drm/xe/guc: Protect timeout handling from device unplug Satyanarayana K V P
2026-10-13 15:40 ` sashiko-bot
2026-10-13 15:24 ` [PATCH v7 3/3] drm/xe/gt: Disable GT reset worker before engine teardown Satyanarayana K V P
2026-10-13 15:34 ` ✓ CI.KUnit: success for Fix kernel crash during driver teardown (rev8) Patchwork
2026-10-13 20:40 ` ✓ Xe.CI.BAT: " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.