* [PATCH v2 1/2] drm/xe/vf: Late fixups of LRCs after VF migration
2026-11-06 15:56 [PATCH v2 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
@ 2026-11-06 15:56 ` Tomasz Lis
2026-11-06 16:26 ` sashiko-bot
2026-11-06 15:56 ` [PATCH v2 2/2] drm/xe: After VF migration, repeat BO mapping in progress Tomasz Lis
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Tomasz Lis @ 2026-11-06 15:56 UTC (permalink / raw)
To: intel-xe
Cc: Matthew Brost, Michał Winiarski, Piotr Piórkowski,
Satyanarayana K V P, Adam Miszczak
Do not fix LRCs of existing contexts during VF post-migration
recovery. Instead, perform fixups before every exec queue
registration.
This introduces a minor extra work during context registration,
but also decreases the amount of work required to be finished
during post-migration recovery.
To mitigate issues with concurrent registrations, the scratch buffer
required for LRC fixups is now protected by a mutex.
v2: Just a rebase - getting back to the subject after 6 months.
Suggested-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
Tested-by: Adam Miszczak <adam.miszczak@linux.intel.com> (v1)
---
drivers/gpu/drm/xe/xe_exec_queue.c | 28 +++++++++++++++---
drivers/gpu/drm/xe/xe_exec_queue.h | 2 +-
drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 6 ++--
drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 2 ++
drivers/gpu/drm/xe/xe_guc_submit.c | 35 ++++-------------------
drivers/gpu/drm/xe/xe_guc_submit.h | 2 --
6 files changed, 35 insertions(+), 40 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 7ade915c59a8..23fd0f6cba7f 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -1865,15 +1865,14 @@ void xe_exec_queue_tlb_inval_last_fence_set(struct xe_exec_queue *q,
q->tlb_inval[idx].last_fence = dma_fence_get(fence);
}
-/**
- * xe_exec_queue_contexts_hwsp_rebase - Re-compute GGTT references
- * within all LRCs of a queue.
+/*
+ * Re-compute GGTT references within all LRCs of a queue.
* @q: the &xe_exec_queue struct instance containing target LRCs
* @scratch: scratch buffer to be used as temporary storage
*
* Returns: zero on success, negative error code on failure
*/
-int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch)
+static int xe_exec_queue_lrcs_hwsp_rebase_with_scratch(struct xe_exec_queue *q, void *scratch)
{
int i;
int err = 0;
@@ -1895,3 +1894,24 @@ int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch)
return err;
}
+
+/**
+ * xe_exec_queue_lrcs_hwsp_rebase - Re-compute GGTT references
+ * within all LRCs of a queue, using migration scratch.
+ * @q: the &xe_exec_queue struct instance containing target LRCs
+ *
+ * Returns: zero on success, negative error code on failure
+ */
+int xe_exec_queue_lrcs_hwsp_rebase(struct xe_exec_queue *q)
+{
+ struct xe_gt *gt = q->gt;
+ int err;
+
+ xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt)));
+
+ mutex_lock(>->sriov.vf.migration.scratch_lock);
+ err = xe_exec_queue_lrcs_hwsp_rebase_with_scratch(q, gt->sriov.vf.migration.scratch);
+ mutex_unlock(>->sriov.vf.migration.scratch_lock);
+
+ return err;
+}
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
index e8963f85cabd..fbc74d821e63 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
@@ -157,7 +157,7 @@ void xe_exec_queue_tlb_inval_last_fence_set(struct xe_exec_queue *q,
void xe_exec_queue_update_run_ticks(struct xe_exec_queue *q);
-int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch);
+int xe_exec_queue_lrcs_hwsp_rebase(struct xe_exec_queue *q);
struct xe_lrc *xe_exec_queue_lrc(struct xe_exec_queue *q);
struct xe_lrc *xe_exec_queue_get_lrc(struct xe_exec_queue *q, u16 idx);
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
index 2a5f2064ad3e..f8c03b741b08 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
@@ -1319,7 +1319,6 @@ static size_t post_migration_scratch_size(struct xe_device *xe)
static int vf_post_migration_fixups(struct xe_gt *gt)
{
- void *buf = gt->sriov.vf.migration.scratch;
int err;
VF_MIGRATION_INJECT_WAIT(gt, FIXUPS);
@@ -1333,9 +1332,6 @@ static int vf_post_migration_fixups(struct xe_gt *gt)
xe_sriov_vf_ccs_rebase(gt_to_xe(gt));
xe_gt_sriov_vf_default_lrcs_hwsp_rebase(gt);
- err = xe_guc_contexts_hwsp_rebase(>->uc.guc, buf);
- if (err)
- return err;
atomic_inc(>->sriov.vf.migration.fixups_complete_count);
@@ -1488,6 +1484,7 @@ static void vf_migration_fini(void *arg)
spin_unlock_irq(>->sriov.vf.migration.lock);
cancel_work_sync(>->sriov.vf.migration.worker);
+ mutex_destroy(>->sriov.vf.migration.scratch_lock);
}
/**
@@ -1509,6 +1506,7 @@ int xe_gt_sriov_vf_init_early(struct xe_gt *gt)
if (!buf)
return -ENOMEM;
+ mutex_init(>->sriov.vf.migration.scratch_lock);
gt->sriov.vf.migration.scratch = buf;
spin_lock_init(>->sriov.vf.migration.lock);
INIT_WORK(>->sriov.vf.migration.worker, migration_worker_func);
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
index 466f0abd9c28..443377b40a94 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
@@ -56,6 +56,8 @@ struct xe_gt_sriov_vf_migration {
spinlock_t lock;
/** @wq: wait queue for migration fixes */
wait_queue_head_t wq;
+ /** @scratch_lock: Mutex lock to serilize scratch buffer use */
+ struct mutex scratch_lock;
/** @scratch: Scratch memory for VF recovery */
void *scratch;
/** @fixups_complete_count: Counts completed fixups stages */
diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
index b14b37b767f5..f04797f4f1c2 100644
--- a/drivers/gpu/drm/xe/xe_guc_submit.c
+++ b/drivers/gpu/drm/xe/xe_guc_submit.c
@@ -47,6 +47,7 @@
#include "xe_ring_ops_types.h"
#include "xe_sched_job.h"
#include "xe_sleep.h"
+#include "xe_sriov_vf.h"
#include "xe_trace.h"
#include "xe_uc_fw.h"
#include "xe_vm.h"
@@ -1033,6 +1034,9 @@ static void register_exec_queue(struct xe_exec_queue *q, int ctx_type)
xe_gt_assert(guc_to_gt(guc), !exec_queue_registered(q));
xe_gt_assert(guc_to_gt(guc), ctx_type < GUC_CONTEXT_COUNT);
+ if (IS_SRIOV_VF(xe) && xe_sriov_vf_migration_supported(xe))
+ xe_exec_queue_lrcs_hwsp_rebase(q);
+
memset(&info, 0, sizeof(info));
info.context_idx = q->guc->id;
info.engine_class = xe_hwe_to_guc_class(q->hwe);
@@ -3141,6 +3145,8 @@ static void guc_exec_queue_unpause_prepare(struct xe_guc *guc,
struct drm_sched_job *s_job;
bool restore_replay = false;
+ if (exec_queue_registered(q))
+ xe_exec_queue_lrcs_hwsp_rebase(q);
drm_sched_for_each_pending_job(s_job, &sched->base, NULL) {
job = to_xe_sched_job(s_job);
restore_replay |= job->restore_replay;
@@ -4088,32 +4094,3 @@ u32 xe_guc_submit_active_multi_queue_lrca(struct xe_guc *guc,
return lrca;
}
-
-/**
- * xe_guc_contexts_hwsp_rebase - Re-compute GGTT references within all
- * exec queues registered to given GuC.
- * @guc: the &xe_guc struct instance
- * @scratch: scratch buffer to be used as temporary storage
- *
- * Returns: zero on success, negative error code on failure.
- */
-int xe_guc_contexts_hwsp_rebase(struct xe_guc *guc, void *scratch)
-{
- struct xe_exec_queue *q;
- unsigned long index;
- int err = 0;
-
- mutex_lock(&guc->submission_state.lock);
- xa_for_each(&guc->submission_state.exec_queue_lookup, index, q) {
- /* Prevent redundant attempts to stop parallel queues */
- if (q->guc->id != index)
- continue;
-
- err = xe_exec_queue_contexts_hwsp_rebase(q, scratch);
- if (err)
- break;
- }
- mutex_unlock(&guc->submission_state.lock);
-
- return err;
-}
diff --git a/drivers/gpu/drm/xe/xe_guc_submit.h b/drivers/gpu/drm/xe/xe_guc_submit.h
index 7a81d0aa19bb..9c72ff5fa62e 100644
--- a/drivers/gpu/drm/xe/xe_guc_submit.h
+++ b/drivers/gpu/drm/xe/xe_guc_submit.h
@@ -60,6 +60,4 @@ u32 xe_guc_submit_active_multi_queue_lrca(struct xe_guc *guc,
struct xe_hw_engine *hwe,
u32 cur_lrca, u32 active_id);
-int xe_guc_contexts_hwsp_rebase(struct xe_guc *guc, void *scratch);
-
#endif
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v2 1/2] drm/xe/vf: Late fixups of LRCs after VF migration
2026-11-06 15:56 ` [PATCH v2 1/2] drm/xe/vf: Late fixups of LRCs after VF migration Tomasz Lis
@ 2026-11-06 16:26 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-11-06 16:26 UTC (permalink / raw)
To: Tomasz Lis, intel-xe
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] drm/xe/vf: premature mutex_destroy() of scratch_lock in
vf_migration_fini()
--
commit 3d0fd68d1f87ea2f30e131438f2016a4f50af378
Author: Tomasz Lis <tomasz.lis@intel.com>
drm/xe/vf: Late fixups of LRCs after VF migration
This commit moves VF LRC HWSP rebasing from the post-migration recovery
worker to exec queue registration and unpause preparation, protecting the
shared migration scratch buffer with a mutex.
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> index 2a5f2064ad3e8..f8c03b741b084 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
[ ... ]
> @@ -1488,6 +1484,7 @@ static void vf_migration_fini(void *arg)
> spin_unlock_irq(>->sriov.vf.migration.lock);
>
> cancel_work_sync(>->sriov.vf.migration.worker);
> + mutex_destroy(>->sriov.vf.migration.scratch_lock);
> }
>
> /**
> @@ -1509,6 +1506,7 @@ int xe_gt_sriov_vf_init_early(struct xe_gt *gt)
> if (!buf)
> return -ENOMEM;
>
> + mutex_init(>->sriov.vf.migration.scratch_lock);
> gt->sriov.vf.migration.scratch = buf;
[Severity: Medium]
Can vf_migration_fini() destroy scratch_lock while GuC DRM scheduler
workers are still registering exec queues?
xe_gt_sriov_vf_init() registers vf_migration_fini() with devm at the end
of xe_gt_init(), after xe_guc_submit_init() registers guc_submit_fini().
During device unbind or unload, devres runs vf_migration_fini() before
guc_submit_fini() stops the GuC schedulers:
CPU0 CPU1 (DRM sched worker)
vf_migration_fini()
cancel_work_sync(&...worker)
mutex_destroy(&...scratch_lock)
guc_exec_queue_run_job()
register_exec_queue()
xe_exec_queue_lrcs_hwsp_rebase()
mutex_lock(&...scratch_lock)
<-- locks destroyed mutex
guc_submit_fini()
Also, if probe fails between xe_gt_sriov_vf_init_early() and
xe_gt_sriov_vf_init(), vf_migration_fini() is never registered and
scratch_lock is not destroyed. Initializing scratch_lock with
drmm_mutex_init() in xe_gt_sriov_vf_init_early() would match the drmm
lifetime of migration.scratch and guc->submission_state.lock.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261106155615.977330-1-tomasz.lis@intel.com?part=1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] drm/xe: After VF migration, repeat BO mapping in progress
2026-11-06 15:56 [PATCH v2 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
2026-11-06 15:56 ` [PATCH v2 1/2] drm/xe/vf: Late fixups of LRCs after VF migration Tomasz Lis
@ 2026-11-06 15:56 ` Tomasz Lis
2026-11-06 16:46 ` sashiko-bot
2026-11-06 16:53 ` ✓ CI.KUnit: success for drm/xe/vf: New approach for post-migration LRC fixups (rev2) Patchwork
2026-11-06 17:34 ` ✗ Xe.CI.BAT: failure " Patchwork
3 siblings, 1 reply; 7+ messages in thread
From: Tomasz Lis @ 2026-11-06 15:56 UTC (permalink / raw)
To: intel-xe
Cc: Matthew Brost, Michał Winiarski, Piotr Piórkowski,
Satyanarayana K V P, Adam Miszczak
If VF migration happens during BO mapping, it is possible
that some PTE values were not written at the correct place.
This can happen because GGTT range, and therefore range of
assigned PTEs, have changed during the migration.
Restoring VF state on PF side will ensure that any PTEs
already set within the previous VM are moved to correct
positions, but if VM was paused and migrated while setting
PTEs, it will continue the loop at the old position. The
GGTT base address is used to select which PTEs to write,
so setting them again needs to wait until the post-migration
recovery procedure updates the GGTT base.
Previously, LRC creation was repeated. This means only BOs
that were part of exec queues were properly protected from
VF migration. With this change, as the redo is moved to BO
creation, all BOs are protected.
v2: Removed memirq safety check - looking at current memirq init,
no extra check should be necessary.
Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
Tested-by: Adam Miszczak <adam.miszczak@linux.intel.com> (v1)
---
drivers/gpu/drm/xe/xe_exec_queue.c | 27 ++++++++-------------------
drivers/gpu/drm/xe/xe_ggtt.c | 17 +++++++++++++++++
2 files changed, 25 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 23fd0f6cba7f..ed24b11fdb90 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -431,28 +431,17 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
* from the moment vCPU resumes execution.
*/
for (i = 0; i < q->width; ++i) {
- struct xe_lrc *__lrc = NULL;
- int marker;
- do {
- struct xe_lrc *lrc;
-
- marker = xe_gt_sriov_vf_wait_valid_ggtt(q->gt);
-
- lrc = xe_lrc_create(q->hwe, q->vm, q->replay_state,
- xe_lrc_ring_size(), q->msix_vec, flags);
- if (IS_ERR(lrc)) {
- err = PTR_ERR(lrc);
- goto err_lrc;
- }
-
- xe_exec_queue_set_lrc(q, lrc, i);
+ struct xe_lrc *lrc;
- if (__lrc)
- xe_lrc_put(__lrc);
- __lrc = lrc;
+ lrc = xe_lrc_create(q->hwe, q->vm, q->replay_state,
+ xe_lrc_ring_size(), q->msix_vec, flags);
+ if (IS_ERR(lrc)) {
+ err = PTR_ERR(lrc);
+ goto err_lrc;
+ }
- } while (marker != xe_vf_migration_fixups_complete_count(q->gt));
+ xe_exec_queue_set_lrc(q, lrc, i);
}
return 0;
diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c
index 9ef2ce743770..6508d301a082 100644
--- a/drivers/gpu/drm/xe/xe_ggtt.c
+++ b/drivers/gpu/drm/xe/xe_ggtt.c
@@ -22,6 +22,7 @@
#include "xe_bo.h"
#include "xe_gt.h"
#include "xe_gt_printk.h"
+#include "xe_gt_sriov_vf.h"
#include "xe_gt_types.h"
#include "xe_log.h"
#include "xe_map.h"
@@ -834,6 +835,7 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
{
u64 alignment = bo->min_align > 0 ? bo->min_align : XE_PAGE_SIZE;
u8 tile_id = ggtt->tile->id;
+ int marker;
int err;
if (xe_bo_is_vram(bo) && ggtt->flags & XE_GGTT_FLAGS_64K)
@@ -858,6 +860,9 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
goto out;
}
+retry:
+ marker = xe_gt_sriov_vf_wait_valid_ggtt(ggtt->tile->primary_gt);
+
mutex_lock(&ggtt->lock);
/*
* When inheriting the initial framebuffer, the framebuffer is
@@ -890,6 +895,18 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
u64 pte = ggtt->pt_ops->pte_encode_flags(bo, pat_index);
xe_ggtt_map_bo(ggtt, bo->ggtt_node[tile_id], bo, pte);
+
+ /*
+ * If VF migration happens during BO mapping, some PTE value writes may
+ * be ignored by HW. This can happen in case GGTT range changes; already
+ * set PTEs are moved by the VF restore, but xe_ggtt_map_bo() within VM
+ * may still loop at old position. To be sure, redo all PTE writes.
+ */
+ if (marker != xe_vf_migration_fixups_complete_count(ggtt->tile->primary_gt)) {
+ drm_mm_remove_node(&bo->ggtt_node[tile_id]->base);
+ mutex_unlock(&ggtt->lock);
+ goto retry;
+ }
}
mutex_unlock(&ggtt->lock);
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v2 2/2] drm/xe: After VF migration, repeat BO mapping in progress
2026-11-06 15:56 ` [PATCH v2 2/2] drm/xe: After VF migration, repeat BO mapping in progress Tomasz Lis
@ 2026-11-06 16:46 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-11-06 16:46 UTC (permalink / raw)
To: Tomasz Lis, intel-xe
Thank you for your contribution! Sashiko AI review found 5 potential
issues to consider:
- [High] drm/xe: NULL pointer dereference of memirq->bo in
__xe_ggtt_insert_bo_at()
- [Medium] drm/xe: repeated subtraction of ggtt->start on retry in
__xe_ggtt_insert_bo_at()
- [Medium] drm/xe: stale GGTT PTEs left on migration retry in
__xe_ggtt_insert_bo_at()
- [Medium] drm/xe: non-sleeping retry loop in __xe_ggtt_insert_bo_at()
on pending signal
- [Low] drm/xe: stale comment in __xe_exec_queue_init() after moving
GGTT wait
--
commit d7047c9701b23419a2eabde20e6e0dc9d936b73d
Author: Tomasz Lis <tomasz.lis@intel.com>
drm/xe: After VF migration, repeat BO mapping in progress
This commit moves the VF post-migration GGTT retry loop from LRC creation
in __xe_exec_queue_init() to BO GGTT insertion in __xe_ggtt_insert_bo_at()
so that all GGTT BO mappings are rewritten if a VF migration occurs while
PTEs are being programmed.
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 23fd0f6cba7f1..ed24b11fdb905 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -431,28 +431,17 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
> * from the moment vCPU resumes execution.
> */
> for (i = 0; i < q->width; ++i) {
> - struct xe_lrc *__lrc = NULL;
> - int marker;
>
> - do {
> - struct xe_lrc *lrc;
> -
> - marker = xe_gt_sriov_vf_wait_valid_ggtt(q->gt);
> -
> - lrc = xe_lrc_create(q->hwe, q->vm, q->replay_state,
> - xe_lrc_ring_size(), q->msix_vec, flags);
> - if (IS_ERR(lrc)) {
> - err = PTR_ERR(lrc);
> - goto err_lrc;
> - }
> -
> - xe_exec_queue_set_lrc(q, lrc, i);
> + struct xe_lrc *lrc;
>
> - if (__lrc)
> - xe_lrc_put(__lrc);
> - __lrc = lrc;
> + lrc = xe_lrc_create(q->hwe, q->vm, q->replay_state,
> + xe_lrc_ring_size(), q->msix_vec, flags);
> + if (IS_ERR(lrc)) {
> + err = PTR_ERR(lrc);
> + goto err_lrc;
> + }
>
> - } while (marker != xe_vf_migration_fixups_complete_count(q->gt));
> + xe_exec_queue_set_lrc(q, lrc, i);
> }
[Severity: Low]
This isn't a bug, but the second paragraph of the comment right above this
loop still describes waiting on inflight GGTT changes here, which this
commit moves to __xe_ggtt_insert_bo_at().
> diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c
> index 9ef2ce743770f..6508d301a0821 100644
> --- a/drivers/gpu/drm/xe/xe_ggtt.c
> +++ b/drivers/gpu/drm/xe/xe_ggtt.c
[ ... ]
> @@ -858,6 +860,9 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
> goto out;
> }
>
> +retry:
> + marker = xe_gt_sriov_vf_wait_valid_ggtt(ggtt->tile->primary_gt);
> +
> mutex_lock(&ggtt->lock);
> /*
> * When inheriting the initial framebuffer, the framebuffer is
[Severity: High]
Does calling xe_gt_sriov_vf_wait_valid_ggtt() here cause a NULL pointer
dereference on memirq->bo during VF probe?
During xe_device_probe() -> xe_tile_init() -> xe_memirq_init(),
memirq_alloc_pages() creates its XE_BO_FLAG_GGTT buffer object and enters
__xe_ggtt_insert_bo_at() before assigning memirq->bo = bo:
drivers/gpu/drm/xe/xe_memirq.c:memirq_alloc_pages() {
...
bo = xe_managed_bo_create_pin_map(xe, tile, bo_size,
XE_BO_FLAG_SYSTEM |
XE_BO_FLAG_GGTT |
...);
if (IS_ERR(bo)) {
err = PTR_ERR(bo);
goto out;
}
...
memirq->bo = bo;
}
On a VF where migration and memirq are supported,
xe_gt_sriov_vf_wait_valid_ggtt() and xe_vf_migration_fixups_complete_count()
both call vf_valid_ggtt() -> xe_memirq_guc_sw_int_0_irq_pending(), which
dereferences &memirq->bo->vmap while memirq->bo is still NULL.
> @@ -890,6 +895,18 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
> u64 pte = ggtt->pt_ops->pte_encode_flags(bo, pat_index);
>
> xe_ggtt_map_bo(ggtt, bo->ggtt_node[tile_id], bo, pte);
> +
> + /*
> + * If VF migration happens during BO mapping, some PTE value writes may
> + * be ignored by HW. This can happen in case GGTT range changes; already
> + * set PTEs are moved by the VF restore, but xe_ggtt_map_bo() within VM
> + * may still loop at old position. To be sure, redo all PTE writes.
> + */
> + if (marker != xe_vf_migration_fixups_complete_count(ggtt->tile->primary_gt)) {
> + drm_mm_remove_node(&bo->ggtt_node[tile_id]->base);
> + mutex_unlock(&ggtt->lock);
> + goto retry;
> + }
> }
> mutex_unlock(&ggtt->lock);
[Severity: Medium]
When this jumps to retry, doesn't __xe_ggtt_insert_bo_at() subtract
ggtt->start from start and end a second time?
Between the retry label and drm_mm_insert_node_in_range(), start and end are
converted in place into offsets relative to ggtt->start:
drivers/gpu/drm/xe/xe_ggtt.c:__xe_ggtt_insert_bo_at() {
...
if (start >= ggtt->start)
start -= ggtt->start;
else
start = 0;
/* Should never happen, but since we handle start, fail graciously for end */
if (end >= ggtt->start)
end -= ggtt->start;
else
end = 0;
xe_tile_assert(ggtt->tile, end >= start + xe_bo_size(bo));
...
}
On a retry after migration, start and end already hold relative offsets, so
subtracting the updated ggtt->start again (or clamping end to 0 when the
relative offset is below ggtt->start) corrupts the range, can trigger the
xe_tile_assert(), and causes drm_mm_insert_node_in_range() to allocate at
the wrong offset or fail with -ENOSPC.
[Severity: Medium]
Can removing the drm_mm node without clearing its PTEs leave stale GGTT
mappings behind on retry?
Unlike ggtt_node_remove(), the retry path calls drm_mm_remove_node() without
xe_ggtt_clear() and drops ggtt->lock before re-inserting. Because PF
save/restore copies the PTEs already written before migration to the same
relative offset in the new GGTT range, if another allocation claims part of
that range while ggtt->lock is dropped or if the retry fails, those migrated
PTEs remain live in an unallocated drm_mm hole instead of pointing to the
scratch page. Since ggtt->mm uses relative offsets that do not change across
xe_ggtt_shift_nodes(), keeping the drm_mm node allocated and only redoing
xe_ggtt_map_bo() after waiting for a valid GGTT would avoid both re-inserting
the node and leaving stale PTEs.
[Severity: Medium]
If the calling thread has a pending signal while VF migration fixups are in
progress, will this retry loop spin without sleeping while repeatedly taking
ggtt->lock?
xe_gt_sriov_vf_wait_valid_ggtt() uses wait_event_interruptible_timeout(),
ignores -ERESTARTSYS, and returns the current fixups_complete_count (>= 0)
even when vf_valid_ggtt() is still false. __xe_ggtt_insert_bo_at() then
locks ggtt->lock, writes all PTEs for the BO, sees
xe_vf_migration_fixups_complete_count() return -1, and loops back to retry
without sleeping, contending on ggtt->lock against xe_ggtt_shift_nodes() in
the migration recovery worker.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261106155615.977330-1-tomasz.lis@intel.com?part=2
^ permalink raw reply [flat|nested] 7+ messages in thread
* ✓ CI.KUnit: success for drm/xe/vf: New approach for post-migration LRC fixups (rev2)
2026-11-06 15:56 [PATCH v2 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
2026-11-06 15:56 ` [PATCH v2 1/2] drm/xe/vf: Late fixups of LRCs after VF migration Tomasz Lis
2026-11-06 15:56 ` [PATCH v2 2/2] drm/xe: After VF migration, repeat BO mapping in progress Tomasz Lis
@ 2026-11-06 16:53 ` Patchwork
2026-11-06 17:34 ` ✗ Xe.CI.BAT: failure " Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2026-11-06 16:53 UTC (permalink / raw)
To: Tomasz Lis; +Cc: intel-xe
== Series Details ==
Series: drm/xe/vf: New approach for post-migration LRC fixups (rev2)
URL : https://patchwork.freedesktop.org/series/165741/
State : success
== Summary ==
+ trap cleanup EXIT
+ kunitconfigs=('/kernel/drivers/gpu/tests/.kunitconfig' '/kernel/drivers/gpu/drm/xe/.kunitconfig' '/kernel/drivers/gpu/drm/tests/.kunitconfig' '/kernel/drivers/gpu/drm/ttm/tests/.kunitconfig' '/kernel/drivers/dma-buf/.kunitconfig')
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/tests/.kunitconfig
[16:51:33] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:51:38] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:51:58] Starting KUnit Kernel (1/1)...
[16:51:58] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:51:58] ================= gpu_buddy (14 subtests) ==================
[16:51:58] [PASSED] gpu_test_buddy_alloc_limit
[16:51:58] [PASSED] gpu_test_buddy_alloc_optimistic
[16:51:58] [PASSED] gpu_test_buddy_alloc_pessimistic
[16:51:58] [PASSED] gpu_test_buddy_alloc_pathological
[16:51:58] [PASSED] gpu_test_buddy_alloc_contiguous
[16:51:58] [PASSED] gpu_test_buddy_alloc_clear
[16:51:58] [PASSED] gpu_test_buddy_alloc_range
[16:51:59] [PASSED] gpu_test_buddy_alloc_range_bias
[16:52:00] [PASSED] gpu_test_buddy_fragmentation_performance
[16:52:00] [PASSED] gpu_test_buddy_dirty_tracker_performance
[16:52:00] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[16:52:00] [PASSED] gpu_test_buddy_offset_aligned_allocation
[16:52:00] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[16:52:00] [PASSED] gpu_test_buddy_addr_to_block
[16:52:00] ==================== [PASSED] gpu_buddy ====================
[16:52:00] ============================================================
[16:52:00] Testing complete. Ran 14 tests: passed: 14
[16:52:00] Elapsed time: 27.524s total, 5.129s configuring, 20.528s building, 1.836s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/xe/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[16:52:00] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:52:03] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:52:41] Starting KUnit Kernel (1/1)...
[16:52:41] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:52:42] ================== guc_buf (11 subtests) ===================
[16:52:42] [PASSED] test_smallest
[16:52:42] [PASSED] test_largest
[16:52:42] [PASSED] test_granular
[16:52:42] [PASSED] test_unique
[16:52:42] [PASSED] test_overlap
[16:52:42] [PASSED] test_reusable
[16:52:42] [PASSED] test_too_big
[16:52:42] [PASSED] test_flush
[16:52:42] [PASSED] test_lookup
[16:52:42] [PASSED] test_data
[16:52:42] [PASSED] test_class
[16:52:42] ===================== [PASSED] guc_buf =====================
[16:52:42] =================== guc_dbm (7 subtests) ===================
[16:52:42] [PASSED] test_empty
[16:52:42] [PASSED] test_default
[16:52:42] ======================== test_size ========================
[16:52:42] [PASSED] 4
[16:52:42] [PASSED] 8
[16:52:42] [PASSED] 32
[16:52:42] [PASSED] 256
[16:52:42] ==================== [PASSED] test_size ====================
[16:52:42] ======================= test_reuse ========================
[16:52:42] [PASSED] 4
[16:52:42] [PASSED] 8
[16:52:42] [PASSED] 32
[16:52:42] [PASSED] 256
[16:52:42] =================== [PASSED] test_reuse ====================
[16:52:42] =================== test_range_overlap ====================
[16:52:42] [PASSED] 4
[16:52:42] [PASSED] 8
[16:52:42] [PASSED] 32
[16:52:42] [PASSED] 256
[16:52:42] =============== [PASSED] test_range_overlap ================
[16:52:42] =================== test_range_compact ====================
[16:52:42] [PASSED] 4
[16:52:42] [PASSED] 8
[16:52:42] [PASSED] 32
[16:52:42] [PASSED] 256
[16:52:42] =============== [PASSED] test_range_compact ================
[16:52:42] ==================== test_range_spare =====================
[16:52:42] [PASSED] 4
[16:52:42] [PASSED] 8
[16:52:42] [PASSED] 32
[16:52:42] [PASSED] 256
[16:52:42] ================ [PASSED] test_range_spare =================
[16:52:42] ===================== [PASSED] guc_dbm =====================
[16:52:42] ================== guc_idm (22 subtests) ===================
[16:52:42] [PASSED] bad_init
[16:52:42] [PASSED] no_init
[16:52:42] [PASSED] init_fini
[16:52:42] [PASSED] check_init_small
[16:52:42] [PASSED] check_init_shared
[16:52:42] [PASSED] check_used
[16:52:42] [PASSED] check_quota
[16:52:42] [PASSED] check_all
[16:52:42] [PASSED] check_limits
[16:52:42] [PASSED] check_overlap
[16:52:42] [PASSED] check_overlap_alloc
[16:52:42] [PASSED] check_overlap_release
[16:52:42] [PASSED] check_overlap_partial_init
[16:52:42] [PASSED] check_overlap_partial_shared_range_blocking
[16:52:42] [PASSED] check_used_usable
[16:52:42] [PASSED] check_used_shareable
[16:52:42] [PASSED] check_used_mixed
[16:52:42] [PASSED] check_release_usable_range
[16:52:42] [PASSED] check_release_shareable_range
[16:52:42] [PASSED] check_split_boundaries
[16:52:42] [PASSED] check_shareable_spare
[16:52:42] [PASSED] check_shareable_spare_fragmented_tail
[16:52:42] ===================== [PASSED] guc_idm =====================
[16:52:42] ============== guc_klv_helpers (13 subtests) ===============
[16:52:42] [PASSED] test_count
[16:52:42] [PASSED] test_encode_u32
[16:52:42] [PASSED] test_encode_u64
[16:52:42] [PASSED] test_encode_string
[16:52:42] [PASSED] test_encode_object_raw
[16:52:42] [PASSED] test_encode_object_klv
[16:52:42] [PASSED] test_encode_object_nested
[16:52:42] [PASSED] test_encode_object_basic
[16:52:42] ===================== test_decode_u16 =====================
[16:52:42] [PASSED] empty
[16:52:42] [PASSED] valid
[16:52:42] [PASSED] max
[16:52:42] [PASSED] big
[16:52:42] [PASSED] long
[16:52:42] ================= [PASSED] test_decode_u16 =================
[16:52:42] ===================== test_decode_u32 =====================
[16:52:42] [PASSED] empty
[16:52:42] [PASSED] valid
[16:52:42] [PASSED] max
[16:52:42] [PASSED] long
[16:52:42] ================= [PASSED] test_decode_u32 =================
[16:52:42] ===================== test_decode_u64 =====================
[16:52:42] [PASSED] empty
[16:52:42] [PASSED] short
[16:52:42] [PASSED] valid
[16:52:42] [PASSED] max
[16:52:42] [PASSED] long
[16:52:42] ================= [PASSED] test_decode_u64 =================
[16:52:42] ===================== test_decode_str =====================
[16:52:42] [PASSED] empty
[16:52:42] [PASSED] one
[16:52:42] [PASSED] one_trash
[16:52:42] [PASSED] two
[16:52:42] [PASSED] two_trash
[16:52:42] [PASSED] three
[16:52:42] [PASSED] dword
[16:52:42] [PASSED] four
[16:52:42] [PASSED] five
[16:52:42] [PASSED] six
[16:52:42] [PASSED] seven
[16:52:42] [PASSED] qword
[16:52:42] ================= [PASSED] test_decode_str =================
[16:52:42] [PASSED] test_print
[16:52:42] ================= [PASSED] guc_klv_helpers =================
[16:52:42] =================== xe_log (4 subtests) ====================
[16:52:42] [PASSED] demo_cper
[16:52:42] [PASSED] demo_dmesg
[16:52:42] ======================= test_dmesg ========================
[16:52:42] [PASSED] test_fatal
[16:52:42] [PASSED] test_fatal_tile
[16:52:42] [PASSED] test_fatal_gt
[16:52:42] [PASSED] test_fatal_comp
[16:52:42] [PASSED] test_fatal_comp_tile
[16:52:42] [PASSED] test_fatal_comp_gt
[16:52:42] [PASSED] test_fatal_all
[16:52:42] [PASSED] test_recoverable
[16:52:42] [PASSED] test_recoverable_tile
[16:52:42] [PASSED] test_recoverable_gt
[16:52:42] [PASSED] test_recoverable_comp
[16:52:42] [PASSED] test_recoverable_comp_tile
[16:52:42] [PASSED] test_recoverable_comp_gt
[16:52:42] [PASSED] test_recoverable_all
[16:52:42] [PASSED] test_info
[16:52:42] [PASSED] test_info_tile
[16:52:42] [PASSED] test_info_gt
[16:52:42] [PASSED] test_info_err
[16:52:42] [PASSED] test_info_comp
[16:52:42] [PASSED] test_info_comp_tile
[16:52:42] [PASSED] test_info_comp_gt
[16:52:42] [PASSED] test_info_all
[16:52:42] [PASSED] test_hw_fatal
[16:52:42] [PASSED] test_hw_recoverable
[16:52:42] [PASSED] test_hw_corrected
[16:52:42] [PASSED] test_hw_informational
[16:52:42] =================== [PASSED] test_dmesg ====================
[16:52:42] ====================== test_invalid =======================
[16:52:42] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[16:52:42] ================== [SKIPPED] test_invalid ==================
[16:52:42] ===================== [PASSED] xe_log ======================
[16:52:42] ================== no_relay (3 subtests) ===================
[16:52:42] [PASSED] xe_drops_guc2pf_if_not_ready
[16:52:42] [PASSED] xe_drops_guc2vf_if_not_ready
[16:52:42] [PASSED] xe_rejects_send_if_not_ready
[16:52:42] ==================== [PASSED] no_relay =====================
[16:52:42] ================== pf_relay (14 subtests) ==================
[16:52:42] [PASSED] pf_rejects_guc2pf_too_short
[16:52:42] [PASSED] pf_rejects_guc2pf_too_long
[16:52:42] [PASSED] pf_rejects_guc2pf_no_payload
[16:52:42] [PASSED] pf_fails_no_payload
[16:52:42] [PASSED] pf_fails_bad_origin
[16:52:42] [PASSED] pf_fails_bad_type
[16:52:42] [PASSED] pf_txn_reports_error
[16:52:42] [PASSED] pf_txn_sends_pf2guc
[16:52:42] [PASSED] pf_sends_pf2guc
[16:52:42] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:52:42] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:52:42] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:52:42] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:52:42] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:52:42] ==================== [PASSED] pf_relay =====================
[16:52:42] ================== vf_relay (3 subtests) ===================
[16:52:42] [PASSED] vf_rejects_guc2vf_too_short
[16:52:42] [PASSED] vf_rejects_guc2vf_too_long
[16:52:42] [PASSED] vf_rejects_guc2vf_no_payload
[16:52:42] ==================== [PASSED] vf_relay =====================
[16:52:42] ================ pf_gt_config (9 subtests) =================
[16:52:42] [PASSED] fair_contexts_1vf
[16:52:42] [PASSED] fair_doorbells_1vf
[16:52:42] [PASSED] fair_ggtt_1vf
[16:52:42] ====================== fair_vram_1vf ======================
[16:52:42] [PASSED] 3.50 GiB
[16:52:42] [PASSED] 11.5 GiB
[16:52:42] [PASSED] 15.5 GiB
[16:52:42] [PASSED] 31.5 GiB
[16:52:42] [PASSED] 63.5 GiB
[16:52:42] [PASSED] 1.91 GiB
[16:52:42] ================== [PASSED] fair_vram_1vf ==================
[16:52:42] ================ fair_vram_1vf_admin_only =================
[16:52:42] [PASSED] 3.50 GiB
[16:52:42] [PASSED] 11.5 GiB
[16:52:42] [PASSED] 15.5 GiB
[16:52:42] [PASSED] 31.5 GiB
[16:52:42] [PASSED] 63.5 GiB
[16:52:42] [PASSED] 1.91 GiB
[16:52:42] ============ [PASSED] fair_vram_1vf_admin_only =============
[16:52:42] ====================== fair_contexts ======================
[16:52:42] [PASSED] 1 VF
[16:52:42] [PASSED] 2 VFs
[16:52:42] [PASSED] 3 VFs
[16:52:42] [PASSED] 4 VFs
[16:52:42] [PASSED] 5 VFs
[16:52:42] [PASSED] 6 VFs
[16:52:42] [PASSED] 7 VFs
[16:52:42] [PASSED] 8 VFs
[16:52:42] [PASSED] 9 VFs
[16:52:42] [PASSED] 10 VFs
[16:52:42] [PASSED] 11 VFs
[16:52:42] [PASSED] 12 VFs
[16:52:42] [PASSED] 13 VFs
[16:52:42] [PASSED] 14 VFs
[16:52:42] [PASSED] 15 VFs
[16:52:42] [PASSED] 16 VFs
[16:52:42] [PASSED] 17 VFs
[16:52:42] [PASSED] 18 VFs
[16:52:42] [PASSED] 19 VFs
[16:52:42] [PASSED] 20 VFs
[16:52:42] [PASSED] 21 VFs
[16:52:42] [PASSED] 22 VFs
[16:52:42] [PASSED] 23 VFs
[16:52:42] [PASSED] 24 VFs
[16:52:42] [PASSED] 25 VFs
[16:52:42] [PASSED] 26 VFs
[16:52:42] [PASSED] 27 VFs
[16:52:42] [PASSED] 28 VFs
[16:52:42] [PASSED] 29 VFs
[16:52:42] [PASSED] 30 VFs
[16:52:42] [PASSED] 31 VFs
[16:52:42] [PASSED] 32 VFs
[16:52:42] [PASSED] 33 VFs
[16:52:42] [PASSED] 34 VFs
[16:52:42] [PASSED] 35 VFs
[16:52:42] [PASSED] 36 VFs
[16:52:42] [PASSED] 37 VFs
[16:52:42] [PASSED] 38 VFs
[16:52:42] [PASSED] 39 VFs
[16:52:42] [PASSED] 40 VFs
[16:52:42] [PASSED] 41 VFs
[16:52:42] [PASSED] 42 VFs
[16:52:42] [PASSED] 43 VFs
[16:52:42] [PASSED] 44 VFs
[16:52:42] [PASSED] 45 VFs
[16:52:42] [PASSED] 46 VFs
[16:52:42] [PASSED] 47 VFs
[16:52:42] [PASSED] 48 VFs
[16:52:42] [PASSED] 49 VFs
[16:52:42] [PASSED] 50 VFs
[16:52:42] [PASSED] 51 VFs
[16:52:42] [PASSED] 52 VFs
[16:52:42] [PASSED] 53 VFs
[16:52:42] [PASSED] 54 VFs
[16:52:42] [PASSED] 55 VFs
[16:52:42] [PASSED] 56 VFs
[16:52:42] [PASSED] 57 VFs
[16:52:42] [PASSED] 58 VFs
[16:52:42] [PASSED] 59 VFs
[16:52:42] [PASSED] 60 VFs
[16:52:42] [PASSED] 61 VFs
[16:52:42] [PASSED] 62 VFs
[16:52:42] [PASSED] 63 VFs
[16:52:42] ================== [PASSED] fair_contexts ==================
[16:52:42] ===================== fair_doorbells ======================
[16:52:42] [PASSED] 1 VF
[16:52:42] [PASSED] 2 VFs
[16:52:42] [PASSED] 3 VFs
[16:52:42] [PASSED] 4 VFs
[16:52:42] [PASSED] 5 VFs
[16:52:42] [PASSED] 6 VFs
[16:52:42] [PASSED] 7 VFs
[16:52:42] [PASSED] 8 VFs
[16:52:42] [PASSED] 9 VFs
[16:52:42] [PASSED] 10 VFs
[16:52:42] [PASSED] 11 VFs
[16:52:42] [PASSED] 12 VFs
[16:52:42] [PASSED] 13 VFs
[16:52:42] [PASSED] 14 VFs
[16:52:42] [PASSED] 15 VFs
[16:52:42] [PASSED] 16 VFs
[16:52:42] [PASSED] 17 VFs
[16:52:42] [PASSED] 18 VFs
[16:52:42] [PASSED] 19 VFs
[16:52:42] [PASSED] 20 VFs
[16:52:42] [PASSED] 21 VFs
[16:52:42] [PASSED] 22 VFs
[16:52:42] [PASSED] 23 VFs
[16:52:42] [PASSED] 24 VFs
[16:52:42] [PASSED] 25 VFs
[16:52:42] [PASSED] 26 VFs
[16:52:42] [PASSED] 27 VFs
[16:52:42] [PASSED] 28 VFs
[16:52:42] [PASSED] 29 VFs
[16:52:42] [PASSED] 30 VFs
[16:52:42] [PASSED] 31 VFs
[16:52:42] [PASSED] 32 VFs
[16:52:42] [PASSED] 33 VFs
[16:52:42] [PASSED] 34 VFs
[16:52:42] [PASSED] 35 VFs
[16:52:42] [PASSED] 36 VFs
[16:52:42] [PASSED] 37 VFs
[16:52:42] [PASSED] 38 VFs
[16:52:42] [PASSED] 39 VFs
[16:52:42] [PASSED] 40 VFs
[16:52:42] [PASSED] 41 VFs
[16:52:42] [PASSED] 42 VFs
[16:52:42] [PASSED] 43 VFs
[16:52:42] [PASSED] 44 VFs
[16:52:42] [PASSED] 45 VFs
[16:52:42] [PASSED] 46 VFs
[16:52:42] [PASSED] 47 VFs
[16:52:42] [PASSED] 48 VFs
[16:52:42] [PASSED] 49 VFs
[16:52:42] [PASSED] 50 VFs
[16:52:42] [PASSED] 51 VFs
[16:52:42] [PASSED] 52 VFs
[16:52:42] [PASSED] 53 VFs
[16:52:42] [PASSED] 54 VFs
[16:52:42] [PASSED] 55 VFs
[16:52:42] [PASSED] 56 VFs
[16:52:42] [PASSED] 57 VFs
[16:52:42] [PASSED] 58 VFs
[16:52:42] [PASSED] 59 VFs
[16:52:42] [PASSED] 60 VFs
[16:52:42] [PASSED] 61 VFs
[16:52:42] [PASSED] 62 VFs
[16:52:42] [PASSED] 63 VFs
[16:52:42] ================= [PASSED] fair_doorbells ==================
[16:52:42] ======================== fair_ggtt ========================
[16:52:42] [PASSED] 1 VF
[16:52:42] [PASSED] 2 VFs
[16:52:42] [PASSED] 3 VFs
[16:52:42] [PASSED] 4 VFs
[16:52:42] [PASSED] 5 VFs
[16:52:42] [PASSED] 6 VFs
[16:52:42] [PASSED] 7 VFs
[16:52:42] [PASSED] 8 VFs
[16:52:42] [PASSED] 9 VFs
[16:52:42] [PASSED] 10 VFs
[16:52:42] [PASSED] 11 VFs
[16:52:42] [PASSED] 12 VFs
[16:52:42] [PASSED] 13 VFs
[16:52:42] [PASSED] 14 VFs
[16:52:42] [PASSED] 15 VFs
[16:52:42] [PASSED] 16 VFs
[16:52:42] [PASSED] 17 VFs
[16:52:42] [PASSED] 18 VFs
[16:52:42] [PASSED] 19 VFs
[16:52:42] [PASSED] 20 VFs
[16:52:42] [PASSED] 21 VFs
[16:52:42] [PASSED] 22 VFs
[16:52:42] [PASSED] 23 VFs
[16:52:42] [PASSED] 24 VFs
[16:52:42] [PASSED] 25 VFs
[16:52:42] [PASSED] 26 VFs
[16:52:42] [PASSED] 27 VFs
[16:52:42] [PASSED] 28 VFs
[16:52:42] [PASSED] 29 VFs
[16:52:42] [PASSED] 30 VFs
[16:52:42] [PASSED] 31 VFs
[16:52:42] [PASSED] 32 VFs
[16:52:42] [PASSED] 33 VFs
[16:52:42] [PASSED] 34 VFs
[16:52:42] [PASSED] 35 VFs
[16:52:42] [PASSED] 36 VFs
[16:52:42] [PASSED] 37 VFs
[16:52:42] [PASSED] 38 VFs
[16:52:42] [PASSED] 39 VFs
[16:52:42] [PASSED] 40 VFs
[16:52:42] [PASSED] 41 VFs
[16:52:42] [PASSED] 42 VFs
[16:52:42] [PASSED] 43 VFs
[16:52:42] [PASSED] 44 VFs
[16:52:42] [PASSED] 45 VFs
[16:52:42] [PASSED] 46 VFs
[16:52:42] [PASSED] 47 VFs
[16:52:42] [PASSED] 48 VFs
[16:52:42] [PASSED] 49 VFs
[16:52:42] [PASSED] 50 VFs
[16:52:42] [PASSED] 51 VFs
[16:52:42] [PASSED] 52 VFs
[16:52:42] [PASSED] 53 VFs
[16:52:42] [PASSED] 54 VFs
[16:52:42] [PASSED] 55 VFs
[16:52:42] [PASSED] 56 VFs
[16:52:42] [PASSED] 57 VFs
[16:52:42] [PASSED] 58 VFs
[16:52:42] [PASSED] 59 VFs
[16:52:42] [PASSED] 60 VFs
[16:52:42] [PASSED] 61 VFs
[16:52:42] [PASSED] 62 VFs
[16:52:42] [PASSED] 63 VFs
[16:52:42] ==================== [PASSED] fair_ggtt ====================
[16:52:42] ======================== fair_vram ========================
[16:52:42] [PASSED] 1 VF
[16:52:42] [PASSED] 2 VFs
[16:52:42] [PASSED] 3 VFs
[16:52:42] [PASSED] 4 VFs
[16:52:42] [PASSED] 5 VFs
[16:52:42] [PASSED] 6 VFs
[16:52:42] [PASSED] 7 VFs
[16:52:42] [PASSED] 8 VFs
[16:52:42] [PASSED] 9 VFs
[16:52:42] [PASSED] 10 VFs
[16:52:42] [PASSED] 11 VFs
[16:52:42] [PASSED] 12 VFs
[16:52:42] [PASSED] 13 VFs
[16:52:42] [PASSED] 14 VFs
[16:52:42] [PASSED] 15 VFs
[16:52:42] [PASSED] 16 VFs
[16:52:42] [PASSED] 17 VFs
[16:52:42] [PASSED] 18 VFs
[16:52:42] [PASSED] 19 VFs
[16:52:42] [PASSED] 20 VFs
[16:52:42] [PASSED] 21 VFs
[16:52:42] [PASSED] 22 VFs
[16:52:42] [PASSED] 23 VFs
[16:52:42] [PASSED] 24 VFs
[16:52:42] [PASSED] 25 VFs
[16:52:42] [PASSED] 26 VFs
[16:52:42] [PASSED] 27 VFs
[16:52:42] [PASSED] 28 VFs
[16:52:42] [PASSED] 29 VFs
[16:52:42] [PASSED] 30 VFs
[16:52:42] [PASSED] 31 VFs
[16:52:42] [PASSED] 32 VFs
[16:52:42] [PASSED] 33 VFs
[16:52:42] [PASSED] 34 VFs
[16:52:42] [PASSED] 35 VFs
[16:52:42] [PASSED] 36 VFs
[16:52:42] [PASSED] 37 VFs
[16:52:42] [PASSED] 38 VFs
[16:52:42] [PASSED] 39 VFs
[16:52:42] [PASSED] 40 VFs
[16:52:42] [PASSED] 41 VFs
[16:52:42] [PASSED] 42 VFs
[16:52:42] [PASSED] 43 VFs
[16:52:42] [PASSED] 44 VFs
[16:52:42] [PASSED] 45 VFs
[16:52:42] [PASSED] 46 VFs
[16:52:42] [PASSED] 47 VFs
[16:52:42] [PASSED] 48 VFs
[16:52:42] [PASSED] 49 VFs
[16:52:42] [PASSED] 50 VFs
[16:52:42] [PASSED] 51 VFs
[16:52:42] [PASSED] 52 VFs
[16:52:42] [PASSED] 53 VFs
[16:52:42] [PASSED] 54 VFs
[16:52:42] [PASSED] 55 VFs
[16:52:42] [PASSED] 56 VFs
[16:52:42] [PASSED] 57 VFs
[16:52:42] [PASSED] 58 VFs
[16:52:42] [PASSED] 59 VFs
[16:52:42] [PASSED] 60 VFs
[16:52:42] [PASSED] 61 VFs
[16:52:42] [PASSED] 62 VFs
[16:52:42] [PASSED] 63 VFs
[16:52:42] ==================== [PASSED] fair_vram ====================
[16:52:42] ================== [PASSED] pf_gt_config ===================
[16:52:42] ===================== lmtt (1 subtest) =====================
[16:52:42] ======================== test_ops =========================
[16:52:42] [PASSED] 2-level
[16:52:42] [PASSED] multi-level
[16:52:42] ==================== [PASSED] test_ops =====================
[16:52:42] ====================== [PASSED] lmtt =======================
[16:52:42] ================= sriov_packet (1 subtest) =================
[16:52:42] [PASSED] test_descriptor_init
[16:52:42] ================== [PASSED] sriov_packet ===================
[16:52:42] ================= pf_service (11 subtests) =================
[16:52:42] [PASSED] pf_negotiate_any
[16:52:42] [PASSED] pf_negotiate_base_match
[16:52:42] [PASSED] pf_negotiate_base_newer
[16:52:42] [PASSED] pf_negotiate_base_next
[16:52:42] [SKIPPED] pf_negotiate_base_older (no older minor)
[16:52:42] [PASSED] pf_negotiate_base_prev
[16:52:42] [PASSED] pf_negotiate_latest_match
[16:52:42] [PASSED] pf_negotiate_latest_newer
[16:52:42] [PASSED] pf_negotiate_latest_next
[16:52:42] [SKIPPED] pf_negotiate_latest_older (no older minor)
[16:52:42] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[16:52:42] =================== [PASSED] pf_service ====================
[16:52:42] ================= xe_guc_g2g (2 subtests) ==================
[16:52:42] ============== xe_live_guc_g2g_kunit_default ==============
[16:52:42] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[16:52:42] ============== xe_live_guc_g2g_kunit_allmem ===============
[16:52:42] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[16:52:42] =================== [SKIPPED] xe_guc_g2g ===================
[16:52:42] =================== xe_mocs (2 subtests) ===================
[16:52:42] ================ xe_live_mocs_kernel_kunit ================
[16:52:42] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[16:52:42] ================ xe_live_mocs_reset_kunit =================
[16:52:42] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[16:52:42] ==================== [SKIPPED] xe_mocs =====================
[16:52:42] ================= xe_migrate (3 subtests) ==================
[16:52:42] ================= xe_migrate_sanity_kunit =================
[16:52:42] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[16:52:42] ================== xe_validate_ccs_kunit ==================
[16:52:42] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[16:52:42] ============= xe_migrate_access_memory_kunit ==============
[16:52:42] ========= [SKIPPED] xe_migrate_access_memory_kunit =========
[16:52:42] =================== [SKIPPED] xe_migrate ===================
[16:52:42] ================== xe_dma_buf (1 subtest) ==================
[16:52:42] ==================== xe_dma_buf_kunit =====================
[16:52:42] ================ [SKIPPED] xe_dma_buf_kunit ================
[16:52:42] =================== [SKIPPED] xe_dma_buf ===================
[16:52:42] ================= xe_bo_shrink (1 subtest) =================
[16:52:42] =================== xe_bo_shrink_kunit ====================
[16:52:42] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[16:52:42] ================== [SKIPPED] xe_bo_shrink ==================
[16:52:42] ==================== xe_bo (2 subtests) ====================
[16:52:42] ================== xe_ccs_migrate_kunit ===================
[16:52:42] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[16:52:42] ==================== xe_bo_evict_kunit ====================
[16:52:42] =============== [SKIPPED] xe_bo_evict_kunit ================
[16:52:42] ===================== [SKIPPED] xe_bo ======================
[16:52:42] =================== xe_any (9 subtests) ====================
[16:52:42] [PASSED] test_to_xe
[16:52:42] [PASSED] test_to_dev
[16:52:42] [PASSED] test_to_pdev
[16:52:42] [PASSED] test_to_drm
[16:52:42] [PASSED] test_if_pdev
[16:52:42] [PASSED] test_if_xe
[16:52:42] [PASSED] test_if_tile
[16:52:42] [PASSED] test_if_gt
[16:52:42] [PASSED] test_to_id
[16:52:42] ===================== [PASSED] xe_any ======================
[16:52:42] ==================== args (13 subtests) ====================
[16:52:42] [PASSED] count_args_test
[16:52:42] [PASSED] call_args_example
[16:52:42] [PASSED] call_args_test
[16:52:42] [PASSED] drop_first_arg_example
[16:52:42] [PASSED] drop_first_arg_test
[16:52:42] [PASSED] first_arg_example
[16:52:42] [PASSED] first_arg_test
[16:52:42] [PASSED] last_arg_example
[16:52:42] [PASSED] last_arg_test
[16:52:42] [PASSED] pick_arg_example
[16:52:42] [PASSED] if_args_example
[16:52:42] [PASSED] if_args_test
[16:52:42] [PASSED] sep_comma_example
[16:52:42] ====================== [PASSED] args =======================
[16:52:42] =================== xe_pci (3 subtests) ====================
[16:52:42] ==================== check_graphics_ip ====================
[16:52:42] [PASSED] 12.00 Xe_LP
[16:52:42] [PASSED] 12.10 Xe_LP+
[16:52:42] [PASSED] 12.55 Xe_HPG
[16:52:42] [PASSED] 12.60 Xe_HPC
[16:52:42] [PASSED] 12.70 Xe_LPG
[16:52:42] [PASSED] 12.71 Xe_LPG
[16:52:42] [PASSED] 12.74 Xe_LPG+
[16:52:42] [PASSED] 20.01 Xe2_HPG
[16:52:42] [PASSED] 20.02 Xe2_HPG
[16:52:42] [PASSED] 20.04 Xe2_LPG
[16:52:42] [PASSED] 30.00 Xe3_LPG
[16:52:42] [PASSED] 30.01 Xe3_LPG
[16:52:42] [PASSED] 30.03 Xe3_LPG
[16:52:42] [PASSED] 30.04 Xe3_LPG
[16:52:42] [PASSED] 30.05 Xe3_LPG
[16:52:42] [PASSED] 35.10 Xe3p_LPG
[16:52:42] [PASSED] 35.11 Xe3p_XPC
[16:52:42] ================ [PASSED] check_graphics_ip ================
[16:52:42] ===================== check_media_ip ======================
[16:52:42] [PASSED] 12.00 Xe_M
[16:52:42] [PASSED] 12.55 Xe_HPM
[16:52:42] [PASSED] 13.00 Xe_LPM+
[16:52:42] [PASSED] 13.01 Xe2_HPM
[16:52:42] [PASSED] 20.00 Xe2_LPM
[16:52:42] [PASSED] 30.00 Xe3_LPM
[16:52:42] [PASSED] 30.02 Xe3_LPM
[16:52:42] [PASSED] 35.00 Xe3p_LPM
[16:52:42] [PASSED] 35.03 Xe3p_HPM
[16:52:42] ================= [PASSED] check_media_ip ==================
[16:52:42] =================== check_platform_desc ===================
[16:52:42] [PASSED] 0x9A60 (TIGERLAKE)
[16:52:42] [PASSED] 0x9A68 (TIGERLAKE)
[16:52:42] [PASSED] 0x9A70 (TIGERLAKE)
[16:52:42] [PASSED] 0x9A40 (TIGERLAKE)
[16:52:42] [PASSED] 0x9A49 (TIGERLAKE)
[16:52:42] [PASSED] 0x9A59 (TIGERLAKE)
[16:52:42] [PASSED] 0x9A78 (TIGERLAKE)
[16:52:42] [PASSED] 0x9AC0 (TIGERLAKE)
[16:52:42] [PASSED] 0x9AC9 (TIGERLAKE)
[16:52:42] [PASSED] 0x9AD9 (TIGERLAKE)
[16:52:42] [PASSED] 0x9AF8 (TIGERLAKE)
[16:52:42] [PASSED] 0x4C80 (ROCKETLAKE)
[16:52:42] [PASSED] 0x4C8A (ROCKETLAKE)
[16:52:42] [PASSED] 0x4C8B (ROCKETLAKE)
[16:52:42] [PASSED] 0x4C8C (ROCKETLAKE)
[16:52:42] [PASSED] 0x4C90 (ROCKETLAKE)
[16:52:42] [PASSED] 0x4C9A (ROCKETLAKE)
[16:52:42] [PASSED] 0x4680 (ALDERLAKE_S)
[16:52:42] [PASSED] 0x4682 (ALDERLAKE_S)
[16:52:42] [PASSED] 0x4688 (ALDERLAKE_S)
[16:52:42] [PASSED] 0x468A (ALDERLAKE_S)
[16:52:42] [PASSED] 0x468B (ALDERLAKE_S)
[16:52:42] [PASSED] 0x4690 (ALDERLAKE_S)
[16:52:42] [PASSED] 0x4692 (ALDERLAKE_S)
[16:52:42] [PASSED] 0x4693 (ALDERLAKE_S)
[16:52:42] [PASSED] 0x46A0 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46A1 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46A2 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46A3 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46A6 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46A8 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46AA (ALDERLAKE_P)
[16:52:42] [PASSED] 0x462A (ALDERLAKE_P)
[16:52:42] [PASSED] 0x4626 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x4628 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46B0 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46B1 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46B2 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46B3 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46C0 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46C1 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46C2 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46C3 (ALDERLAKE_P)
[16:52:42] [PASSED] 0x46D0 (ALDERLAKE_N)
[16:52:42] [PASSED] 0x46D1 (ALDERLAKE_N)
[16:52:42] [PASSED] 0x46D2 (ALDERLAKE_N)
[16:52:42] [PASSED] 0x46D3 (ALDERLAKE_N)
[16:52:42] [PASSED] 0x46D4 (ALDERLAKE_N)
[16:52:42] [PASSED] 0xA721 (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA7A1 (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA7A9 (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA7AC (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA7AD (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA720 (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA7A0 (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA7A8 (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA7AA (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA7AB (ALDERLAKE_P)
[16:52:42] [PASSED] 0xA780 (ALDERLAKE_S)
[16:52:42] [PASSED] 0xA781 (ALDERLAKE_S)
[16:52:42] [PASSED] 0xA782 (ALDERLAKE_S)
[16:52:42] [PASSED] 0xA783 (ALDERLAKE_S)
[16:52:42] [PASSED] 0xA788 (ALDERLAKE_S)
[16:52:42] [PASSED] 0xA789 (ALDERLAKE_S)
[16:52:42] [PASSED] 0xA78A (ALDERLAKE_S)
[16:52:42] [PASSED] 0xA78B (ALDERLAKE_S)
[16:52:42] [PASSED] 0x4905 (DG1)
[16:52:42] [PASSED] 0x4906 (DG1)
[16:52:42] [PASSED] 0x4907 (DG1)
[16:52:42] [PASSED] 0x4908 (DG1)
[16:52:42] [PASSED] 0x4909 (DG1)
[16:52:42] [PASSED] 0x56C0 (DG2)
[16:52:42] [PASSED] 0x56C2 (DG2)
[16:52:42] [PASSED] 0x56C1 (DG2)
[16:52:42] [PASSED] 0x7D51 (METEORLAKE)
[16:52:42] [PASSED] 0x7DD1 (METEORLAKE)
[16:52:42] [PASSED] 0x7D41 (METEORLAKE)
[16:52:42] [PASSED] 0x7D67 (METEORLAKE)
[16:52:42] [PASSED] 0xB640 (METEORLAKE)
[16:52:42] [PASSED] 0x56A0 (DG2)
[16:52:42] [PASSED] 0x56A1 (DG2)
[16:52:42] [PASSED] 0x56A2 (DG2)
[16:52:42] [PASSED] 0x56BE (DG2)
[16:52:42] [PASSED] 0x56BF (DG2)
[16:52:42] [PASSED] 0x5690 (DG2)
[16:52:42] [PASSED] 0x5691 (DG2)
[16:52:42] [PASSED] 0x5692 (DG2)
[16:52:42] [PASSED] 0x56A5 (DG2)
[16:52:42] [PASSED] 0x56A6 (DG2)
[16:52:42] [PASSED] 0x56B0 (DG2)
[16:52:42] [PASSED] 0x56B1 (DG2)
[16:52:42] [PASSED] 0x56BA (DG2)
[16:52:42] [PASSED] 0x56BB (DG2)
[16:52:42] [PASSED] 0x56BC (DG2)
[16:52:42] [PASSED] 0x56BD (DG2)
[16:52:42] [PASSED] 0x5693 (DG2)
[16:52:42] [PASSED] 0x5694 (DG2)
[16:52:42] [PASSED] 0x5695 (DG2)
[16:52:42] [PASSED] 0x56A3 (DG2)
[16:52:42] [PASSED] 0x56A4 (DG2)
[16:52:42] [PASSED] 0x56B2 (DG2)
[16:52:42] [PASSED] 0x56B3 (DG2)
[16:52:42] [PASSED] 0x5696 (DG2)
[16:52:42] [PASSED] 0x5697 (DG2)
[16:52:42] [PASSED] 0xB69 (PVC)
[16:52:42] [PASSED] 0xB6E (PVC)
[16:52:42] [PASSED] 0xBD4 (PVC)
[16:52:42] [PASSED] 0xBD5 (PVC)
[16:52:42] [PASSED] 0xBD6 (PVC)
[16:52:42] [PASSED] 0xBD7 (PVC)
[16:52:42] [PASSED] 0xBD8 (PVC)
[16:52:42] [PASSED] 0xBD9 (PVC)
[16:52:42] [PASSED] 0xBDA (PVC)
[16:52:42] [PASSED] 0xBDB (PVC)
[16:52:42] [PASSED] 0xBE0 (PVC)
[16:52:42] [PASSED] 0xBE1 (PVC)
[16:52:42] [PASSED] 0xBE5 (PVC)
[16:52:42] [PASSED] 0x7D40 (METEORLAKE)
[16:52:42] [PASSED] 0x7D45 (METEORLAKE)
[16:52:42] [PASSED] 0x7D55 (METEORLAKE)
[16:52:42] [PASSED] 0x7D60 (METEORLAKE)
[16:52:42] [PASSED] 0x7DD5 (METEORLAKE)
[16:52:42] [PASSED] 0x6420 (LUNARLAKE)
[16:52:42] [PASSED] 0x64A0 (LUNARLAKE)
[16:52:42] [PASSED] 0x64B0 (LUNARLAKE)
[16:52:42] [PASSED] 0xE202 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE209 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE20B (BATTLEMAGE)
[16:52:42] [PASSED] 0xE20C (BATTLEMAGE)
[16:52:42] [PASSED] 0xE20D (BATTLEMAGE)
[16:52:42] [PASSED] 0xE210 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE211 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE212 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE216 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE220 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE221 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE222 (BATTLEMAGE)
[16:52:42] [PASSED] 0xE223 (BATTLEMAGE)
[16:52:42] [PASSED] 0xB080 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB081 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB082 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB083 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB084 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB085 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB086 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB087 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB08F (PANTHERLAKE)
[16:52:42] [PASSED] 0xB090 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB0A0 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB0A1 (PANTHERLAKE)
[16:52:42] [PASSED] 0xB0B0 (PANTHERLAKE)
[16:52:42] [PASSED] 0xFD80 (PANTHERLAKE)
[16:52:42] [PASSED] 0xFD81 (PANTHERLAKE)
[16:52:42] [PASSED] 0xD740 (NOVALAKE_S)
[16:52:42] [PASSED] 0xD741 (NOVALAKE_S)
[16:52:42] [PASSED] 0xD742 (NOVALAKE_S)
[16:52:42] [PASSED] 0xD743 (NOVALAKE_S)
[16:52:42] [PASSED] 0xD745 (NOVALAKE_S)
[16:52:42] [PASSED] 0xD74A (NOVALAKE_S)
[16:52:42] [PASSED] 0xD74B (NOVALAKE_S)
[16:52:42] [PASSED] 0x674C (CRESCENTISLAND)
[16:52:42] [PASSED] 0x674D (CRESCENTISLAND)
[16:52:42] [PASSED] 0x674E (CRESCENTISLAND)
[16:52:42] [PASSED] 0x674F (CRESCENTISLAND)
[16:52:42] [PASSED] 0x6750 (CRESCENTISLAND)
[16:52:42] [PASSED] 0x6751 (CRESCENTISLAND)
[16:52:42] [PASSED] 0x6752 (CRESCENTISLAND)
[16:52:42] [PASSED] 0xD750 (NOVALAKE_P)
[16:52:42] [PASSED] 0xD751 (NOVALAKE_P)
[16:52:42] [PASSED] 0xD752 (NOVALAKE_P)
[16:52:42] [PASSED] 0xD753 (NOVALAKE_P)
[16:52:42] [PASSED] 0xD754 (NOVALAKE_P)
[16:52:42] [PASSED] 0xD755 (NOVALAKE_P)
[16:52:42] [PASSED] 0xD756 (NOVALAKE_P)
[16:52:42] [PASSED] 0xD757 (NOVALAKE_P)
[16:52:42] [PASSED] 0xD75F (NOVALAKE_P)
[16:52:42] =============== [PASSED] check_platform_desc ===============
[16:52:42] ===================== [PASSED] xe_pci ======================
[16:52:42] ============= xe_rtp_tables_test (5 subtests) ==============
[16:52:42] ================== xe_rtp_table_gt_test ===================
[16:52:42] [PASSED] gt_was/14011060649
[16:52:42] [PASSED] gt_was/14011059788
[16:52:42] [PASSED] gt_was/14015795083
[16:52:42] [PASSED] gt_was/16021867713
[16:52:42] [PASSED] gt_was/14019449301
[16:52:42] [PASSED] gt_was/16028005424
[16:52:42] [PASSED] gt_was/14026578760
[16:52:42] [PASSED] gt_was/1409420604
[16:52:42] [PASSED] gt_was/1408615072
[16:52:42] [PASSED] gt_was/22010523718
[16:52:42] [PASSED] gt_was/14011006942
[16:52:42] [PASSED] gt_was/14014830051
[16:52:42] [PASSED] gt_was/18018781329
[16:52:42] [PASSED] gt_was/1509235366
[16:52:42] [PASSED] gt_was/18018781329
[16:52:42] [PASSED] gt_was/16016694945
[16:52:42] [PASSED] gt_was/14018575942
[16:52:42] [PASSED] gt_was/22016670082
[16:52:42] [PASSED] gt_was/22016670082
[16:52:42] [PASSED] gt_was/14017421178
[16:52:42] [PASSED] gt_was/16025250150
[16:52:42] [PASSED] gt_was/14021871409
[16:52:42] [PASSED] gt_was/16021865536
[16:52:42] [PASSED] gt_was/14021486841
[16:52:42] [PASSED] gt_was/14025160223
[16:52:42] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[16:52:42] [PASSED] gt_was/14025635424
[16:52:42] [PASSED] gt_was/16028005424
[16:52:42] ============== [PASSED] xe_rtp_table_gt_test ===============
[16:52:42] ================== xe_rtp_table_gt_test ===================
[16:52:42] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[16:52:42] [PASSED] gt_tunings/Tuning: 32B Access Enable
[16:52:42] [PASSED] gt_tunings/Tuning: L3 cache
[16:52:42] [PASSED] gt_tunings/Tuning: L3 cache - media
[16:52:42] [PASSED] gt_tunings/Tuning: Compression Overfetch
[16:52:42] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[16:52:42] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[16:52:42] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[16:52:42] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[16:52:42] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[16:52:42] [PASSED] gt_tunings/Tuning: Stateless compression control
[16:52:42] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[16:52:42] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[16:52:42] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[16:52:42] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[16:52:42] [PASSED] gt_tunings/Tuning: Force All Non-Compressible Memory Reads to be 256B Overfetches
[16:52:42] ============== [PASSED] xe_rtp_table_gt_test ===============
[16:52:42] ================== xe_rtp_table_oob_test ==================
[16:52:42] [PASSED] oob_was/1607983814
[16:52:42] [PASSED] oob_was/16010904313
[16:52:42] [PASSED] oob_was/18022495364
[16:52:42] [PASSED] oob_was/22012773006
[16:52:42] [PASSED] oob_was/14014475959
[16:52:42] [PASSED] oob_was/22011391025
[16:52:42] [PASSED] oob_was/22012727170
[16:52:42] [PASSED] oob_was/22012727685
[16:52:42] [PASSED] oob_was/22016596838
[16:52:42] [PASSED] oob_was/18020744125
[16:52:42] [PASSED] oob_was/1409600907
[16:52:42] [PASSED] oob_was/22014953428
[16:52:42] [PASSED] oob_was/16017236439
[16:52:42] [PASSED] oob_was/14019821291
[16:52:42] [PASSED] oob_was/14015076503
[16:52:42] [PASSED] oob_was/22016122933
[16:52:42] [PASSED] oob_was/14018913170
[16:52:42] [PASSED] oob_was/14018094691
[16:52:42] [PASSED] oob_was/18024947630
[16:52:42] [PASSED] oob_was/16022287689
[16:52:42] [PASSED] oob_was/13011645652
[16:52:42] [PASSED] oob_was/14022293748
[16:52:42] [PASSED] oob_was/22019794406
[16:52:42] [PASSED] oob_was/22019338487
[16:52:42] [PASSED] oob_was/16023588340
[16:52:42] [PASSED] oob_was/14019789679
[16:52:42] [PASSED] oob_was/14022866841
[16:52:42] [PASSED] oob_was/16021333562
[16:52:42] [PASSED] oob_was/14016712196
[16:52:42] [PASSED] oob_was/14015568240
[16:52:42] [PASSED] oob_was/18013179988
[16:52:42] [PASSED] oob_was/1508761755
[16:52:42] [PASSED] oob_was/16023105232
[16:52:42] [PASSED] oob_was/16026508708
[16:52:42] [PASSED] oob_was/14020001231
[16:52:42] [PASSED] oob_was/16023683509
[16:52:42] [PASSED] oob_was/14025515070
[16:52:42] [PASSED] oob_was/15015404425_disable
[16:52:42] [PASSED] oob_was/16026007364
[16:52:42] [PASSED] oob_was/14020316580
[16:52:42] [PASSED] oob_was/14025883347
[16:52:42] [PASSED] oob_was/16029380221
[16:52:42] [PASSED] oob_was/22022079272
[16:52:42] [PASSED] oob_was/16029897822
[16:52:42] [PASSED] oob_was/14026539277
[16:52:42] [PASSED] oob_was/14027054324
[16:52:42] [PASSED] oob_was/14025941587
[16:52:42] [PASSED] oob_was/16030224309
[16:52:42] [PASSED] oob_was/14028709524
[16:52:42] ============== [PASSED] xe_rtp_table_oob_test ==============
[16:52:42] ================ xe_rtp_table_dev_oob_test ================
[16:52:42] [PASSED] device_oob_was/22010954014
[16:52:42] [PASSED] device_oob_was/15015404425
[16:52:42] [PASSED] device_oob_was/22019338487_display
[16:52:42] [PASSED] device_oob_was/14022085890
[16:52:42] [PASSED] device_oob_was/14026633728
[16:52:42] [PASSED] device_oob_was/14026746987
[16:52:42] [PASSED] device_oob_was/14026779378
[16:52:42] [PASSED] device_oob_was/14028586678
[16:52:42] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[16:52:42] ========== xe_rtp_table_missing_upper_bound_test ==========
[16:52:42] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[16:52:42] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[16:52:42] [PASSED] register_whitelist/1806527549
[16:52:42] [PASSED] register_whitelist/allow_read_ctx_timestamp
[16:52:42] [PASSED] register_whitelist/allow_read_queue_timestamp
[16:52:42] [PASSED] register_whitelist/16014440446
[16:52:42] [PASSED] register_whitelist/16017236439
[16:52:42] [PASSED] register_whitelist/16020183090
[16:52:42] [PASSED] register_whitelist/14024997852
[16:52:42] [PASSED] register_whitelist/14024997852
[16:52:42] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[16:52:42] =============== [PASSED] xe_rtp_tables_test ================
[16:52:42] =================== xe_rtp (3 subtests) ====================
[16:52:42] =================== xe_rtp_rules_tests ====================
[16:52:42] [PASSED] no
[16:52:42] [PASSED] yes
[16:52:42] [PASSED] no-and-no
[16:52:42] [PASSED] no-and-yes
[16:52:42] [PASSED] yes-and-no
[16:52:42] [PASSED] yes-and-yes
[16:52:42] [PASSED] no-or-no
[16:52:42] [PASSED] no-or-yes
[16:52:42] [PASSED] yes-or-no
[16:52:42] [PASSED] yes-or-yes
[16:52:42] [PASSED] no-yes-or-yes-no
[16:52:42] [PASSED] no-yes-or-yes-yes
[16:52:42] [PASSED] yes-yes-or-no-yes
[16:52:42] [PASSED] yes-yes-or-yes-yes
[16:52:42] [PASSED] no-no-or-yes-or-no
[16:52:42] [PASSED] or
[16:52:42] [PASSED] or-yes
[16:52:42] [PASSED] or-no
[16:52:42] [PASSED] yes-or
[16:52:42] [PASSED] no-or
[16:52:42] [PASSED] no-or-or-yes
[16:52:42] [PASSED] yes-or-or-no
[16:52:42] [PASSED] no-or-or-no
[16:52:42] [PASSED] missing-context-engine-class
[16:52:42] [PASSED] missing-context-engine-class-or-yes
[16:52:42] [PASSED] missing-context-engine-class-or-or-yes
[16:52:42] =============== [PASSED] xe_rtp_rules_tests ================
[16:52:42] =============== xe_rtp_process_to_sr_tests ================
[16:52:42] [PASSED] coalesce-same-reg
[16:52:42] [PASSED] coalesce-same-reg-literal-and-func
[16:52:42] [PASSED] no-match-no-add
[16:52:42] [PASSED] two-regs-two-entries
[16:52:42] [PASSED] clr-one-set-other
[16:52:42] [PASSED] set-field
[16:52:42] [PASSED] conflict-duplicate
[16:52:42] [PASSED] conflict-not-disjoint
[16:52:42] [PASSED] conflict-not-disjoint-literal-and-func
[16:52:42] [PASSED] conflict-reg-type
[16:52:42] [PASSED] bad-mcr-reg-forced-to-regular
[16:52:42] [PASSED] bad-regular-reg-forced-to-mcr
[16:52:42] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[16:52:42] ================== xe_rtp_process_tests ===================
[16:52:42] [PASSED] active1
[16:52:42] [PASSED] active2
[16:52:42] [PASSED] active-inactive
[16:52:42] [PASSED] inactive-active
[16:52:42] [PASSED] inactive-active-inactive
[16:52:42] [PASSED] inactive-inactive-inactive
[16:52:42] ============== [PASSED] xe_rtp_process_tests ===============
[16:52:42] ===================== [PASSED] xe_rtp ======================
[16:52:42] ==================== xe_wa (1 subtest) =====================
[16:52:42] ======================== xe_wa_gt =========================
[16:52:42] [PASSED] TIGERLAKE B0
[16:52:42] [PASSED] DG1 A0
[16:52:42] [PASSED] DG1 B0
[16:52:42] [PASSED] ALDERLAKE_S A0
[16:52:42] [PASSED] ALDERLAKE_S B0
[16:52:42] [PASSED] ALDERLAKE_S C0
[16:52:42] [PASSED] ALDERLAKE_S D0
[16:52:42] [PASSED] ALDERLAKE_P A0
[16:52:42] [PASSED] ALDERLAKE_P B0
[16:52:42] [PASSED] ALDERLAKE_P C0
[16:52:42] [PASSED] ALDERLAKE_S RPLS D0
[16:52:42] [PASSED] ALDERLAKE_P RPLU E0
[16:52:42] [PASSED] DG2 G10 C0
[16:52:42] [PASSED] DG2 G11 B1
[16:52:42] [PASSED] DG2 G12 A1
[16:52:42] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:52:42] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:52:42] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[16:52:42] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[16:52:42] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[16:52:42] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[16:52:42] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[16:52:42] ==================== [PASSED] xe_wa_gt =====================
[16:52:42] ====================== [PASSED] xe_wa ======================
[16:52:42] ============================================================
[16:52:42] Testing complete. Ran 841 tests: passed: 812, skipped: 29
[16:52:42] Elapsed time: 41.686s total, 2.577s configuring, 38.343s building, 0.714s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[16:52:42] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:52:45] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:53:10] Starting KUnit Kernel (1/1)...
[16:53:10] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:53:10] ============ drm_test_pick_cmdline (2 subtests) ============
[16:53:10] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[16:53:10] =============== drm_test_pick_cmdline_named ===============
[16:53:10] [PASSED] NTSC
[16:53:10] [PASSED] NTSC-J
[16:53:10] [PASSED] PAL
[16:53:10] [PASSED] PAL-M
[16:53:10] =========== [PASSED] drm_test_pick_cmdline_named ===========
[16:53:10] ============== [PASSED] drm_test_pick_cmdline ==============
[16:53:10] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[16:53:10] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[16:53:10] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[16:53:10] =========== drm_validate_clone_mode (2 subtests) ===========
[16:53:10] ============== drm_test_check_in_clone_mode ===============
[16:53:10] [PASSED] in_clone_mode
[16:53:10] [PASSED] not_in_clone_mode
[16:53:10] ========== [PASSED] drm_test_check_in_clone_mode ===========
[16:53:10] =============== drm_test_check_valid_clones ===============
[16:53:10] [PASSED] not_in_clone_mode
[16:53:10] [PASSED] valid_clone
[16:53:10] [PASSED] invalid_clone
[16:53:10] =========== [PASSED] drm_test_check_valid_clones ===========
[16:53:10] ============= [PASSED] drm_validate_clone_mode =============
[16:53:10] ============= drm_validate_modeset (1 subtest) =============
[16:53:10] [PASSED] drm_test_check_connector_changed_modeset
[16:53:10] ============== [PASSED] drm_validate_modeset ===============
[16:53:10] ====== drm_test_bridge_get_current_state (1 subtest) =======
[16:53:10] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[16:53:10] ======== [PASSED] drm_test_bridge_get_current_state ========
[16:53:10] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[16:53:10] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[16:53:10] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[16:53:10] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[16:53:10] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[16:53:10] ============== drm_bridge_alloc (2 subtests) ===============
[16:53:10] [PASSED] drm_test_drm_bridge_alloc_basic
[16:53:10] [PASSED] drm_test_drm_bridge_alloc_get_put
[16:53:10] ================ [PASSED] drm_bridge_alloc =================
[16:53:10] ============= drm_bridge_bus_fmt (5 subtests) ==============
[16:53:10] [PASSED] drm_test_bridge_rgb_yuv_rgb
[16:53:10] [PASSED] drm_test_bridge_must_convert_to_yuv444
[16:53:10] [PASSED] drm_test_bridge_hdmi_auto_rgb
[16:53:10] [PASSED] drm_test_bridge_auto_first
[16:53:10] [PASSED] drm_test_bridge_rgb_yuv_no_path
[16:53:10] =============== [PASSED] drm_bridge_bus_fmt ================
[16:53:10] ============= drm_cmdline_parser (40 subtests) =============
[16:53:10] [PASSED] drm_test_cmdline_force_d_only
[16:53:10] [PASSED] drm_test_cmdline_force_D_only_dvi
[16:53:10] [PASSED] drm_test_cmdline_force_D_only_hdmi
[16:53:10] [PASSED] drm_test_cmdline_force_D_only_not_digital
[16:53:10] [PASSED] drm_test_cmdline_force_e_only
[16:53:10] [PASSED] drm_test_cmdline_res
[16:53:10] [PASSED] drm_test_cmdline_res_vesa
[16:53:10] [PASSED] drm_test_cmdline_res_vesa_rblank
[16:53:10] [PASSED] drm_test_cmdline_res_rblank
[16:53:10] [PASSED] drm_test_cmdline_res_bpp
[16:53:10] [PASSED] drm_test_cmdline_res_refresh
[16:53:10] [PASSED] drm_test_cmdline_res_bpp_refresh
[16:53:10] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[16:53:10] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[16:53:10] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[16:53:10] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[16:53:10] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[16:53:10] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[16:53:10] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[16:53:10] [PASSED] drm_test_cmdline_res_margins_force_on
[16:53:10] [PASSED] drm_test_cmdline_res_vesa_margins
[16:53:10] [PASSED] drm_test_cmdline_name
[16:53:10] [PASSED] drm_test_cmdline_name_bpp
[16:53:10] [PASSED] drm_test_cmdline_name_option
[16:53:10] [PASSED] drm_test_cmdline_name_bpp_option
[16:53:10] [PASSED] drm_test_cmdline_rotate_0
[16:53:10] [PASSED] drm_test_cmdline_rotate_90
[16:53:10] [PASSED] drm_test_cmdline_rotate_180
[16:53:10] [PASSED] drm_test_cmdline_rotate_270
[16:53:10] [PASSED] drm_test_cmdline_hmirror
[16:53:10] [PASSED] drm_test_cmdline_vmirror
[16:53:10] [PASSED] drm_test_cmdline_margin_options
[16:53:10] [PASSED] drm_test_cmdline_multiple_options
[16:53:10] [PASSED] drm_test_cmdline_bpp_extra_and_option
[16:53:10] [PASSED] drm_test_cmdline_extra_and_option
[16:53:10] [PASSED] drm_test_cmdline_freestanding_options
[16:53:10] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[16:53:10] [PASSED] drm_test_cmdline_panel_orientation
[16:53:10] ================ drm_test_cmdline_invalid =================
[16:53:10] [PASSED] margin_only
[16:53:10] [PASSED] interlace_only
[16:53:10] [PASSED] res_missing_x
[16:53:10] [PASSED] res_missing_y
[16:53:10] [PASSED] res_bad_y
[16:53:10] [PASSED] res_missing_y_bpp
[16:53:10] [PASSED] res_bad_bpp
[16:53:10] [PASSED] res_bad_refresh
[16:53:10] [PASSED] res_bpp_refresh_force_on_off
[16:53:10] [PASSED] res_invalid_mode
[16:53:10] [PASSED] res_bpp_wrong_place_mode
[16:53:10] [PASSED] name_bpp_refresh
[16:53:10] [PASSED] name_refresh
[16:53:10] [PASSED] name_refresh_wrong_mode
[16:53:10] [PASSED] name_refresh_invalid_mode
[16:53:10] [PASSED] rotate_multiple
[16:53:10] [PASSED] rotate_invalid_val
[16:53:10] [PASSED] rotate_truncated
[16:53:10] [PASSED] invalid_option
[16:53:10] [PASSED] invalid_tv_option
[16:53:10] [PASSED] truncated_tv_option
[16:53:10] ============ [PASSED] drm_test_cmdline_invalid =============
[16:53:10] =============== drm_test_cmdline_tv_options ===============
[16:53:10] [PASSED] NTSC
[16:53:10] [PASSED] NTSC_443
[16:53:10] [PASSED] NTSC_J
[16:53:10] [PASSED] PAL
[16:53:10] [PASSED] PAL_M
[16:53:10] [PASSED] PAL_N
[16:53:10] [PASSED] SECAM
[16:53:10] [PASSED] MONO_525
[16:53:10] [PASSED] MONO_625
[16:53:10] =========== [PASSED] drm_test_cmdline_tv_options ===========
[16:53:10] =============== [PASSED] drm_cmdline_parser ================
[16:53:10] ========== drmm_connector_hdmi_init (20 subtests) ==========
[16:53:10] [PASSED] drm_test_connector_hdmi_init_valid
[16:53:10] [PASSED] drm_test_connector_hdmi_init_bpc_8
[16:53:10] [PASSED] drm_test_connector_hdmi_init_bpc_10
[16:53:10] [PASSED] drm_test_connector_hdmi_init_bpc_12
[16:53:10] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[16:53:10] [PASSED] drm_test_connector_hdmi_init_bpc_null
[16:53:10] [PASSED] drm_test_connector_hdmi_init_formats_empty
[16:53:10] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[16:53:10] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:53:10] [PASSED] supported_formats=0x9 yuv420_allowed=1
[16:53:10] [PASSED] supported_formats=0x9 yuv420_allowed=0
[16:53:10] [PASSED] supported_formats=0x5 yuv420_allowed=1
[16:53:10] [PASSED] supported_formats=0x5 yuv420_allowed=0
[16:53:10] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:53:10] [PASSED] drm_test_connector_hdmi_init_null_ddc
[16:53:10] [PASSED] drm_test_connector_hdmi_init_null_product
[16:53:10] [PASSED] drm_test_connector_hdmi_init_null_vendor
[16:53:10] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[16:53:10] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[16:53:10] [PASSED] drm_test_connector_hdmi_init_product_valid
[16:53:10] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[16:53:10] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[16:53:10] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[16:53:10] ========= drm_test_connector_hdmi_init_type_valid =========
[16:53:10] [PASSED] HDMI-A
[16:53:10] [PASSED] HDMI-B
[16:53:10] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[16:53:10] ======== drm_test_connector_hdmi_init_type_invalid ========
[16:53:10] [PASSED] Unknown
[16:53:10] [PASSED] VGA
[16:53:10] [PASSED] DVI-I
[16:53:10] [PASSED] DVI-D
[16:53:10] [PASSED] DVI-A
[16:53:10] [PASSED] Composite
[16:53:10] [PASSED] SVIDEO
[16:53:10] [PASSED] LVDS
[16:53:10] [PASSED] Component
[16:53:10] [PASSED] DIN
[16:53:10] [PASSED] DP
[16:53:10] [PASSED] TV
[16:53:10] [PASSED] eDP
[16:53:10] [PASSED] Virtual
[16:53:10] [PASSED] DSI
[16:53:10] [PASSED] DPI
[16:53:10] [PASSED] Writeback
[16:53:10] [PASSED] SPI
[16:53:10] [PASSED] USB
[16:53:10] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[16:53:10] ============ [PASSED] drmm_connector_hdmi_init =============
[16:53:10] ============= drmm_connector_init (3 subtests) =============
[16:53:10] [PASSED] drm_test_drmm_connector_init
[16:53:10] [PASSED] drm_test_drmm_connector_init_null_ddc
[16:53:10] ========= drm_test_drmm_connector_init_type_valid =========
[16:53:10] [PASSED] Unknown
[16:53:10] [PASSED] VGA
[16:53:10] [PASSED] DVI-I
[16:53:10] [PASSED] DVI-D
[16:53:10] [PASSED] DVI-A
[16:53:10] [PASSED] Composite
[16:53:10] [PASSED] SVIDEO
[16:53:10] [PASSED] LVDS
[16:53:10] [PASSED] Component
[16:53:10] [PASSED] DIN
[16:53:10] [PASSED] DP
[16:53:10] [PASSED] HDMI-A
[16:53:10] [PASSED] HDMI-B
[16:53:10] [PASSED] TV
[16:53:10] [PASSED] eDP
[16:53:10] [PASSED] Virtual
[16:53:10] [PASSED] DSI
[16:53:10] [PASSED] DPI
[16:53:10] [PASSED] Writeback
[16:53:10] [PASSED] SPI
[16:53:10] [PASSED] USB
[16:53:10] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[16:53:10] =============== [PASSED] drmm_connector_init ===============
[16:53:10] ========= drm_connector_dynamic_init (6 subtests) ==========
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_init
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_init_properties
[16:53:10] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[16:53:10] [PASSED] Unknown
[16:53:10] [PASSED] VGA
[16:53:10] [PASSED] DVI-I
[16:53:10] [PASSED] DVI-D
[16:53:10] [PASSED] DVI-A
[16:53:10] [PASSED] Composite
[16:53:10] [PASSED] SVIDEO
[16:53:10] [PASSED] LVDS
[16:53:10] [PASSED] Component
[16:53:10] [PASSED] DIN
[16:53:10] [PASSED] DP
[16:53:10] [PASSED] HDMI-A
[16:53:10] [PASSED] HDMI-B
[16:53:10] [PASSED] TV
[16:53:10] [PASSED] eDP
[16:53:10] [PASSED] Virtual
[16:53:10] [PASSED] DSI
[16:53:10] [PASSED] DPI
[16:53:10] [PASSED] Writeback
[16:53:10] [PASSED] SPI
[16:53:10] [PASSED] USB
[16:53:10] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[16:53:10] ======== drm_test_drm_connector_dynamic_init_name =========
[16:53:10] [PASSED] Unknown
[16:53:10] [PASSED] VGA
[16:53:10] [PASSED] DVI-I
[16:53:10] [PASSED] DVI-D
[16:53:10] [PASSED] DVI-A
[16:53:10] [PASSED] Composite
[16:53:10] [PASSED] SVIDEO
[16:53:10] [PASSED] LVDS
[16:53:10] [PASSED] Component
[16:53:10] [PASSED] DIN
[16:53:10] [PASSED] DP
[16:53:10] [PASSED] HDMI-A
[16:53:10] [PASSED] HDMI-B
[16:53:10] [PASSED] TV
[16:53:10] [PASSED] eDP
[16:53:10] [PASSED] Virtual
[16:53:10] [PASSED] DSI
[16:53:10] [PASSED] DPI
[16:53:10] [PASSED] Writeback
[16:53:10] [PASSED] SPI
[16:53:10] [PASSED] USB
[16:53:10] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[16:53:10] =========== [PASSED] drm_connector_dynamic_init ============
[16:53:10] ==== drm_connector_dynamic_register_early (4 subtests) =====
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[16:53:10] ====== [PASSED] drm_connector_dynamic_register_early =======
[16:53:10] ======= drm_connector_dynamic_register (7 subtests) ========
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[16:53:10] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[16:53:10] ========= [PASSED] drm_connector_dynamic_register ==========
[16:53:10] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[16:53:10] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[16:53:10] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[16:53:10] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[16:53:10] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[16:53:10] ========== drm_test_get_tv_mode_from_name_valid ===========
[16:53:10] [PASSED] NTSC
[16:53:10] [PASSED] NTSC-443
[16:53:10] [PASSED] NTSC-J
[16:53:10] [PASSED] PAL
[16:53:10] [PASSED] PAL-M
[16:53:10] [PASSED] PAL-N
[16:53:10] [PASSED] SECAM
[16:53:10] [PASSED] Mono
[16:53:10] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[16:53:10] [PASSED] drm_test_get_tv_mode_from_name_truncated
[16:53:10] ============ [PASSED] drm_get_tv_mode_from_name ============
[16:53:10] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[16:53:10] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[16:53:10] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[16:53:10] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[16:53:10] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[16:53:10] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[16:53:10] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[16:53:10] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[16:53:10] [PASSED] VIC 96
[16:53:10] [PASSED] VIC 97
[16:53:10] [PASSED] VIC 101
[16:53:10] [PASSED] VIC 102
[16:53:10] [PASSED] VIC 106
[16:53:10] [PASSED] VIC 107
[16:53:10] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[16:53:10] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[16:53:10] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[16:53:10] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[16:53:10] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[16:53:10] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[16:53:10] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[16:53:10] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[16:53:10] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[16:53:10] [PASSED] Automatic
[16:53:10] [PASSED] Full
[16:53:10] [PASSED] Limited 16:235
[16:53:10] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[16:53:10] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[16:53:10] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[16:53:10] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[16:53:10] === drm_test_drm_hdmi_connector_get_output_format_name ====
[16:53:10] [PASSED] RGB
[16:53:10] [PASSED] YUV 4:2:0
[16:53:10] [PASSED] YUV 4:2:2
[16:53:10] [PASSED] YUV 4:4:4
[16:53:10] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[16:53:10] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[16:53:10] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[16:53:10] ============= drm_damage_helper (21 subtests) ==============
[16:53:10] [PASSED] drm_test_damage_iter_no_damage
[16:53:10] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[16:53:10] [PASSED] drm_test_damage_iter_no_damage_src_moved
[16:53:10] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[16:53:10] [PASSED] drm_test_damage_iter_no_damage_not_visible
[16:53:10] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[16:53:10] [PASSED] drm_test_damage_iter_no_damage_no_fb
[16:53:10] [PASSED] drm_test_damage_iter_simple_damage
[16:53:10] [PASSED] drm_test_damage_iter_single_damage
[16:53:10] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[16:53:10] [PASSED] drm_test_damage_iter_single_damage_outside_src
[16:53:10] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[16:53:10] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[16:53:10] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[16:53:10] [PASSED] drm_test_damage_iter_single_damage_src_moved
[16:53:10] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[16:53:10] [PASSED] drm_test_damage_iter_damage
[16:53:10] [PASSED] drm_test_damage_iter_damage_one_intersect
[16:53:10] [PASSED] drm_test_damage_iter_damage_one_outside
[16:53:10] [PASSED] drm_test_damage_iter_damage_src_moved
[16:53:10] [PASSED] drm_test_damage_iter_damage_not_visible
[16:53:10] ================ [PASSED] drm_damage_helper ================
[16:53:10] ============== drm_dp_mst_helper (3 subtests) ==============
[16:53:10] ============== drm_test_dp_mst_calc_pbn_mode ==============
[16:53:10] [PASSED] Clock 154000 BPP 30 DSC disabled
[16:53:10] [PASSED] Clock 234000 BPP 30 DSC disabled
[16:53:10] [PASSED] Clock 297000 BPP 24 DSC disabled
[16:53:10] [PASSED] Clock 332880 BPP 24 DSC enabled
[16:53:10] [PASSED] Clock 324540 BPP 24 DSC enabled
[16:53:10] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[16:53:10] ============== drm_test_dp_mst_calc_pbn_div ===============
[16:53:10] [PASSED] Link rate 2000000 lane count 4
[16:53:10] [PASSED] Link rate 2000000 lane count 2
[16:53:10] [PASSED] Link rate 2000000 lane count 1
[16:53:10] [PASSED] Link rate 1350000 lane count 4
[16:53:10] [PASSED] Link rate 1350000 lane count 2
[16:53:10] [PASSED] Link rate 1350000 lane count 1
[16:53:10] [PASSED] Link rate 1000000 lane count 4
[16:53:10] [PASSED] Link rate 1000000 lane count 2
[16:53:10] [PASSED] Link rate 1000000 lane count 1
[16:53:10] [PASSED] Link rate 810000 lane count 4
[16:53:10] [PASSED] Link rate 810000 lane count 2
[16:53:10] [PASSED] Link rate 810000 lane count 1
[16:53:10] [PASSED] Link rate 540000 lane count 4
[16:53:10] [PASSED] Link rate 540000 lane count 2
[16:53:10] [PASSED] Link rate 540000 lane count 1
[16:53:10] [PASSED] Link rate 270000 lane count 4
[16:53:10] [PASSED] Link rate 270000 lane count 2
[16:53:10] [PASSED] Link rate 270000 lane count 1
[16:53:10] [PASSED] Link rate 162000 lane count 4
[16:53:10] [PASSED] Link rate 162000 lane count 2
[16:53:10] [PASSED] Link rate 162000 lane count 1
[16:53:10] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[16:53:10] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[16:53:10] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[16:53:10] [PASSED] DP_POWER_UP_PHY with port number
[16:53:10] [PASSED] DP_POWER_DOWN_PHY with port number
[16:53:10] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[16:53:10] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[16:53:10] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[16:53:10] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[16:53:10] [PASSED] DP_QUERY_PAYLOAD with port number
[16:53:10] [PASSED] DP_QUERY_PAYLOAD with VCPI
[16:53:10] [PASSED] DP_REMOTE_DPCD_READ with port number
[16:53:10] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[16:53:10] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[16:53:10] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[16:53:10] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[16:53:10] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[16:53:10] [PASSED] DP_REMOTE_I2C_READ with port number
[16:53:10] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[16:53:10] [PASSED] DP_REMOTE_I2C_READ with transactions array
[16:53:10] [PASSED] DP_REMOTE_I2C_WRITE with port number
[16:53:10] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[16:53:10] [PASSED] DP_REMOTE_I2C_WRITE with data array
[16:53:10] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[16:53:10] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[16:53:10] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[16:53:10] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[16:53:10] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[16:53:10] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[16:53:10] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[16:53:10] ================ [PASSED] drm_dp_mst_helper ================
[16:53:10] ================== drm_exec (7 subtests) ===================
[16:53:10] [PASSED] sanitycheck
[16:53:10] [PASSED] test_lock
[16:53:10] [PASSED] test_lock_unlock
[16:53:10] [PASSED] test_duplicates
[16:53:10] [PASSED] test_prepare
[16:53:10] [PASSED] test_prepare_array
[16:53:10] [PASSED] test_multiple_loops
[16:53:10] ==================== [PASSED] drm_exec =====================
[16:53:10] =========== drm_format_helper_test (17 subtests) ===========
[16:53:10] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[16:53:10] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[16:53:10] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[16:53:10] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[16:53:10] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[16:53:10] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[16:53:10] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[16:53:10] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[16:53:10] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[16:53:10] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[16:53:10] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[16:53:10] ============== drm_test_fb_xrgb8888_to_mono ===============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[16:53:10] ==================== drm_test_fb_swab =====================
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ================ [PASSED] drm_test_fb_swab =================
[16:53:10] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[16:53:10] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[16:53:10] [PASSED] single_pixel_source_buffer
[16:53:10] [PASSED] single_pixel_clip_rectangle
[16:53:10] [PASSED] well_known_colors
[16:53:10] [PASSED] destination_pitch
[16:53:10] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[16:53:10] ================= drm_test_fb_clip_offset =================
[16:53:10] [PASSED] pass through
[16:53:10] [PASSED] horizontal offset
[16:53:10] [PASSED] vertical offset
[16:53:10] [PASSED] horizontal and vertical offset
[16:53:10] [PASSED] horizontal offset (custom pitch)
[16:53:10] [PASSED] vertical offset (custom pitch)
[16:53:10] [PASSED] horizontal and vertical offset (custom pitch)
[16:53:10] ============= [PASSED] drm_test_fb_clip_offset =============
[16:53:10] =================== drm_test_fb_memcpy ====================
[16:53:10] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[16:53:10] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[16:53:10] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[16:53:10] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[16:53:10] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[16:53:10] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[16:53:10] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[16:53:10] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[16:53:10] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[16:53:10] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[16:53:10] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[16:53:10] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[16:53:10] =============== [PASSED] drm_test_fb_memcpy ================
[16:53:10] ============= [PASSED] drm_format_helper_test ==============
[16:53:10] ================= drm_format (18 subtests) =================
[16:53:10] [PASSED] drm_test_format_block_width_invalid
[16:53:10] [PASSED] drm_test_format_block_width_one_plane
[16:53:10] [PASSED] drm_test_format_block_width_two_plane
[16:53:10] [PASSED] drm_test_format_block_width_three_plane
[16:53:10] [PASSED] drm_test_format_block_width_tiled
[16:53:10] [PASSED] drm_test_format_block_height_invalid
[16:53:10] [PASSED] drm_test_format_block_height_one_plane
[16:53:10] [PASSED] drm_test_format_block_height_two_plane
[16:53:10] [PASSED] drm_test_format_block_height_three_plane
[16:53:10] [PASSED] drm_test_format_block_height_tiled
[16:53:10] [PASSED] drm_test_format_min_pitch_invalid
[16:53:10] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[16:53:10] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[16:53:10] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[16:53:10] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[16:53:10] [PASSED] drm_test_format_min_pitch_two_plane
[16:53:10] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[16:53:10] [PASSED] drm_test_format_min_pitch_tiled
[16:53:10] =================== [PASSED] drm_format ====================
[16:53:10] ============== drm_framebuffer (10 subtests) ===============
[16:53:10] ========== drm_test_framebuffer_check_src_coords ==========
[16:53:10] [PASSED] Success: source fits into fb
[16:53:10] [PASSED] Fail: overflowing fb with x-axis coordinate
[16:53:10] [PASSED] Fail: overflowing fb with y-axis coordinate
[16:53:10] [PASSED] Fail: overflowing fb with source width
[16:53:10] [PASSED] Fail: overflowing fb with source height
[16:53:10] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[16:53:10] [PASSED] drm_test_framebuffer_cleanup
[16:53:10] =============== drm_test_framebuffer_create ===============
[16:53:10] [PASSED] ABGR8888 normal sizes
[16:53:10] [PASSED] ABGR8888 max sizes
[16:53:10] [PASSED] ABGR8888 pitch greater than min required
[16:53:10] [PASSED] ABGR8888 pitch less than min required
[16:53:10] [PASSED] ABGR8888 Invalid width
[16:53:10] [PASSED] ABGR8888 Invalid buffer handle
[16:53:10] [PASSED] No pixel format
[16:53:10] [PASSED] ABGR8888 Width 0
[16:53:10] [PASSED] ABGR8888 Height 0
[16:53:10] [PASSED] ABGR8888 Out of bound height * pitch combination
[16:53:10] [PASSED] ABGR8888 Large buffer offset
[16:53:10] [PASSED] ABGR8888 Buffer offset for inexistent plane
[16:53:10] [PASSED] ABGR8888 Invalid flag
[16:53:10] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[16:53:10] [PASSED] ABGR8888 Valid buffer modifier
[16:53:10] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[16:53:10] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[16:53:10] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[16:53:10] [PASSED] NV12 Normal sizes
[16:53:10] [PASSED] NV12 Max sizes
[16:53:10] [PASSED] NV12 Invalid pitch
[16:53:10] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[16:53:10] [PASSED] NV12 different modifier per-plane
[16:53:10] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[16:53:10] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[16:53:10] [PASSED] NV12 Modifier for inexistent plane
[16:53:10] [PASSED] NV12 Handle for inexistent plane
[16:53:10] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[16:53:10] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[16:53:10] [PASSED] YVU420 Normal sizes
[16:53:10] [PASSED] YVU420 Max sizes
[16:53:10] [PASSED] YVU420 Invalid pitch
[16:53:10] [PASSED] YVU420 Different pitches
[16:53:10] [PASSED] YVU420 Different buffer offsets/pitches
[16:53:10] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[16:53:10] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[16:53:10] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[16:53:10] [PASSED] YVU420 Valid modifier
[16:53:10] [PASSED] YVU420 Different modifiers per plane
[16:53:10] [PASSED] YVU420 Modifier for inexistent plane
[16:53:10] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[16:53:10] [PASSED] X0L2 Normal sizes
[16:53:10] [PASSED] X0L2 Max sizes
[16:53:10] [PASSED] X0L2 Invalid pitch
[16:53:10] [PASSED] X0L2 Pitch greater than minimum required
[16:53:10] [PASSED] X0L2 Handle for inexistent plane
[16:53:10] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[16:53:10] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[16:53:10] [PASSED] X0L2 Valid modifier
[16:53:10] [PASSED] X0L2 Modifier for inexistent plane
[16:53:10] =========== [PASSED] drm_test_framebuffer_create ===========
[16:53:10] [PASSED] drm_test_framebuffer_free
[16:53:10] [PASSED] drm_test_framebuffer_init
[16:53:10] [PASSED] drm_test_framebuffer_init_bad_format
[16:53:10] [PASSED] drm_test_framebuffer_init_dev_mismatch
[16:53:10] [PASSED] drm_test_framebuffer_lookup
[16:53:10] [PASSED] drm_test_framebuffer_lookup_inexistent
[16:53:10] [PASSED] drm_test_framebuffer_modifiers_not_supported
[16:53:10] ================= [PASSED] drm_framebuffer =================
[16:53:10] ================ drm_gem_shmem (8 subtests) ================
[16:53:10] [PASSED] drm_gem_shmem_test_obj_create
[16:53:10] [PASSED] drm_gem_shmem_test_obj_create_private
[16:53:10] [PASSED] drm_gem_shmem_test_pin_pages
[16:53:10] [PASSED] drm_gem_shmem_test_vmap
[16:53:10] [PASSED] drm_gem_shmem_test_get_sg_table
[16:53:10] [PASSED] drm_gem_shmem_test_get_pages_sgt
[16:53:10] [PASSED] drm_gem_shmem_test_madvise
[16:53:10] [PASSED] drm_gem_shmem_test_purge
[16:53:10] ================== [PASSED] drm_gem_shmem ==================
[16:53:10] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[16:53:10] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[16:53:10] [PASSED] Automatic
[16:53:10] [PASSED] Full
[16:53:10] [PASSED] Limited 16:235
[16:53:10] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[16:53:10] [PASSED] drm_test_check_disable_connector
[16:53:10] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[16:53:10] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[16:53:10] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[16:53:10] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[16:53:10] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[16:53:10] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[16:53:10] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[16:53:10] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[16:53:10] [PASSED] drm_test_check_output_bpc_dvi
[16:53:10] [PASSED] drm_test_check_output_bpc_format_vic_1
[16:53:10] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[16:53:10] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[16:53:10] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[16:53:10] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[16:53:10] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[16:53:10] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[16:53:10] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[16:53:10] ============ drm_test_check_hdmi_color_format =============
[16:53:10] [PASSED] AUTO -> RGB
[16:53:10] [PASSED] YCBCR422 -> YUV422
[16:53:10] [PASSED] YCBCR420 -> YUV420
[16:53:10] [PASSED] YCBCR444 -> YUV444
[16:53:10] [PASSED] RGB -> RGB
[16:53:10] ======== [PASSED] drm_test_check_hdmi_color_format =========
[16:53:10] ======== drm_test_check_hdmi_color_format_420_only ========
[16:53:10] [PASSED] RGB should fail
[16:53:10] [PASSED] YUV444 should fail
[16:53:10] [PASSED] YUV422 should fail
[16:53:10] [PASSED] YUV420 should work
[16:53:10] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[16:53:10] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[16:53:10] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[16:53:10] [PASSED] drm_test_check_broadcast_rgb_value
[16:53:10] [PASSED] drm_test_check_bpc_8_value
[16:53:10] [PASSED] drm_test_check_bpc_10_value
[16:53:10] [PASSED] drm_test_check_bpc_12_value
[16:53:10] [PASSED] drm_test_check_format_value
[16:53:10] [PASSED] drm_test_check_tmds_char_value
[16:53:10] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[16:53:10] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[16:53:10] [PASSED] drm_test_check_mode_valid
[16:53:10] [PASSED] drm_test_check_mode_valid_reject
[16:53:10] [PASSED] drm_test_check_mode_valid_reject_rate
[16:53:10] [PASSED] drm_test_check_mode_valid_reject_max_clock
[16:53:10] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[16:53:10] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[16:53:10] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[16:53:10] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[16:53:10] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[16:53:10] [PASSED] drm_test_check_infoframes
[16:53:10] [PASSED] drm_test_check_reject_avi_infoframe
[16:53:10] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[16:53:10] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[16:53:10] [PASSED] drm_test_check_reject_audio_infoframe
[16:53:10] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[16:53:10] ================= drm_managed (2 subtests) =================
[16:53:10] [PASSED] drm_test_managed_release_action
[16:53:10] [PASSED] drm_test_managed_run_action
[16:53:10] =================== [PASSED] drm_managed ===================
[16:53:10] =================== drm_mm (6 subtests) ====================
[16:53:10] [PASSED] drm_test_mm_init
[16:53:10] [PASSED] drm_test_mm_debug
[16:53:10] [PASSED] drm_test_mm_align32
[16:53:10] [PASSED] drm_test_mm_align64
[16:53:10] [PASSED] drm_test_mm_lowest
[16:53:10] [PASSED] drm_test_mm_highest
[16:53:10] ===================== [PASSED] drm_mm ======================
[16:53:10] ============= drm_modes_analog_tv (5 subtests) =============
[16:53:10] [PASSED] drm_test_modes_analog_tv_mono_576i
[16:53:10] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[16:53:10] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[16:53:10] [PASSED] drm_test_modes_analog_tv_pal_576i
[16:53:10] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[16:53:10] =============== [PASSED] drm_modes_analog_tv ===============
[16:53:10] ============== drm_panic_helper (3 subtests) ===============
[16:53:10] ============= drm_test_panic_screen_user_map ==============
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:53:10] ========= [PASSED] drm_test_panic_screen_user_map ==========
[16:53:10] ============= drm_test_panic_screen_user_page =============
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:53:10] ========= [PASSED] drm_test_panic_screen_user_page =========
[16:53:10] ========== drm_test_panic_screen_user_set_pixel ===========
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:53:10] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:53:10] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:53:10] ====== [PASSED] drm_test_panic_screen_user_set_pixel =======
[16:53:10] ================ [PASSED] drm_panic_helper =================
[16:53:10] ============== drm_plane_helper (2 subtests) ===============
[16:53:10] =============== drm_test_check_plane_state ================
[16:53:10] [PASSED] clipping_simple
[16:53:10] [PASSED] clipping_rotate_reflect
[16:53:10] [PASSED] positioning_simple
[16:53:10] [PASSED] upscaling
[16:53:10] [PASSED] downscaling
[16:53:10] [PASSED] rounding1
[16:53:10] [PASSED] rounding2
[16:53:10] [PASSED] rounding3
[16:53:10] [PASSED] rounding4
[16:53:10] =========== [PASSED] drm_test_check_plane_state ============
[16:53:10] =========== drm_test_check_invalid_plane_state ============
[16:53:10] [PASSED] positioning_invalid
[16:53:10] [PASSED] upscaling_invalid
[16:53:10] [PASSED] downscaling_invalid
[16:53:10] ======= [PASSED] drm_test_check_invalid_plane_state ========
[16:53:10] ================ [PASSED] drm_plane_helper =================
[16:53:10] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[16:53:10] ====== drm_test_connector_helper_tv_get_modes_check =======
[16:53:10] [PASSED] None
[16:53:10] [PASSED] PAL
[16:53:10] [PASSED] NTSC
[16:53:10] [PASSED] Both, NTSC Default
[16:53:10] [PASSED] Both, PAL Default
[16:53:10] [PASSED] Both, NTSC Default, with PAL on command-line
[16:53:10] [PASSED] Both, PAL Default, with NTSC on command-line
[16:53:10] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[16:53:10] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[16:53:10] ================== drm_rect (9 subtests) ===================
[16:53:10] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[16:53:10] [PASSED] drm_test_rect_clip_scaled_not_clipped
[16:53:10] [PASSED] drm_test_rect_clip_scaled_clipped
[16:53:10] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[16:53:10] ================= drm_test_rect_intersect =================
[16:53:10] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[16:53:10] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[16:53:10] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[16:53:10] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[16:53:10] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[16:53:10] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[16:53:10] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[16:53:10] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[16:53:10] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[16:53:10] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[16:53:10] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[16:53:10] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[16:53:10] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[16:53:10] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[16:53:10] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[16:53:10] ============= [PASSED] drm_test_rect_intersect =============
[16:53:10] ================ drm_test_rect_calc_hscale ================
[16:53:10] [PASSED] normal use
[16:53:10] [PASSED] out of max range
[16:53:10] [PASSED] out of min range
[16:53:10] [PASSED] zero dst
[16:53:10] [PASSED] negative src
[16:53:10] [PASSED] negative dst
[16:53:10] ============ [PASSED] drm_test_rect_calc_hscale ============
[16:53:10] ================ drm_test_rect_calc_vscale ================
[16:53:10] [PASSED] normal use
[16:53:10] [PASSED] out of max range
[16:53:10] [PASSED] out of min range
[16:53:10] [PASSED] zero dst
[16:53:10] [PASSED] negative src
[16:53:10] [PASSED] negative dst
[16:53:10] ============ [PASSED] drm_test_rect_calc_vscale ============
[16:53:10] ================== drm_test_rect_rotate ===================
[16:53:10] [PASSED] reflect-x
[16:53:10] [PASSED] reflect-y
[16:53:10] [PASSED] rotate-0
[16:53:10] [PASSED] rotate-90
[16:53:10] [PASSED] rotate-180
[16:53:10] [PASSED] rotate-270
[16:53:10] ============== [PASSED] drm_test_rect_rotate ===============
[16:53:10] ================ drm_test_rect_rotate_inv =================
[16:53:10] [PASSED] reflect-x
[16:53:10] [PASSED] reflect-y
[16:53:10] [PASSED] rotate-0
[16:53:10] [PASSED] rotate-90
[16:53:10] [PASSED] rotate-180
[16:53:10] [PASSED] rotate-270
[16:53:10] ============ [PASSED] drm_test_rect_rotate_inv =============
[16:53:10] ==================== [PASSED] drm_rect =====================
[16:53:10] ============ drm_sysfb_modeset_test (1 subtest) ============
[16:53:10] ============ drm_test_sysfb_build_fourcc_list =============
[16:53:10] [PASSED] no native formats
[16:53:10] [PASSED] XRGB8888 as native format
[16:53:10] [PASSED] remove duplicates
[16:53:10] [PASSED] convert alpha formats
[16:53:10] [PASSED] random formats
[16:53:10] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[16:53:10] ============= [PASSED] drm_sysfb_modeset_test ==============
[16:53:10] ================== drm_fixp (2 subtests) ===================
[16:53:10] [PASSED] drm_test_int2fixp
[16:53:10] [PASSED] drm_test_sm2fixp
[16:53:10] ==================== [PASSED] drm_fixp =====================
[16:53:10] ============================================================
[16:53:10] Testing complete. Ran 667 tests: passed: 667
[16:53:10] Elapsed time: 28.138s total, 2.447s configuring, 25.225s building, 0.456s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[16:53:10] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:53:13] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:53:23] Starting KUnit Kernel (1/1)...
[16:53:23] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:53:23] ================= ttm_device (5 subtests) ==================
[16:53:23] [PASSED] ttm_device_init_basic
[16:53:23] [PASSED] ttm_device_init_multiple
[16:53:23] [PASSED] ttm_device_fini_basic
[16:53:23] [PASSED] ttm_device_init_no_vma_man
[16:53:23] ================== ttm_device_init_pools ==================
[16:53:23] [PASSED] No DMA allocations, no DMA32 required
[16:53:23] [PASSED] DMA allocations, DMA32 required
[16:53:23] [PASSED] No DMA allocations, DMA32 required
[16:53:23] [PASSED] DMA allocations, no DMA32 required
[16:53:23] ============== [PASSED] ttm_device_init_pools ==============
[16:53:23] =================== [PASSED] ttm_device ====================
[16:53:23] ================== ttm_pool (8 subtests) ===================
[16:53:23] ================== ttm_pool_alloc_basic ===================
[16:53:23] [PASSED] One page
[16:53:23] [PASSED] More than one page
[16:53:23] [PASSED] Above the allocation limit
[16:53:23] [PASSED] One page, with coherent DMA mappings enabled
[16:53:23] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:53:23] ============== [PASSED] ttm_pool_alloc_basic ===============
[16:53:23] ============== ttm_pool_alloc_basic_dma_addr ==============
[16:53:23] [PASSED] One page
[16:53:23] [PASSED] More than one page
[16:53:23] [PASSED] Above the allocation limit
[16:53:23] [PASSED] One page, with coherent DMA mappings enabled
[16:53:23] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:53:23] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[16:53:23] [PASSED] ttm_pool_alloc_order_caching_match
[16:53:23] [PASSED] ttm_pool_alloc_caching_mismatch
[16:53:23] [PASSED] ttm_pool_alloc_order_mismatch
[16:53:23] [PASSED] ttm_pool_free_dma_alloc
[16:53:23] [PASSED] ttm_pool_free_no_dma_alloc
[16:53:23] [PASSED] ttm_pool_fini_basic
[16:53:23] ==================== [PASSED] ttm_pool =====================
[16:53:23] ================ ttm_resource (8 subtests) =================
[16:53:23] ================= ttm_resource_init_basic =================
[16:53:23] [PASSED] Init resource in TTM_PL_SYSTEM
[16:53:23] [PASSED] Init resource in TTM_PL_VRAM
[16:53:23] [PASSED] Init resource in a private placement
[16:53:23] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[16:53:23] ============= [PASSED] ttm_resource_init_basic =============
[16:53:23] [PASSED] ttm_resource_init_pinned
[16:53:23] [PASSED] ttm_resource_fini_basic
[16:53:23] [PASSED] ttm_resource_manager_init_basic
[16:53:23] [PASSED] ttm_resource_manager_usage_basic
[16:53:23] [PASSED] ttm_resource_manager_set_used_basic
[16:53:23] [PASSED] ttm_sys_man_alloc_basic
[16:53:23] [PASSED] ttm_sys_man_free_basic
[16:53:23] ================== [PASSED] ttm_resource ===================
[16:53:23] =================== ttm_tt (15 subtests) ===================
[16:53:23] ==================== ttm_tt_init_basic ====================
[16:53:23] [PASSED] Page-aligned size
[16:53:23] [PASSED] Extra pages requested
[16:53:23] ================ [PASSED] ttm_tt_init_basic ================
[16:53:23] [PASSED] ttm_tt_init_misaligned
[16:53:23] [PASSED] ttm_tt_fini_basic
[16:53:23] [PASSED] ttm_tt_fini_sg
[16:53:23] [PASSED] ttm_tt_fini_shmem
[16:53:23] [PASSED] ttm_tt_create_basic
[16:53:23] [PASSED] ttm_tt_create_invalid_bo_type
[16:53:23] [PASSED] ttm_tt_create_ttm_exists
[16:53:23] [PASSED] ttm_tt_create_failed
[16:53:23] [PASSED] ttm_tt_destroy_basic
[16:53:23] [PASSED] ttm_tt_populate_null_ttm
[16:53:23] [PASSED] ttm_tt_populate_populated_ttm
[16:53:23] [PASSED] ttm_tt_unpopulate_basic
[16:53:23] [PASSED] ttm_tt_unpopulate_empty_ttm
[16:53:23] [PASSED] ttm_tt_swapin_basic
[16:53:23] ===================== [PASSED] ttm_tt ======================
[16:53:23] =================== ttm_bo (14 subtests) ===================
[16:53:23] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[16:53:23] [PASSED] Cannot be interrupted and sleeps
[16:53:23] [PASSED] Cannot be interrupted, locks straight away
[16:53:23] [PASSED] Can be interrupted, sleeps
[16:53:23] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[16:53:23] [PASSED] ttm_bo_reserve_locked_no_sleep
[16:53:23] [PASSED] ttm_bo_reserve_no_wait_ticket
[16:53:23] [PASSED] ttm_bo_reserve_double_resv
[16:53:23] [PASSED] ttm_bo_reserve_interrupted
[16:53:23] [PASSED] ttm_bo_reserve_deadlock
[16:53:23] [PASSED] ttm_bo_unreserve_basic
[16:53:23] [PASSED] ttm_bo_unreserve_pinned
[16:53:23] [PASSED] ttm_bo_unreserve_bulk
[16:53:23] [PASSED] ttm_bo_fini_basic
[16:53:23] [PASSED] ttm_bo_fini_shared_resv
[16:53:23] [PASSED] ttm_bo_pin_basic
[16:53:23] [PASSED] ttm_bo_pin_unpin_resource
[16:53:23] [PASSED] ttm_bo_multiple_pin_one_unpin
[16:53:23] ===================== [PASSED] ttm_bo ======================
[16:53:23] ============== ttm_bo_validate (22 subtests) ===============
[16:53:23] ============== ttm_bo_init_reserved_sys_man ===============
[16:53:23] [PASSED] Buffer object for userspace
[16:53:23] [PASSED] Kernel buffer object
[16:53:23] [PASSED] Shared buffer object
[16:53:23] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[16:53:23] ============== ttm_bo_init_reserved_mock_man ==============
[16:53:23] [PASSED] Buffer object for userspace
[16:53:23] [PASSED] Kernel buffer object
[16:53:23] [PASSED] Shared buffer object
[16:53:23] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[16:53:23] [PASSED] ttm_bo_init_reserved_resv
[16:53:23] ================== ttm_bo_validate_basic ==================
[16:53:23] [PASSED] Buffer object for userspace
[16:53:23] [PASSED] Kernel buffer object
[16:53:23] [PASSED] Shared buffer object
[16:53:23] ============== [PASSED] ttm_bo_validate_basic ==============
[16:53:23] [PASSED] ttm_bo_validate_invalid_placement
[16:53:23] ============= ttm_bo_validate_same_placement ==============
[16:53:23] [PASSED] System manager
[16:53:23] [PASSED] VRAM manager
[16:53:23] ========= [PASSED] ttm_bo_validate_same_placement ==========
[16:53:23] [PASSED] ttm_bo_validate_failed_alloc
[16:53:23] [PASSED] ttm_bo_validate_pinned
[16:53:23] [PASSED] ttm_bo_validate_busy_placement
[16:53:23] ================ ttm_bo_validate_multihop =================
[16:53:23] [PASSED] Buffer object for userspace
[16:53:23] [PASSED] Kernel buffer object
[16:53:23] [PASSED] Shared buffer object
[16:53:23] ============ [PASSED] ttm_bo_validate_multihop =============
[16:53:23] ========== ttm_bo_validate_no_placement_signaled ==========
[16:53:23] [PASSED] Buffer object in system domain, no page vector
[16:53:23] [PASSED] Buffer object in system domain with an existing page vector
[16:53:23] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[16:53:23] ======== ttm_bo_validate_no_placement_not_signaled ========
[16:53:23] [PASSED] Buffer object for userspace
[16:53:23] [PASSED] Kernel buffer object
[16:53:23] [PASSED] Shared buffer object
[16:53:23] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[16:53:23] [PASSED] ttm_bo_validate_move_fence_signaled
[16:53:23] ========= ttm_bo_validate_move_fence_not_signaled =========
[16:53:23] [PASSED] Waits for GPU
[16:53:23] [PASSED] Tries to lock straight away
[16:53:23] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[16:53:23] [PASSED] ttm_bo_validate_swapout
[16:53:23] [PASSED] ttm_bo_validate_happy_evict
[16:53:23] [PASSED] ttm_bo_validate_all_pinned_evict
[16:53:23] [PASSED] ttm_bo_validate_allowed_only_evict
[16:53:23] [PASSED] ttm_bo_validate_deleted_evict
[16:53:23] [PASSED] ttm_bo_validate_busy_domain_evict
[16:53:23] [PASSED] ttm_bo_validate_evict_gutting
[16:53:23] [PASSED] ttm_bo_validate_recrusive_evict
[16:53:23] ================= [PASSED] ttm_bo_validate =================
[16:53:23] ============================================================
[16:53:23] Testing complete. Ran 102 tests: passed: 102
[16:53:23] Elapsed time: 12.724s total, 2.538s configuring, 9.971s building, 0.176s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[16:53:23] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:53:26] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:53:35] Starting KUnit Kernel (1/1)...
[16:53:35] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:53:35] =============== dma-buf-fence (12 subtests) ================
[16:53:35] [PASSED] test_sanitycheck
[16:53:35] [PASSED] test_signaling
[16:53:35] [PASSED] test_add_callback
[16:53:35] [PASSED] test_late_add_callback
[16:53:35] [PASSED] test_rm_callback
[16:53:35] [PASSED] test_late_rm_callback
[16:53:35] [PASSED] test_status
[16:53:35] [PASSED] test_error
[16:53:35] [PASSED] test_wait
[16:53:35] [PASSED] test_wait_timeout
[16:53:35] [PASSED] test_stub
[16:53:35] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[16:53:35] ================== [PASSED] dma-buf-fence ==================
[16:53:35] ============ dma-buf-fence-chain (11 subtests) =============
[16:53:35] [PASSED] test_sanitycheck
[16:53:35] [PASSED] test_find_seqno
[16:53:35] [PASSED] test_find_signaled
[16:53:35] [PASSED] test_find_out_of_order
[16:53:40] [PASSED] test_find_gap
[16:53:40] [PASSED] test_find_race
[16:53:40] [PASSED] test_signal_forward
[16:53:40] [PASSED] test_signal_backward
[16:53:40] [PASSED] test_wait_forward
[16:53:40] [PASSED] test_wait_backward
[16:53:40] [PASSED] test_wait_random
[16:53:40] =============== [PASSED] dma-buf-fence-chain ===============
[16:53:40] ============ dma-buf-fence-unwrap (11 subtests) ============
[16:53:40] [PASSED] test_sanitycheck
[16:53:40] [PASSED] test_unwrap_array
[16:53:40] [PASSED] test_unwrap_chain
[16:53:40] [PASSED] test_unwrap_chain_array
[16:53:40] [PASSED] test_unwrap_merge
[16:53:40] [PASSED] test_unwrap_merge_duplicate
[16:53:40] [PASSED] test_unwrap_merge_seqno
[16:53:40] [PASSED] test_unwrap_merge_order
[16:53:40] [PASSED] test_unwrap_merge_complex
[16:53:40] [PASSED] test_unwrap_merge_complex_seqno
[16:53:40] [PASSED] test_dedup_empty
[16:53:40] ============== [PASSED] dma-buf-fence-unwrap ===============
[16:53:40] ================ dma-buf-resv (5 subtests) =================
[16:53:40] [PASSED] test_sanitycheck
[16:53:40] ===================== test_signaling ======================
[16:53:40] [PASSED] kernel
[16:53:40] [PASSED] write
[16:53:40] [PASSED] read
[16:53:40] [PASSED] bookkeep
[16:53:40] ================= [PASSED] test_signaling ==================
[16:53:40] ====================== test_for_each ======================
[16:53:40] [PASSED] kernel
[16:53:40] [PASSED] write
[16:53:40] [PASSED] read
[16:53:40] [PASSED] bookkeep
[16:53:40] ================== [PASSED] test_for_each ==================
[16:53:40] ================= test_for_each_unlocked ==================
[16:53:40] [PASSED] kernel
[16:53:40] [PASSED] write
[16:53:40] [PASSED] read
[16:53:40] [PASSED] bookkeep
[16:53:40] ============= [PASSED] test_for_each_unlocked ==============
[16:53:40] ===================== test_get_fences =====================
[16:53:40] [PASSED] kernel
[16:53:40] [PASSED] write
[16:53:40] [PASSED] read
[16:53:40] [PASSED] bookkeep
[16:53:40] ================= [PASSED] test_get_fences =================
[16:53:40] ================== [PASSED] dma-buf-resv ===================
[16:53:40] ============================================================
[16:53:40] Testing complete. Ran 51 tests: passed: 50, skipped: 1
[16:53:40] Elapsed time: 16.821s total, 2.566s configuring, 8.883s building, 5.356s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 7+ messages in thread* ✗ Xe.CI.BAT: failure for drm/xe/vf: New approach for post-migration LRC fixups (rev2)
2026-11-06 15:56 [PATCH v2 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
` (2 preceding siblings ...)
2026-11-06 16:53 ` ✓ CI.KUnit: success for drm/xe/vf: New approach for post-migration LRC fixups (rev2) Patchwork
@ 2026-11-06 17:34 ` Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2026-11-06 17:34 UTC (permalink / raw)
To: Tomasz Lis; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 3869 bytes --]
== Series Details ==
Series: drm/xe/vf: New approach for post-migration LRC fixups (rev2)
URL : https://patchwork.freedesktop.org/series/165741/
State : failure
== Summary ==
CI Bug Log - changes from xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4_BAT -> xe-pw-165741v2_BAT
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-165741v2_BAT absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-165741v2_BAT, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (15 -> 11)
------------------------------
Missing (4): bat-bmg-1 bat-wcl-1 bat-wcl-2 bat-bmg-2
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-165741v2_BAT:
### IGT changes ###
#### Possible regressions ####
* igt@sriov_basic@enable-vfs-autoprobe-on:
- bat-ptl-1: [PASS][1] -> [ABORT][2] +1 other test abort
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4/bat-ptl-1/igt@sriov_basic@enable-vfs-autoprobe-on.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v2/bat-ptl-1/igt@sriov_basic@enable-vfs-autoprobe-on.html
- bat-nvls-2: [PASS][3] -> [ABORT][4] +1 other test abort
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4/bat-nvls-2/igt@sriov_basic@enable-vfs-autoprobe-on.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v2/bat-nvls-2/igt@sriov_basic@enable-vfs-autoprobe-on.html
- bat-atsm-2: [PASS][5] -> [ABORT][6] +1 other test abort
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4/bat-atsm-2/igt@sriov_basic@enable-vfs-autoprobe-on.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v2/bat-atsm-2/igt@sriov_basic@enable-vfs-autoprobe-on.html
- bat-nvls-1: [PASS][7] -> [ABORT][8] +1 other test abort
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4/bat-nvls-1/igt@sriov_basic@enable-vfs-autoprobe-on.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v2/bat-nvls-1/igt@sriov_basic@enable-vfs-autoprobe-on.html
* igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1:
- bat-ptl-2: [PASS][9] -> [ABORT][10] +1 other test abort
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4/bat-ptl-2/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v2/bat-ptl-2/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html
* igt@xe_module_load@load:
- bat-ptl-vm: [PASS][11] -> [ABORT][12]
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4/bat-ptl-vm/igt@xe_module_load@load.html
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v2/bat-ptl-vm/igt@xe_module_load@load.html
- bat-bmg-vm: [PASS][13] -> [ABORT][14]
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4/bat-bmg-vm/igt@xe_module_load@load.html
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v2/bat-bmg-vm/igt@xe_module_load@load.html
Build changes
-------------
* Linux: xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4 -> xe-pw-165741v2
IGT_9181: 9181
xe-6081-ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4: ecd0e93e7ee855e1b0e3b51ade3d18333fc21ed4
xe-pw-165741v2: 165741v2
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v2/index.html
[-- Attachment #2: Type: text/html, Size: 4549 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread