* [PATCH v3 1/2] drm/xe/vf: Late fixups of LRCs after VF migration
2026-11-06 21:56 [PATCH v3 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
@ 2026-11-06 21:56 ` Tomasz Lis
2026-11-06 22:24 ` sashiko-bot
2026-11-06 21:57 ` [PATCH v3 2/2] drm/xe: After VF migration, repeat BO mapping in progress Tomasz Lis
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Tomasz Lis @ 2026-11-06 21: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.
v3: Use drm-managed mutex lifecycle.
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 | 12 ++++----
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, 38 insertions(+), 43 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..4412ed6eb422 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);
@@ -1498,17 +1494,19 @@ static void vf_migration_fini(void *arg)
*/
int xe_gt_sriov_vf_init_early(struct xe_gt *gt)
{
+ struct xe_device *xe = gt_to_xe(gt);
void *buf;
- if (!xe_sriov_vf_migration_supported(gt_to_xe(gt)))
+ if (!xe_sriov_vf_migration_supported(xe))
return 0;
- buf = drmm_kmalloc(>_to_xe(gt)->drm,
- post_migration_scratch_size(gt_to_xe(gt)),
+ buf = drmm_kmalloc(&xe->drm,
+ post_migration_scratch_size(xe),
GFP_KERNEL);
if (!buf)
return -ENOMEM;
+ drmm_mutex_init(&xe->drm, >->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] 8+ messages in thread* Re: [PATCH v3 1/2] drm/xe/vf: Late fixups of LRCs after VF migration
2026-11-06 21:56 ` [PATCH v3 1/2] drm/xe/vf: Late fixups of LRCs after VF migration Tomasz Lis
@ 2026-11-06 22:24 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-11-06 22:24 UTC (permalink / raw)
To: Tomasz Lis, intel-xe
Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [Medium] drm/xe/vf: unchecked drmm_mutex_init() in
xe_gt_sriov_vf_init_early()
- [Low] drm/xe/vf: inaccurate commit message on LRC fixups for
registered queues
--
commit 23a112cec6cc9cc925edc77bd85cca15d49b52e4
Author: Tomasz Lis <tomasz.lis@intel.com>
drm/xe/vf: Late fixups of LRCs after VF migration
This commit moves LRC HWSP GGTT rebasing out of vf_post_migration_fixups()
to register_exec_queue() and guc_exec_queue_unpause_prepare(), protecting
the migration scratch buffer with a drm-managed mutex.
> Do not fix LRCs of existing contexts during VF post-migration
> recovery. Instead, perform fixups before every exec queue
> registration.
[Severity: Low]
Is this commit message description accurate for already-registered
contexts?
Contexts that are already registered across VF migration do not run
register_exec_queue() again; instead, their LRCs are still rebased during
post-migration recovery in guc_exec_queue_unpause_prepare() (via
vf_post_migration_recovery() -> vf_post_migration_rearm() ->
xe_guc_submit_unpause_prepare_vf()). Only unregistered contexts defer LRC
fixups until register_exec_queue().
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> index 2a5f2064ad3e8..4412ed6eb422f 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
[ ... ]
> @@ -1498,17 +1494,19 @@ static void vf_migration_fini(void *arg)
> */
> int xe_gt_sriov_vf_init_early(struct xe_gt *gt)
> {
> + struct xe_device *xe = gt_to_xe(gt);
> void *buf;
>
> - if (!xe_sriov_vf_migration_supported(gt_to_xe(gt)))
> + if (!xe_sriov_vf_migration_supported(xe))
> return 0;
>
> - buf = drmm_kmalloc(>_to_xe(gt)->drm,
> - post_migration_scratch_size(gt_to_xe(gt)),
> + buf = drmm_kmalloc(&xe->drm,
> + post_migration_scratch_size(xe),
> GFP_KERNEL);
> if (!buf)
> return -ENOMEM;
>
> + drmm_mutex_init(&xe->drm, >->sriov.vf.migration.scratch_lock);
> gt->sriov.vf.migration.scratch = buf;
[Severity: Medium]
Should xe_gt_sriov_vf_init_early() check and return the error from
drmm_mutex_init()?
drmm_mutex_init() expands to drmm_add_action_or_reset(), which is annotated
__must_check and triggers a -Wunused-result warning (breaking builds with
-Werror). If the drmres allocation fails, __drmm_mutex_release() destroys
scratch_lock while xe_gt_sriov_vf_init_early() returns 0, leaving
xe_exec_queue_lrcs_hwsp_rebase() to lock a destroyed mutex.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261106215700.1218318-1-tomasz.lis@intel.com?part=1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 2/2] drm/xe: After VF migration, repeat BO mapping in progress
2026-11-06 21:56 [PATCH v3 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
2026-11-06 21:56 ` [PATCH v3 1/2] drm/xe/vf: Late fixups of LRCs after VF migration Tomasz Lis
@ 2026-11-06 21:57 ` Tomasz Lis
2026-11-06 22:24 ` sashiko-bot
2026-11-06 22:05 ` ✓ CI.KUnit: success for drm/xe/vf: New approach for post-migration LRC fixups (rev3) Patchwork
` (2 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Tomasz Lis @ 2026-11-06 21:57 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.
v3: Re-added memirq check. Fixed multiple subtractions of
GGTT range bounds. Added clear of GGTT entries before retry.
Handled issue with signals while inserting GGTT entries.
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 | 34 +++++++++------------------
drivers/gpu/drm/xe/xe_ggtt.c | 36 ++++++++++++++++++++++++-----
drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 6 ++---
drivers/gpu/drm/xe/xe_memirq.c | 10 ++++++--
4 files changed, 52 insertions(+), 34 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 23fd0f6cba7f..fdb3698fbd3e 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -425,34 +425,22 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
* post-migration recovery, as the fixups for the LRC GGTT addresses
* depend on the queue being present in the backend tracking structure.
*
- * In addition to above, we must wait on inflight GGTT changes to avoid
- * writing out stale values here. Such wait provides a solid solution
- * (without a race) only if the function can detect migration instantly
- * from the moment vCPU resumes execution.
+ * In addition to above, we must make sure inflight GGTT changes are
+ * properly handled (with wait and/or repeat) to avoid writing out stale
+ * values here; but that is handled deeper, within BO pinning code.
*/
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..6c2f3078afb0 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"
@@ -833,7 +834,9 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
u64 start, u64 end, struct drm_exec *exec)
{
u64 alignment = bo->min_align > 0 ? bo->min_align : XE_PAGE_SIZE;
+ u64 rel_start, rel_end;
u8 tile_id = ggtt->tile->id;
+ int marker;
int err;
if (xe_bo_is_vram(bo) && ggtt->flags & XE_GGTT_FLAGS_64K)
@@ -858,6 +861,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
@@ -867,20 +873,20 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
* remainder of GGTT, unaware that the start is reserved by WOPCM.
*/
if (start >= ggtt->start)
- start -= ggtt->start;
+ rel_start = start - ggtt->start;
else
- start = 0;
+ rel_start = 0;
/* Should never happen, but since we handle start, fail graciously for end */
if (end >= ggtt->start)
- end -= ggtt->start;
+ rel_end = end - ggtt->start;
else
- end = 0;
+ rel_end = 0;
- xe_tile_assert(ggtt->tile, end >= start + xe_bo_size(bo));
+ xe_tile_assert(ggtt->tile, rel_end >= rel_start + xe_bo_size(bo));
err = drm_mm_insert_node_in_range(&ggtt->mm, &bo->ggtt_node[tile_id]->base,
- xe_bo_size(bo), alignment, 0, start, end, 0);
+ xe_bo_size(bo), alignment, 0, rel_start, rel_end, 0);
if (err) {
ggtt_node_fini(bo->ggtt_node[tile_id]);
bo->ggtt_node[tile_id] = NULL;
@@ -890,6 +896,24 @@ 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)) {
+ struct xe_ggtt_node *node = bo->ggtt_node[tile_id];
+ /*
+ * Cannot skip the clear, as after releasing the ggtt lock, another
+ * insert operation could immediately reserve the space.
+ */
+ xe_ggtt_clear(ggtt, xe_ggtt_node_addr(node), xe_ggtt_node_size(node));
+ drm_mm_remove_node(&node->base);
+ mutex_unlock(&ggtt->lock);
+ goto retry;
+ }
}
mutex_unlock(&ggtt->lock);
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
index 4412ed6eb422..8ac91b271137 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
@@ -1615,9 +1615,9 @@ int xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
!xe_sriov_vf_migration_supported(gt_to_xe(gt)))
return 0;
- ret = wait_event_interruptible_timeout(gt->sriov.vf.migration.wq,
- vf_valid_ggtt(gt),
- HZ * 5);
+ ret = wait_event_timeout(gt->sriov.vf.migration.wq,
+ vf_valid_ggtt(gt),
+ HZ * 5);
xe_gt_WARN_ON(gt, !ret);
return atomic_read(>->sriov.vf.migration.fixups_complete_count);
diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
index 3433518cc095..e46f38f13d19 100644
--- a/drivers/gpu/drm/xe/xe_memirq.c
+++ b/drivers/gpu/drm/xe/xe_memirq.c
@@ -524,8 +524,14 @@ bool xe_memirq_guc_sw_int_0_irq_pending(struct xe_memirq *memirq, struct xe_guc
{
struct xe_gt *gt = guc_to_gt(guc);
u32 offset = xe_gt_is_media_type(gt) ? ilog2(INTR_MGUC) : ilog2(INTR_GUC);
- struct iosys_map map = IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
- XE_MEMIRQ_VECTOR_OFFSET(0, offset));
+ struct iosys_map map;
+
+ /* protect for a call during driver probe */
+ if (!iosys_map_is_set(&memirq->source))
+ return false;
+
+ map = IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
+ XE_MEMIRQ_VECTOR_OFFSET(0, offset));
return memirq_received_noclear(memirq, &map, ilog2(GUC_INTR_SW_INT_0),
guc_name(guc));
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v3 2/2] drm/xe: After VF migration, repeat BO mapping in progress
2026-11-06 21:57 ` [PATCH v3 2/2] drm/xe: After VF migration, repeat BO mapping in progress Tomasz Lis
@ 2026-11-06 22:24 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-11-06 22:24 UTC (permalink / raw)
To: Tomasz Lis, intel-xe
Thank you for your contribution! Sashiko AI review found 2 potential
issues to consider:
- [Medium] drm/xe: stale GGTT base cleared under lock in
__xe_ggtt_insert_bo_at()
- [Medium] drm/xe: infinite uninterruptible retry loop in
__xe_ggtt_insert_bo_at()
--
commit 9aaa3dde30d5f39a2d5d350e0123ac1a3e77675f
Author: Tomasz Lis <tomasz.lis@intel.com>
drm/xe: After VF migration, repeat BO mapping in progress
This commit moves the VF post-migration retry loop from LRC creation in
__xe_exec_queue_init() down into __xe_ggtt_insert_bo_at() so that any BO
being mapped into the GGTT during VF migration has its PTEs rewritten
after the GGTT base is updated.
> diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c
> index 9ef2ce743770f..6c2f3078afb0c 100644
> --- a/drivers/gpu/drm/xe/xe_ggtt.c
> +++ b/drivers/gpu/drm/xe/xe_ggtt.c
[ ... ]
> @@ -858,6 +861,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
> @@ -867,20 +873,20 @@ static int __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
> * remainder of GGTT, unaware that the start is reserved by WOPCM.
> */
> if (start >= ggtt->start)
> - start -= ggtt->start;
> + rel_start = start - ggtt->start;
> else
> - start = 0;
> + rel_start = 0;
>
> /* Should never happen, but since we handle start, fail graciously for end */
> if (end >= ggtt->start)
> - end -= ggtt->start;
> + rel_end = end - ggtt->start;
> else
> - end = 0;
> + rel_end = 0;
>
> - xe_tile_assert(ggtt->tile, end >= start + xe_bo_size(bo));
> + xe_tile_assert(ggtt->tile, rel_end >= rel_start + xe_bo_size(bo));
>
> err = drm_mm_insert_node_in_range(&ggtt->mm, &bo->ggtt_node[tile_id]->base,
> - xe_bo_size(bo), alignment, 0, start, end, 0);
> + xe_bo_size(bo), alignment, 0, rel_start, rel_end, 0);
> if (err) {
> ggtt_node_fini(bo->ggtt_node[tile_id]);
> bo->ggtt_node[tile_id] = NULL;
> @@ -890,6 +896,24 @@ 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)) {
> + struct xe_ggtt_node *node = bo->ggtt_node[tile_id];
> + /*
> + * Cannot skip the clear, as after releasing the ggtt lock, another
> + * insert operation could immediately reserve the space.
> + */
> + xe_ggtt_clear(ggtt, xe_ggtt_node_addr(node), xe_ggtt_node_size(node));
> + drm_mm_remove_node(&node->base);
> + mutex_unlock(&ggtt->lock);
> + goto retry;
> + }
> }
> mutex_unlock(&ggtt->lock);
[Severity: Medium]
Does xe_ggtt_clear() here write scratch PTEs using the stale pre-migration
ggtt->start offset?
__xe_ggtt_insert_bo_at() holds ggtt->lock across xe_ggtt_map_bo() and this
retry check. When VF migration happens during xe_ggtt_map_bo(),
vf_valid_ggtt() becomes false (for example, while GUC_INTR_SW_INT_0 is
pending or ggtt_need_fixes is set), so
xe_vf_migration_fixups_complete_count() returns -1 and enters this retry
branch. However, the post-migration recovery worker updates ggtt->start
via xe_ggtt_shift_nodes(), which also has to take ggtt->lock:
drivers/gpu/drm/xe/xe_ggtt.c:xe_ggtt_shift_nodes() {
guard(mutex)(&ggtt->lock);
...
/* pairs with READ_ONCE in xe_ggtt_node_addr() */
WRITE_ONCE(ggtt->start, new_start);
}
Because __xe_ggtt_insert_bo_at() has not released ggtt->lock yet,
xe_ggtt_shift_nodes() cannot have updated ggtt->start when xe_ggtt_clear()
is called. xe_ggtt_node_addr(node) therefore computes
node->base.start + old_start instead of node->base.start + new_start.
The PTEs that PF restore copied to new_start + node->base.start are left
uncleared when drm_mm_remove_node() frees the node, and if the old and new
GGTT ranges overlap, xe_ggtt_clear() overwrites PTEs at the old address
that may now belong to another allocation.
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> index 4412ed6eb422f..8ac91b271137d 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> @@ -1615,9 +1615,9 @@ int xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
> !xe_sriov_vf_migration_supported(gt_to_xe(gt)))
> return 0;
>
> - ret = wait_event_interruptible_timeout(gt->sriov.vf.migration.wq,
> - vf_valid_ggtt(gt),
> - HZ * 5);
> + ret = wait_event_timeout(gt->sriov.vf.migration.wq,
> + vf_valid_ggtt(gt),
> + HZ * 5);
> xe_gt_WARN_ON(gt, !ret);
>
> return atomic_read(>->sriov.vf.migration.fixups_complete_count);
[Severity: Medium]
Can __xe_ggtt_insert_bo_at() loop forever in uninterruptible sleep if
wait_event_timeout() times out while vf_valid_ggtt(gt) remains false?
On timeout (!ret), xe_gt_sriov_vf_wait_valid_ggtt() returns the
non-negative fixups_complete_count as marker, whereas
xe_vf_migration_fixups_complete_count() returns -1 whenever
!vf_valid_ggtt(gt):
drivers/gpu/drm/xe/xe_gt_sriov_vf.c:xe_vf_migration_fixups_complete_count() {
...
/* should never match fixups_complete_count value */
if (!vf_valid_ggtt(gt))
return -1;
return atomic_read(>->sriov.vf.migration.fixups_complete_count);
}
In __xe_ggtt_insert_bo_at(), marker != -1 is always true while
vf_valid_ggtt(gt) stays false, so it jumps back to retry and sleeps
uninterruptibly for another 5 seconds indefinitely while holding the BO
dma_resv lock.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261106215700.1218318-1-tomasz.lis@intel.com?part=2
^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ CI.KUnit: success for drm/xe/vf: New approach for post-migration LRC fixups (rev3)
2026-11-06 21:56 [PATCH v3 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
2026-11-06 21:56 ` [PATCH v3 1/2] drm/xe/vf: Late fixups of LRCs after VF migration Tomasz Lis
2026-11-06 21:57 ` [PATCH v3 2/2] drm/xe: After VF migration, repeat BO mapping in progress Tomasz Lis
@ 2026-11-06 22:05 ` Patchwork
2026-11-06 22:41 ` ✓ Xe.CI.BAT: " Patchwork
2026-11-08 2:51 ` ✗ Xe.CI.FULL: failure " Patchwork
4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2026-11-06 22:05 UTC (permalink / raw)
To: Tomasz Lis; +Cc: intel-xe
== Series Details ==
Series: drm/xe/vf: New approach for post-migration LRC fixups (rev3)
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
[22:03:08] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:03: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
[22:03:33] Starting KUnit Kernel (1/1)...
[22:03:33] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[22:03:33] ================= gpu_buddy (14 subtests) ==================
[22:03:33] [PASSED] gpu_test_buddy_alloc_limit
[22:03:33] [PASSED] gpu_test_buddy_alloc_optimistic
[22:03:33] [PASSED] gpu_test_buddy_alloc_pessimistic
[22:03:33] [PASSED] gpu_test_buddy_alloc_pathological
[22:03:33] [PASSED] gpu_test_buddy_alloc_contiguous
[22:03:33] [PASSED] gpu_test_buddy_alloc_clear
[22:03:33] [PASSED] gpu_test_buddy_alloc_range
[22:03:34] [PASSED] gpu_test_buddy_alloc_range_bias
[22:03:34] [PASSED] gpu_test_buddy_fragmentation_performance
[22:03:35] [PASSED] gpu_test_buddy_dirty_tracker_performance
[22:03:35] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[22:03:35] [PASSED] gpu_test_buddy_offset_aligned_allocation
[22:03:35] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[22:03:35] [PASSED] gpu_test_buddy_addr_to_block
[22:03:35] ==================== [PASSED] gpu_buddy ====================
[22:03:35] ============================================================
[22:03:35] Testing complete. Ran 14 tests: passed: 14
[22:03:35] Elapsed time: 27.306s total, 5.114s configuring, 20.274s building, 1.857s 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
[22:03:35] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:03: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
[22:04:16] Starting KUnit Kernel (1/1)...
[22:04:16] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[22:04:16] ================== guc_buf (11 subtests) ===================
[22:04:16] [PASSED] test_smallest
[22:04:16] [PASSED] test_largest
[22:04:16] [PASSED] test_granular
[22:04:16] [PASSED] test_unique
[22:04:16] [PASSED] test_overlap
[22:04:16] [PASSED] test_reusable
[22:04:16] [PASSED] test_too_big
[22:04:16] [PASSED] test_flush
[22:04:16] [PASSED] test_lookup
[22:04:16] [PASSED] test_data
[22:04:16] [PASSED] test_class
[22:04:16] ===================== [PASSED] guc_buf =====================
[22:04:16] =================== guc_dbm (7 subtests) ===================
[22:04:16] [PASSED] test_empty
[22:04:16] [PASSED] test_default
[22:04:16] ======================== test_size ========================
[22:04:16] [PASSED] 4
[22:04:16] [PASSED] 8
[22:04:16] [PASSED] 32
[22:04:16] [PASSED] 256
[22:04:16] ==================== [PASSED] test_size ====================
[22:04:16] ======================= test_reuse ========================
[22:04:16] [PASSED] 4
[22:04:16] [PASSED] 8
[22:04:16] [PASSED] 32
[22:04:16] [PASSED] 256
[22:04:16] =================== [PASSED] test_reuse ====================
[22:04:16] =================== test_range_overlap ====================
[22:04:16] [PASSED] 4
[22:04:16] [PASSED] 8
[22:04:16] [PASSED] 32
[22:04:16] [PASSED] 256
[22:04:16] =============== [PASSED] test_range_overlap ================
[22:04:16] =================== test_range_compact ====================
[22:04:16] [PASSED] 4
[22:04:16] [PASSED] 8
[22:04:16] [PASSED] 32
[22:04:16] [PASSED] 256
[22:04:16] =============== [PASSED] test_range_compact ================
[22:04:16] ==================== test_range_spare =====================
[22:04:16] [PASSED] 4
[22:04:16] [PASSED] 8
[22:04:16] [PASSED] 32
[22:04:16] [PASSED] 256
[22:04:16] ================ [PASSED] test_range_spare =================
[22:04:16] ===================== [PASSED] guc_dbm =====================
[22:04:16] ================== guc_idm (22 subtests) ===================
[22:04:16] [PASSED] bad_init
[22:04:16] [PASSED] no_init
[22:04:16] [PASSED] init_fini
[22:04:16] [PASSED] check_init_small
[22:04:16] [PASSED] check_init_shared
[22:04:16] [PASSED] check_used
[22:04:16] [PASSED] check_quota
[22:04:16] [PASSED] check_all
[22:04:16] [PASSED] check_limits
[22:04:16] [PASSED] check_overlap
[22:04:16] [PASSED] check_overlap_alloc
[22:04:16] [PASSED] check_overlap_release
[22:04:16] [PASSED] check_overlap_partial_init
[22:04:16] [PASSED] check_overlap_partial_shared_range_blocking
[22:04:16] [PASSED] check_used_usable
[22:04:16] [PASSED] check_used_shareable
[22:04:16] [PASSED] check_used_mixed
[22:04:16] [PASSED] check_release_usable_range
[22:04:16] [PASSED] check_release_shareable_range
[22:04:16] [PASSED] check_split_boundaries
[22:04:16] [PASSED] check_shareable_spare
[22:04:16] [PASSED] check_shareable_spare_fragmented_tail
[22:04:16] ===================== [PASSED] guc_idm =====================
[22:04:16] ============== guc_klv_helpers (13 subtests) ===============
[22:04:16] [PASSED] test_count
[22:04:16] [PASSED] test_encode_u32
[22:04:16] [PASSED] test_encode_u64
[22:04:16] [PASSED] test_encode_string
[22:04:16] [PASSED] test_encode_object_raw
[22:04:16] [PASSED] test_encode_object_klv
[22:04:16] [PASSED] test_encode_object_nested
[22:04:16] [PASSED] test_encode_object_basic
[22:04:16] ===================== test_decode_u16 =====================
[22:04:16] [PASSED] empty
[22:04:16] [PASSED] valid
[22:04:16] [PASSED] max
[22:04:16] [PASSED] big
[22:04:16] [PASSED] long
[22:04:16] ================= [PASSED] test_decode_u16 =================
[22:04:16] ===================== test_decode_u32 =====================
[22:04:16] [PASSED] empty
[22:04:16] [PASSED] valid
[22:04:16] [PASSED] max
[22:04:16] [PASSED] long
[22:04:16] ================= [PASSED] test_decode_u32 =================
[22:04:16] ===================== test_decode_u64 =====================
[22:04:16] [PASSED] empty
[22:04:16] [PASSED] short
[22:04:16] [PASSED] valid
[22:04:16] [PASSED] max
[22:04:16] [PASSED] long
[22:04:16] ================= [PASSED] test_decode_u64 =================
[22:04:16] ===================== test_decode_str =====================
[22:04:16] [PASSED] empty
[22:04:16] [PASSED] one
[22:04:16] [PASSED] one_trash
[22:04:16] [PASSED] two
[22:04:16] [PASSED] two_trash
[22:04:16] [PASSED] three
[22:04:16] [PASSED] dword
[22:04:16] [PASSED] four
[22:04:16] [PASSED] five
[22:04:16] [PASSED] six
[22:04:16] [PASSED] seven
[22:04:16] [PASSED] qword
[22:04:16] ================= [PASSED] test_decode_str =================
[22:04:16] [PASSED] test_print
[22:04:16] ================= [PASSED] guc_klv_helpers =================
[22:04:16] =================== xe_log (4 subtests) ====================
[22:04:16] [PASSED] demo_cper
[22:04:16] [PASSED] demo_dmesg
[22:04:16] ======================= test_dmesg ========================
[22:04:16] [PASSED] test_fatal
[22:04:16] [PASSED] test_fatal_tile
[22:04:16] [PASSED] test_fatal_gt
[22:04:16] [PASSED] test_fatal_comp
[22:04:16] [PASSED] test_fatal_comp_tile
[22:04:16] [PASSED] test_fatal_comp_gt
[22:04:16] [PASSED] test_fatal_all
[22:04:16] [PASSED] test_recoverable
[22:04:16] [PASSED] test_recoverable_tile
[22:04:16] [PASSED] test_recoverable_gt
[22:04:16] [PASSED] test_recoverable_comp
[22:04:16] [PASSED] test_recoverable_comp_tile
[22:04:16] [PASSED] test_recoverable_comp_gt
[22:04:16] [PASSED] test_recoverable_all
[22:04:16] [PASSED] test_info
[22:04:16] [PASSED] test_info_tile
[22:04:16] [PASSED] test_info_gt
[22:04:16] [PASSED] test_info_err
[22:04:16] [PASSED] test_info_comp
[22:04:16] [PASSED] test_info_comp_tile
[22:04:16] [PASSED] test_info_comp_gt
[22:04:16] [PASSED] test_info_all
[22:04:16] [PASSED] test_hw_fatal
[22:04:16] [PASSED] test_hw_recoverable
[22:04:16] [PASSED] test_hw_corrected
[22:04:16] [PASSED] test_hw_informational
[22:04:16] =================== [PASSED] test_dmesg ====================
[22:04:16] ====================== test_invalid =======================
[22:04:16] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[22:04:16] ================== [SKIPPED] test_invalid ==================
[22:04:16] ===================== [PASSED] xe_log ======================
[22:04:16] ================== no_relay (3 subtests) ===================
[22:04:16] [PASSED] xe_drops_guc2pf_if_not_ready
[22:04:16] [PASSED] xe_drops_guc2vf_if_not_ready
[22:04:16] [PASSED] xe_rejects_send_if_not_ready
[22:04:16] ==================== [PASSED] no_relay =====================
[22:04:16] ================== pf_relay (14 subtests) ==================
[22:04:16] [PASSED] pf_rejects_guc2pf_too_short
[22:04:16] [PASSED] pf_rejects_guc2pf_too_long
[22:04:16] [PASSED] pf_rejects_guc2pf_no_payload
[22:04:16] [PASSED] pf_fails_no_payload
[22:04:16] [PASSED] pf_fails_bad_origin
[22:04:16] [PASSED] pf_fails_bad_type
[22:04:16] [PASSED] pf_txn_reports_error
[22:04:16] [PASSED] pf_txn_sends_pf2guc
[22:04:16] [PASSED] pf_sends_pf2guc
[22:04:16] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[22:04:16] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[22:04:16] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[22:04:16] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[22:04:16] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[22:04:16] ==================== [PASSED] pf_relay =====================
[22:04:16] ================== vf_relay (3 subtests) ===================
[22:04:16] [PASSED] vf_rejects_guc2vf_too_short
[22:04:16] [PASSED] vf_rejects_guc2vf_too_long
[22:04:16] [PASSED] vf_rejects_guc2vf_no_payload
[22:04:16] ==================== [PASSED] vf_relay =====================
[22:04:16] ================ pf_gt_config (9 subtests) =================
[22:04:16] [PASSED] fair_contexts_1vf
[22:04:16] [PASSED] fair_doorbells_1vf
[22:04:16] [PASSED] fair_ggtt_1vf
[22:04:16] ====================== fair_vram_1vf ======================
[22:04:16] [PASSED] 3.50 GiB
[22:04:16] [PASSED] 11.5 GiB
[22:04:16] [PASSED] 15.5 GiB
[22:04:16] [PASSED] 31.5 GiB
[22:04:16] [PASSED] 63.5 GiB
[22:04:16] [PASSED] 1.91 GiB
[22:04:16] ================== [PASSED] fair_vram_1vf ==================
[22:04:16] ================ fair_vram_1vf_admin_only =================
[22:04:16] [PASSED] 3.50 GiB
[22:04:16] [PASSED] 11.5 GiB
[22:04:16] [PASSED] 15.5 GiB
[22:04:16] [PASSED] 31.5 GiB
[22:04:16] [PASSED] 63.5 GiB
[22:04:16] [PASSED] 1.91 GiB
[22:04:16] ============ [PASSED] fair_vram_1vf_admin_only =============
[22:04:16] ====================== fair_contexts ======================
[22:04:16] [PASSED] 1 VF
[22:04:16] [PASSED] 2 VFs
[22:04:16] [PASSED] 3 VFs
[22:04:16] [PASSED] 4 VFs
[22:04:16] [PASSED] 5 VFs
[22:04:16] [PASSED] 6 VFs
[22:04:16] [PASSED] 7 VFs
[22:04:16] [PASSED] 8 VFs
[22:04:16] [PASSED] 9 VFs
[22:04:16] [PASSED] 10 VFs
[22:04:16] [PASSED] 11 VFs
[22:04:16] [PASSED] 12 VFs
[22:04:16] [PASSED] 13 VFs
[22:04:16] [PASSED] 14 VFs
[22:04:16] [PASSED] 15 VFs
[22:04:16] [PASSED] 16 VFs
[22:04:16] [PASSED] 17 VFs
[22:04:16] [PASSED] 18 VFs
[22:04:16] [PASSED] 19 VFs
[22:04:16] [PASSED] 20 VFs
[22:04:16] [PASSED] 21 VFs
[22:04:16] [PASSED] 22 VFs
[22:04:16] [PASSED] 23 VFs
[22:04:16] [PASSED] 24 VFs
[22:04:16] [PASSED] 25 VFs
[22:04:16] [PASSED] 26 VFs
[22:04:16] [PASSED] 27 VFs
[22:04:16] [PASSED] 28 VFs
[22:04:16] [PASSED] 29 VFs
[22:04:16] [PASSED] 30 VFs
[22:04:16] [PASSED] 31 VFs
[22:04:16] [PASSED] 32 VFs
[22:04:16] [PASSED] 33 VFs
[22:04:16] [PASSED] 34 VFs
[22:04:16] [PASSED] 35 VFs
[22:04:16] [PASSED] 36 VFs
[22:04:16] [PASSED] 37 VFs
[22:04:16] [PASSED] 38 VFs
[22:04:16] [PASSED] 39 VFs
[22:04:16] [PASSED] 40 VFs
[22:04:16] [PASSED] 41 VFs
[22:04:16] [PASSED] 42 VFs
[22:04:16] [PASSED] 43 VFs
[22:04:16] [PASSED] 44 VFs
[22:04:16] [PASSED] 45 VFs
[22:04:16] [PASSED] 46 VFs
[22:04:16] [PASSED] 47 VFs
[22:04:16] [PASSED] 48 VFs
[22:04:16] [PASSED] 49 VFs
[22:04:16] [PASSED] 50 VFs
[22:04:16] [PASSED] 51 VFs
[22:04:16] [PASSED] 52 VFs
[22:04:16] [PASSED] 53 VFs
[22:04:16] [PASSED] 54 VFs
[22:04:16] [PASSED] 55 VFs
[22:04:16] [PASSED] 56 VFs
[22:04:16] [PASSED] 57 VFs
[22:04:16] [PASSED] 58 VFs
[22:04:16] [PASSED] 59 VFs
[22:04:16] [PASSED] 60 VFs
[22:04:16] [PASSED] 61 VFs
[22:04:16] [PASSED] 62 VFs
[22:04:16] [PASSED] 63 VFs
[22:04:16] ================== [PASSED] fair_contexts ==================
[22:04:16] ===================== fair_doorbells ======================
[22:04:16] [PASSED] 1 VF
[22:04:16] [PASSED] 2 VFs
[22:04:16] [PASSED] 3 VFs
[22:04:16] [PASSED] 4 VFs
[22:04:16] [PASSED] 5 VFs
[22:04:16] [PASSED] 6 VFs
[22:04:16] [PASSED] 7 VFs
[22:04:16] [PASSED] 8 VFs
[22:04:16] [PASSED] 9 VFs
[22:04:16] [PASSED] 10 VFs
[22:04:16] [PASSED] 11 VFs
[22:04:16] [PASSED] 12 VFs
[22:04:16] [PASSED] 13 VFs
[22:04:16] [PASSED] 14 VFs
[22:04:16] [PASSED] 15 VFs
[22:04:16] [PASSED] 16 VFs
[22:04:16] [PASSED] 17 VFs
[22:04:16] [PASSED] 18 VFs
[22:04:16] [PASSED] 19 VFs
[22:04:16] [PASSED] 20 VFs
[22:04:16] [PASSED] 21 VFs
[22:04:16] [PASSED] 22 VFs
[22:04:16] [PASSED] 23 VFs
[22:04:16] [PASSED] 24 VFs
[22:04:16] [PASSED] 25 VFs
[22:04:16] [PASSED] 26 VFs
[22:04:16] [PASSED] 27 VFs
[22:04:16] [PASSED] 28 VFs
[22:04:16] [PASSED] 29 VFs
[22:04:16] [PASSED] 30 VFs
[22:04:16] [PASSED] 31 VFs
[22:04:16] [PASSED] 32 VFs
[22:04:16] [PASSED] 33 VFs
[22:04:16] [PASSED] 34 VFs
[22:04:16] [PASSED] 35 VFs
[22:04:16] [PASSED] 36 VFs
[22:04:16] [PASSED] 37 VFs
[22:04:16] [PASSED] 38 VFs
[22:04:16] [PASSED] 39 VFs
[22:04:16] [PASSED] 40 VFs
[22:04:16] [PASSED] 41 VFs
[22:04:16] [PASSED] 42 VFs
[22:04:16] [PASSED] 43 VFs
[22:04:16] [PASSED] 44 VFs
[22:04:16] [PASSED] 45 VFs
[22:04:16] [PASSED] 46 VFs
[22:04:16] [PASSED] 47 VFs
[22:04:16] [PASSED] 48 VFs
[22:04:16] [PASSED] 49 VFs
[22:04:16] [PASSED] 50 VFs
[22:04:16] [PASSED] 51 VFs
[22:04:16] [PASSED] 52 VFs
[22:04:16] [PASSED] 53 VFs
[22:04:16] [PASSED] 54 VFs
[22:04:16] [PASSED] 55 VFs
[22:04:16] [PASSED] 56 VFs
[22:04:16] [PASSED] 57 VFs
[22:04:16] [PASSED] 58 VFs
[22:04:16] [PASSED] 59 VFs
[22:04:16] [PASSED] 60 VFs
[22:04:16] [PASSED] 61 VFs
[22:04:16] [PASSED] 62 VFs
[22:04:16] [PASSED] 63 VFs
[22:04:16] ================= [PASSED] fair_doorbells ==================
[22:04:16] ======================== fair_ggtt ========================
[22:04:16] [PASSED] 1 VF
[22:04:16] [PASSED] 2 VFs
[22:04:16] [PASSED] 3 VFs
[22:04:16] [PASSED] 4 VFs
[22:04:16] [PASSED] 5 VFs
[22:04:16] [PASSED] 6 VFs
[22:04:16] [PASSED] 7 VFs
[22:04:16] [PASSED] 8 VFs
[22:04:16] [PASSED] 9 VFs
[22:04:16] [PASSED] 10 VFs
[22:04:16] [PASSED] 11 VFs
[22:04:16] [PASSED] 12 VFs
[22:04:16] [PASSED] 13 VFs
[22:04:16] [PASSED] 14 VFs
[22:04:16] [PASSED] 15 VFs
[22:04:16] [PASSED] 16 VFs
[22:04:16] [PASSED] 17 VFs
[22:04:16] [PASSED] 18 VFs
[22:04:16] [PASSED] 19 VFs
[22:04:16] [PASSED] 20 VFs
[22:04:16] [PASSED] 21 VFs
[22:04:16] [PASSED] 22 VFs
[22:04:16] [PASSED] 23 VFs
[22:04:16] [PASSED] 24 VFs
[22:04:16] [PASSED] 25 VFs
[22:04:16] [PASSED] 26 VFs
[22:04:16] [PASSED] 27 VFs
[22:04:16] [PASSED] 28 VFs
[22:04:16] [PASSED] 29 VFs
[22:04:16] [PASSED] 30 VFs
[22:04:16] [PASSED] 31 VFs
[22:04:16] [PASSED] 32 VFs
[22:04:16] [PASSED] 33 VFs
[22:04:16] [PASSED] 34 VFs
[22:04:16] [PASSED] 35 VFs
[22:04:16] [PASSED] 36 VFs
[22:04:16] [PASSED] 37 VFs
[22:04:16] [PASSED] 38 VFs
[22:04:16] [PASSED] 39 VFs
[22:04:16] [PASSED] 40 VFs
[22:04:16] [PASSED] 41 VFs
[22:04:16] [PASSED] 42 VFs
[22:04:16] [PASSED] 43 VFs
[22:04:16] [PASSED] 44 VFs
[22:04:16] [PASSED] 45 VFs
[22:04:16] [PASSED] 46 VFs
[22:04:16] [PASSED] 47 VFs
[22:04:16] [PASSED] 48 VFs
[22:04:16] [PASSED] 49 VFs
[22:04:16] [PASSED] 50 VFs
[22:04:16] [PASSED] 51 VFs
[22:04:16] [PASSED] 52 VFs
[22:04:16] [PASSED] 53 VFs
[22:04:16] [PASSED] 54 VFs
[22:04:16] [PASSED] 55 VFs
[22:04:16] [PASSED] 56 VFs
[22:04:16] [PASSED] 57 VFs
[22:04:16] [PASSED] 58 VFs
[22:04:16] [PASSED] 59 VFs
[22:04:16] [PASSED] 60 VFs
[22:04:16] [PASSED] 61 VFs
[22:04:16] [PASSED] 62 VFs
[22:04:16] [PASSED] 63 VFs
[22:04:16] ==================== [PASSED] fair_ggtt ====================
[22:04:16] ======================== fair_vram ========================
[22:04:16] [PASSED] 1 VF
[22:04:16] [PASSED] 2 VFs
[22:04:16] [PASSED] 3 VFs
[22:04:16] [PASSED] 4 VFs
[22:04:16] [PASSED] 5 VFs
[22:04:16] [PASSED] 6 VFs
[22:04:16] [PASSED] 7 VFs
[22:04:16] [PASSED] 8 VFs
[22:04:16] [PASSED] 9 VFs
[22:04:16] [PASSED] 10 VFs
[22:04:16] [PASSED] 11 VFs
[22:04:16] [PASSED] 12 VFs
[22:04:16] [PASSED] 13 VFs
[22:04:16] [PASSED] 14 VFs
[22:04:16] [PASSED] 15 VFs
[22:04:16] [PASSED] 16 VFs
[22:04:16] [PASSED] 17 VFs
[22:04:16] [PASSED] 18 VFs
[22:04:16] [PASSED] 19 VFs
[22:04:16] [PASSED] 20 VFs
[22:04:16] [PASSED] 21 VFs
[22:04:16] [PASSED] 22 VFs
[22:04:16] [PASSED] 23 VFs
[22:04:16] [PASSED] 24 VFs
[22:04:16] [PASSED] 25 VFs
[22:04:16] [PASSED] 26 VFs
[22:04:16] [PASSED] 27 VFs
[22:04:16] [PASSED] 28 VFs
[22:04:16] [PASSED] 29 VFs
[22:04:16] [PASSED] 30 VFs
[22:04:16] [PASSED] 31 VFs
[22:04:16] [PASSED] 32 VFs
[22:04:16] [PASSED] 33 VFs
[22:04:16] [PASSED] 34 VFs
[22:04:16] [PASSED] 35 VFs
[22:04:16] [PASSED] 36 VFs
[22:04:16] [PASSED] 37 VFs
[22:04:16] [PASSED] 38 VFs
[22:04:16] [PASSED] 39 VFs
[22:04:16] [PASSED] 40 VFs
[22:04:16] [PASSED] 41 VFs
[22:04:16] [PASSED] 42 VFs
[22:04:16] [PASSED] 43 VFs
[22:04:16] [PASSED] 44 VFs
[22:04:16] [PASSED] 45 VFs
[22:04:16] [PASSED] 46 VFs
[22:04:16] [PASSED] 47 VFs
[22:04:16] [PASSED] 48 VFs
[22:04:16] [PASSED] 49 VFs
[22:04:16] [PASSED] 50 VFs
[22:04:16] [PASSED] 51 VFs
[22:04:16] [PASSED] 52 VFs
[22:04:16] [PASSED] 53 VFs
[22:04:16] [PASSED] 54 VFs
[22:04:16] [PASSED] 55 VFs
[22:04:16] [PASSED] 56 VFs
[22:04:16] [PASSED] 57 VFs
[22:04:16] [PASSED] 58 VFs
[22:04:16] [PASSED] 59 VFs
[22:04:16] [PASSED] 60 VFs
[22:04:16] [PASSED] 61 VFs
[22:04:16] [PASSED] 62 VFs
[22:04:16] [PASSED] 63 VFs
[22:04:16] ==================== [PASSED] fair_vram ====================
[22:04:16] ================== [PASSED] pf_gt_config ===================
[22:04:16] ===================== lmtt (1 subtest) =====================
[22:04:16] ======================== test_ops =========================
[22:04:16] [PASSED] 2-level
[22:04:16] [PASSED] multi-level
[22:04:16] ==================== [PASSED] test_ops =====================
[22:04:16] ====================== [PASSED] lmtt =======================
[22:04:16] ================= sriov_packet (1 subtest) =================
[22:04:16] [PASSED] test_descriptor_init
[22:04:16] ================== [PASSED] sriov_packet ===================
[22:04:16] ================= pf_service (11 subtests) =================
[22:04:16] [PASSED] pf_negotiate_any
[22:04:16] [PASSED] pf_negotiate_base_match
[22:04:16] [PASSED] pf_negotiate_base_newer
[22:04:16] [PASSED] pf_negotiate_base_next
[22:04:16] [SKIPPED] pf_negotiate_base_older (no older minor)
[22:04:16] [PASSED] pf_negotiate_base_prev
[22:04:16] [PASSED] pf_negotiate_latest_match
[22:04:16] [PASSED] pf_negotiate_latest_newer
[22:04:16] [PASSED] pf_negotiate_latest_next
[22:04:16] [SKIPPED] pf_negotiate_latest_older (no older minor)
[22:04:16] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[22:04:16] =================== [PASSED] pf_service ====================
[22:04:16] ================= xe_guc_g2g (2 subtests) ==================
[22:04:16] ============== xe_live_guc_g2g_kunit_default ==============
[22:04:16] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[22:04:16] ============== xe_live_guc_g2g_kunit_allmem ===============
[22:04:16] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[22:04:16] =================== [SKIPPED] xe_guc_g2g ===================
[22:04:16] =================== xe_mocs (2 subtests) ===================
[22:04:16] ================ xe_live_mocs_kernel_kunit ================
[22:04:16] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[22:04:16] ================ xe_live_mocs_reset_kunit =================
[22:04:16] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[22:04:16] ==================== [SKIPPED] xe_mocs =====================
[22:04:16] ================= xe_migrate (3 subtests) ==================
[22:04:16] ================= xe_migrate_sanity_kunit =================
[22:04:16] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[22:04:16] ================== xe_validate_ccs_kunit ==================
[22:04:16] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[22:04:16] ============= xe_migrate_access_memory_kunit ==============
[22:04:16] ========= [SKIPPED] xe_migrate_access_memory_kunit =========
[22:04:16] =================== [SKIPPED] xe_migrate ===================
[22:04:16] ================== xe_dma_buf (1 subtest) ==================
[22:04:16] ==================== xe_dma_buf_kunit =====================
[22:04:16] ================ [SKIPPED] xe_dma_buf_kunit ================
[22:04:16] =================== [SKIPPED] xe_dma_buf ===================
[22:04:16] ================= xe_bo_shrink (1 subtest) =================
[22:04:16] =================== xe_bo_shrink_kunit ====================
[22:04:16] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[22:04:16] ================== [SKIPPED] xe_bo_shrink ==================
[22:04:16] ==================== xe_bo (2 subtests) ====================
[22:04:16] ================== xe_ccs_migrate_kunit ===================
[22:04:16] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[22:04:16] ==================== xe_bo_evict_kunit ====================
[22:04:16] =============== [SKIPPED] xe_bo_evict_kunit ================
[22:04:16] ===================== [SKIPPED] xe_bo ======================
[22:04:16] =================== xe_any (9 subtests) ====================
[22:04:16] [PASSED] test_to_xe
[22:04:16] [PASSED] test_to_dev
[22:04:16] [PASSED] test_to_pdev
[22:04:16] [PASSED] test_to_drm
[22:04:16] [PASSED] test_if_pdev
[22:04:16] [PASSED] test_if_xe
[22:04:16] [PASSED] test_if_tile
[22:04:16] [PASSED] test_if_gt
[22:04:16] [PASSED] test_to_id
[22:04:16] ===================== [PASSED] xe_any ======================
[22:04:16] ==================== args (13 subtests) ====================
[22:04:16] [PASSED] count_args_test
[22:04:16] [PASSED] call_args_example
[22:04:16] [PASSED] call_args_test
[22:04:16] [PASSED] drop_first_arg_example
[22:04:16] [PASSED] drop_first_arg_test
[22:04:16] [PASSED] first_arg_example
[22:04:16] [PASSED] first_arg_test
[22:04:16] [PASSED] last_arg_example
[22:04:16] [PASSED] last_arg_test
[22:04:16] [PASSED] pick_arg_example
[22:04:16] [PASSED] if_args_example
[22:04:16] [PASSED] if_args_test
[22:04:16] [PASSED] sep_comma_example
[22:04:16] ====================== [PASSED] args =======================
[22:04:16] =================== xe_pci (3 subtests) ====================
[22:04:16] ==================== check_graphics_ip ====================
[22:04:16] [PASSED] 12.00 Xe_LP
[22:04:16] [PASSED] 12.10 Xe_LP+
[22:04:16] [PASSED] 12.55 Xe_HPG
[22:04:16] [PASSED] 12.60 Xe_HPC
[22:04:16] [PASSED] 12.70 Xe_LPG
[22:04:16] [PASSED] 12.71 Xe_LPG
[22:04:16] [PASSED] 12.74 Xe_LPG+
[22:04:16] [PASSED] 20.01 Xe2_HPG
[22:04:16] [PASSED] 20.02 Xe2_HPG
[22:04:16] [PASSED] 20.04 Xe2_LPG
[22:04:16] [PASSED] 30.00 Xe3_LPG
[22:04:16] [PASSED] 30.01 Xe3_LPG
[22:04:16] [PASSED] 30.03 Xe3_LPG
[22:04:16] [PASSED] 30.04 Xe3_LPG
[22:04:16] [PASSED] 30.05 Xe3_LPG
[22:04:16] [PASSED] 35.10 Xe3p_LPG
[22:04:16] [PASSED] 35.11 Xe3p_XPC
[22:04:16] ================ [PASSED] check_graphics_ip ================
[22:04:16] ===================== check_media_ip ======================
[22:04:16] [PASSED] 12.00 Xe_M
[22:04:16] [PASSED] 12.55 Xe_HPM
[22:04:16] [PASSED] 13.00 Xe_LPM+
[22:04:16] [PASSED] 13.01 Xe2_HPM
[22:04:16] [PASSED] 20.00 Xe2_LPM
[22:04:16] [PASSED] 30.00 Xe3_LPM
[22:04:16] [PASSED] 30.02 Xe3_LPM
[22:04:16] [PASSED] 35.00 Xe3p_LPM
[22:04:16] [PASSED] 35.03 Xe3p_HPM
[22:04:16] ================= [PASSED] check_media_ip ==================
[22:04:16] =================== check_platform_desc ===================
[22:04:16] [PASSED] 0x9A60 (TIGERLAKE)
[22:04:16] [PASSED] 0x9A68 (TIGERLAKE)
[22:04:16] [PASSED] 0x9A70 (TIGERLAKE)
[22:04:16] [PASSED] 0x9A40 (TIGERLAKE)
[22:04:16] [PASSED] 0x9A49 (TIGERLAKE)
[22:04:16] [PASSED] 0x9A59 (TIGERLAKE)
[22:04:16] [PASSED] 0x9A78 (TIGERLAKE)
[22:04:16] [PASSED] 0x9AC0 (TIGERLAKE)
[22:04:16] [PASSED] 0x9AC9 (TIGERLAKE)
[22:04:16] [PASSED] 0x9AD9 (TIGERLAKE)
[22:04:16] [PASSED] 0x9AF8 (TIGERLAKE)
[22:04:16] [PASSED] 0x4C80 (ROCKETLAKE)
[22:04:16] [PASSED] 0x4C8A (ROCKETLAKE)
[22:04:16] [PASSED] 0x4C8B (ROCKETLAKE)
[22:04:16] [PASSED] 0x4C8C (ROCKETLAKE)
[22:04:16] [PASSED] 0x4C90 (ROCKETLAKE)
[22:04:16] [PASSED] 0x4C9A (ROCKETLAKE)
[22:04:16] [PASSED] 0x4680 (ALDERLAKE_S)
[22:04:16] [PASSED] 0x4682 (ALDERLAKE_S)
[22:04:16] [PASSED] 0x4688 (ALDERLAKE_S)
[22:04:16] [PASSED] 0x468A (ALDERLAKE_S)
[22:04:16] [PASSED] 0x468B (ALDERLAKE_S)
[22:04:16] [PASSED] 0x4690 (ALDERLAKE_S)
[22:04:16] [PASSED] 0x4692 (ALDERLAKE_S)
[22:04:16] [PASSED] 0x4693 (ALDERLAKE_S)
[22:04:16] [PASSED] 0x46A0 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46A1 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46A2 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46A3 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46A6 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46A8 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46AA (ALDERLAKE_P)
[22:04:16] [PASSED] 0x462A (ALDERLAKE_P)
[22:04:16] [PASSED] 0x4626 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x4628 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46B0 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46B1 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46B2 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46B3 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46C0 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46C1 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46C2 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46C3 (ALDERLAKE_P)
[22:04:16] [PASSED] 0x46D0 (ALDERLAKE_N)
[22:04:16] [PASSED] 0x46D1 (ALDERLAKE_N)
[22:04:16] [PASSED] 0x46D2 (ALDERLAKE_N)
[22:04:16] [PASSED] 0x46D3 (ALDERLAKE_N)
[22:04:16] [PASSED] 0x46D4 (ALDERLAKE_N)
[22:04:16] [PASSED] 0xA721 (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA7A1 (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA7A9 (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA7AC (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA7AD (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA720 (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA7A0 (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA7A8 (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA7AA (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA7AB (ALDERLAKE_P)
[22:04:16] [PASSED] 0xA780 (ALDERLAKE_S)
[22:04:16] [PASSED] 0xA781 (ALDERLAKE_S)
[22:04:16] [PASSED] 0xA782 (ALDERLAKE_S)
[22:04:16] [PASSED] 0xA783 (ALDERLAKE_S)
[22:04:16] [PASSED] 0xA788 (ALDERLAKE_S)
[22:04:16] [PASSED] 0xA789 (ALDERLAKE_S)
[22:04:16] [PASSED] 0xA78A (ALDERLAKE_S)
[22:04:16] [PASSED] 0xA78B (ALDERLAKE_S)
[22:04:16] [PASSED] 0x4905 (DG1)
[22:04:16] [PASSED] 0x4906 (DG1)
[22:04:16] [PASSED] 0x4907 (DG1)
[22:04:16] [PASSED] 0x4908 (DG1)
[22:04:16] [PASSED] 0x4909 (DG1)
[22:04:16] [PASSED] 0x56C0 (DG2)
[22:04:16] [PASSED] 0x56C2 (DG2)
[22:04:16] [PASSED] 0x56C1 (DG2)
[22:04:16] [PASSED] 0x7D51 (METEORLAKE)
[22:04:16] [PASSED] 0x7DD1 (METEORLAKE)
[22:04:16] [PASSED] 0x7D41 (METEORLAKE)
[22:04:16] [PASSED] 0x7D67 (METEORLAKE)
[22:04:16] [PASSED] 0xB640 (METEORLAKE)
[22:04:16] [PASSED] 0x56A0 (DG2)
[22:04:16] [PASSED] 0x56A1 (DG2)
[22:04:16] [PASSED] 0x56A2 (DG2)
[22:04:16] [PASSED] 0x56BE (DG2)
[22:04:16] [PASSED] 0x56BF (DG2)
[22:04:16] [PASSED] 0x5690 (DG2)
[22:04:16] [PASSED] 0x5691 (DG2)
[22:04:16] [PASSED] 0x5692 (DG2)
[22:04:16] [PASSED] 0x56A5 (DG2)
[22:04:16] [PASSED] 0x56A6 (DG2)
[22:04:16] [PASSED] 0x56B0 (DG2)
[22:04:16] [PASSED] 0x56B1 (DG2)
[22:04:16] [PASSED] 0x56BA (DG2)
[22:04:16] [PASSED] 0x56BB (DG2)
[22:04:16] [PASSED] 0x56BC (DG2)
[22:04:16] [PASSED] 0x56BD (DG2)
[22:04:16] [PASSED] 0x5693 (DG2)
[22:04:16] [PASSED] 0x5694 (DG2)
[22:04:16] [PASSED] 0x5695 (DG2)
[22:04:16] [PASSED] 0x56A3 (DG2)
[22:04:16] [PASSED] 0x56A4 (DG2)
[22:04:16] [PASSED] 0x56B2 (DG2)
[22:04:16] [PASSED] 0x56B3 (DG2)
[22:04:16] [PASSED] 0x5696 (DG2)
[22:04:16] [PASSED] 0x5697 (DG2)
[22:04:16] [PASSED] 0xB69 (PVC)
[22:04:16] [PASSED] 0xB6E (PVC)
[22:04:16] [PASSED] 0xBD4 (PVC)
[22:04:16] [PASSED] 0xBD5 (PVC)
[22:04:16] [PASSED] 0xBD6 (PVC)
[22:04:16] [PASSED] 0xBD7 (PVC)
[22:04:16] [PASSED] 0xBD8 (PVC)
[22:04:16] [PASSED] 0xBD9 (PVC)
[22:04:16] [PASSED] 0xBDA (PVC)
[22:04:16] [PASSED] 0xBDB (PVC)
[22:04:16] [PASSED] 0xBE0 (PVC)
[22:04:16] [PASSED] 0xBE1 (PVC)
[22:04:16] [PASSED] 0xBE5 (PVC)
[22:04:16] [PASSED] 0x7D40 (METEORLAKE)
[22:04:16] [PASSED] 0x7D45 (METEORLAKE)
[22:04:16] [PASSED] 0x7D55 (METEORLAKE)
[22:04:16] [PASSED] 0x7D60 (METEORLAKE)
[22:04:16] [PASSED] 0x7DD5 (METEORLAKE)
[22:04:16] [PASSED] 0x6420 (LUNARLAKE)
[22:04:16] [PASSED] 0x64A0 (LUNARLAKE)
[22:04:16] [PASSED] 0x64B0 (LUNARLAKE)
[22:04:16] [PASSED] 0xE202 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE209 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE20B (BATTLEMAGE)
[22:04:16] [PASSED] 0xE20C (BATTLEMAGE)
[22:04:16] [PASSED] 0xE20D (BATTLEMAGE)
[22:04:16] [PASSED] 0xE210 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE211 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE212 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE216 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE220 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE221 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE222 (BATTLEMAGE)
[22:04:16] [PASSED] 0xE223 (BATTLEMAGE)
[22:04:16] [PASSED] 0xB080 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB081 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB082 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB083 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB084 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB085 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB086 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB087 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB08F (PANTHERLAKE)
[22:04:16] [PASSED] 0xB090 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB0A0 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB0A1 (PANTHERLAKE)
[22:04:16] [PASSED] 0xB0B0 (PANTHERLAKE)
[22:04:16] [PASSED] 0xFD80 (PANTHERLAKE)
[22:04:16] [PASSED] 0xFD81 (PANTHERLAKE)
[22:04:16] [PASSED] 0xD740 (NOVALAKE_S)
[22:04:16] [PASSED] 0xD741 (NOVALAKE_S)
[22:04:16] [PASSED] 0xD742 (NOVALAKE_S)
[22:04:16] [PASSED] 0xD743 (NOVALAKE_S)
[22:04:16] [PASSED] 0xD745 (NOVALAKE_S)
[22:04:16] [PASSED] 0xD74A (NOVALAKE_S)
[22:04:16] [PASSED] 0xD74B (NOVALAKE_S)
[22:04:16] [PASSED] 0x674C (CRESCENTISLAND)
[22:04:16] [PASSED] 0x674D (CRESCENTISLAND)
[22:04:16] [PASSED] 0x674E (CRESCENTISLAND)
[22:04:16] [PASSED] 0x674F (CRESCENTISLAND)
[22:04:16] [PASSED] 0x6750 (CRESCENTISLAND)
[22:04:16] [PASSED] 0x6751 (CRESCENTISLAND)
[22:04:16] [PASSED] 0x6752 (CRESCENTISLAND)
[22:04:16] [PASSED] 0xD750 (NOVALAKE_P)
[22:04:16] [PASSED] 0xD751 (NOVALAKE_P)
[22:04:16] [PASSED] 0xD752 (NOVALAKE_P)
[22:04:16] [PASSED] 0xD753 (NOVALAKE_P)
[22:04:16] [PASSED] 0xD754 (NOVALAKE_P)
[22:04:16] [PASSED] 0xD755 (NOVALAKE_P)
[22:04:16] [PASSED] 0xD756 (NOVALAKE_P)
[22:04:16] [PASSED] 0xD757 (NOVALAKE_P)
[22:04:16] [PASSED] 0xD75F (NOVALAKE_P)
[22:04:16] =============== [PASSED] check_platform_desc ===============
[22:04:16] ===================== [PASSED] xe_pci ======================
[22:04:16] ============= xe_rtp_tables_test (5 subtests) ==============
[22:04:16] ================== xe_rtp_table_gt_test ===================
[22:04:16] [PASSED] gt_was/14011060649
[22:04:16] [PASSED] gt_was/14011059788
[22:04:16] [PASSED] gt_was/14015795083
[22:04:16] [PASSED] gt_was/16021867713
[22:04:16] [PASSED] gt_was/14019449301
[22:04:16] [PASSED] gt_was/16028005424
[22:04:16] [PASSED] gt_was/14026578760
[22:04:16] [PASSED] gt_was/1409420604
[22:04:16] [PASSED] gt_was/1408615072
[22:04:16] [PASSED] gt_was/22010523718
[22:04:16] [PASSED] gt_was/14011006942
[22:04:17] [PASSED] gt_was/14014830051
[22:04:17] [PASSED] gt_was/18018781329
[22:04:17] [PASSED] gt_was/1509235366
[22:04:17] [PASSED] gt_was/18018781329
[22:04:17] [PASSED] gt_was/16016694945
[22:04:17] [PASSED] gt_was/14018575942
[22:04:17] [PASSED] gt_was/22016670082
[22:04:17] [PASSED] gt_was/22016670082
[22:04:17] [PASSED] gt_was/14017421178
[22:04:17] [PASSED] gt_was/16025250150
[22:04:17] [PASSED] gt_was/14021871409
[22:04:17] [PASSED] gt_was/16021865536
[22:04:17] [PASSED] gt_was/14021486841
[22:04:17] [PASSED] gt_was/14025160223
[22:04:17] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[22:04:17] [PASSED] gt_was/14025635424
[22:04:17] [PASSED] gt_was/16028005424
[22:04:17] ============== [PASSED] xe_rtp_table_gt_test ===============
[22:04:17] ================== xe_rtp_table_gt_test ===================
[22:04:17] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[22:04:17] [PASSED] gt_tunings/Tuning: 32B Access Enable
[22:04:17] [PASSED] gt_tunings/Tuning: L3 cache
[22:04:17] [PASSED] gt_tunings/Tuning: L3 cache - media
[22:04:17] [PASSED] gt_tunings/Tuning: Compression Overfetch
[22:04:17] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[22:04:17] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[22:04:17] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[22:04:17] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[22:04:17] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[22:04:17] [PASSED] gt_tunings/Tuning: Stateless compression control
[22:04:17] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[22:04:17] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[22:04:17] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[22:04:17] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[22:04:17] [PASSED] gt_tunings/Tuning: Force All Non-Compressible Memory Reads to be 256B Overfetches
[22:04:17] ============== [PASSED] xe_rtp_table_gt_test ===============
[22:04:17] ================== xe_rtp_table_oob_test ==================
[22:04:17] [PASSED] oob_was/1607983814
[22:04:17] [PASSED] oob_was/16010904313
[22:04:17] [PASSED] oob_was/18022495364
[22:04:17] [PASSED] oob_was/22012773006
[22:04:17] [PASSED] oob_was/14014475959
[22:04:17] [PASSED] oob_was/22011391025
[22:04:17] [PASSED] oob_was/22012727170
[22:04:17] [PASSED] oob_was/22012727685
[22:04:17] [PASSED] oob_was/22016596838
[22:04:17] [PASSED] oob_was/18020744125
[22:04:17] [PASSED] oob_was/1409600907
[22:04:17] [PASSED] oob_was/22014953428
[22:04:17] [PASSED] oob_was/16017236439
[22:04:17] [PASSED] oob_was/14019821291
[22:04:17] [PASSED] oob_was/14015076503
[22:04:17] [PASSED] oob_was/22016122933
[22:04:17] [PASSED] oob_was/14018913170
[22:04:17] [PASSED] oob_was/14018094691
[22:04:17] [PASSED] oob_was/18024947630
[22:04:17] [PASSED] oob_was/16022287689
[22:04:17] [PASSED] oob_was/13011645652
[22:04:17] [PASSED] oob_was/14022293748
[22:04:17] [PASSED] oob_was/22019794406
[22:04:17] [PASSED] oob_was/22019338487
[22:04:17] [PASSED] oob_was/16023588340
[22:04:17] [PASSED] oob_was/14019789679
[22:04:17] [PASSED] oob_was/14022866841
[22:04:17] [PASSED] oob_was/16021333562
[22:04:17] [PASSED] oob_was/14016712196
[22:04:17] [PASSED] oob_was/14015568240
[22:04:17] [PASSED] oob_was/18013179988
[22:04:17] [PASSED] oob_was/1508761755
[22:04:17] [PASSED] oob_was/16023105232
[22:04:17] [PASSED] oob_was/16026508708
[22:04:17] [PASSED] oob_was/14020001231
[22:04:17] [PASSED] oob_was/16023683509
[22:04:17] [PASSED] oob_was/14025515070
[22:04:17] [PASSED] oob_was/15015404425_disable
[22:04:17] [PASSED] oob_was/16026007364
[22:04:17] [PASSED] oob_was/14020316580
[22:04:17] [PASSED] oob_was/14025883347
[22:04:17] [PASSED] oob_was/16029380221
[22:04:17] [PASSED] oob_was/22022079272
[22:04:17] [PASSED] oob_was/16029897822
[22:04:17] [PASSED] oob_was/14026539277
[22:04:17] [PASSED] oob_was/14027054324
[22:04:17] [PASSED] oob_was/14025941587
[22:04:17] [PASSED] oob_was/16030224309
[22:04:17] [PASSED] oob_was/14028709524
[22:04:17] ============== [PASSED] xe_rtp_table_oob_test ==============
[22:04:17] ================ xe_rtp_table_dev_oob_test ================
[22:04:17] [PASSED] device_oob_was/22010954014
[22:04:17] [PASSED] device_oob_was/15015404425
[22:04:17] [PASSED] device_oob_was/22019338487_display
[22:04:17] [PASSED] device_oob_was/14022085890
[22:04:17] [PASSED] device_oob_was/14026633728
[22:04:17] [PASSED] device_oob_was/14026746987
[22:04:17] [PASSED] device_oob_was/14026779378
[22:04:17] [PASSED] device_oob_was/14028586678
[22:04:17] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[22:04:17] ========== xe_rtp_table_missing_upper_bound_test ==========
[22:04:17] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[22:04:17] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[22:04:17] [PASSED] register_whitelist/1806527549
[22:04:17] [PASSED] register_whitelist/allow_read_ctx_timestamp
[22:04:17] [PASSED] register_whitelist/allow_read_queue_timestamp
[22:04:17] [PASSED] register_whitelist/16014440446
[22:04:17] [PASSED] register_whitelist/16017236439
[22:04:17] [PASSED] register_whitelist/16020183090
[22:04:17] [PASSED] register_whitelist/14024997852
[22:04:17] [PASSED] register_whitelist/14024997852
[22:04:17] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[22:04:17] =============== [PASSED] xe_rtp_tables_test ================
[22:04:17] =================== xe_rtp (3 subtests) ====================
[22:04:17] =================== xe_rtp_rules_tests ====================
[22:04:17] [PASSED] no
[22:04:17] [PASSED] yes
[22:04:17] [PASSED] no-and-no
[22:04:17] [PASSED] no-and-yes
[22:04:17] [PASSED] yes-and-no
[22:04:17] [PASSED] yes-and-yes
[22:04:17] [PASSED] no-or-no
[22:04:17] [PASSED] no-or-yes
[22:04:17] [PASSED] yes-or-no
[22:04:17] [PASSED] yes-or-yes
[22:04:17] [PASSED] no-yes-or-yes-no
[22:04:17] [PASSED] no-yes-or-yes-yes
[22:04:17] [PASSED] yes-yes-or-no-yes
[22:04:17] [PASSED] yes-yes-or-yes-yes
[22:04:17] [PASSED] no-no-or-yes-or-no
[22:04:17] [PASSED] or
[22:04:17] [PASSED] or-yes
[22:04:17] [PASSED] or-no
[22:04:17] [PASSED] yes-or
[22:04:17] [PASSED] no-or
[22:04:17] [PASSED] no-or-or-yes
[22:04:17] [PASSED] yes-or-or-no
[22:04:17] [PASSED] no-or-or-no
[22:04:17] [PASSED] missing-context-engine-class
[22:04:17] [PASSED] missing-context-engine-class-or-yes
[22:04:17] [PASSED] missing-context-engine-class-or-or-yes
[22:04:17] =============== [PASSED] xe_rtp_rules_tests ================
[22:04:17] =============== xe_rtp_process_to_sr_tests ================
[22:04:17] [PASSED] coalesce-same-reg
[22:04:17] [PASSED] coalesce-same-reg-literal-and-func
[22:04:17] [PASSED] no-match-no-add
[22:04:17] [PASSED] two-regs-two-entries
[22:04:17] [PASSED] clr-one-set-other
[22:04:17] [PASSED] set-field
[22:04:17] [PASSED] conflict-duplicate
[22:04:17] [PASSED] conflict-not-disjoint
[22:04:17] [PASSED] conflict-not-disjoint-literal-and-func
[22:04:17] [PASSED] conflict-reg-type
[22:04:17] [PASSED] bad-mcr-reg-forced-to-regular
[22:04:17] [PASSED] bad-regular-reg-forced-to-mcr
[22:04:17] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[22:04:17] ================== xe_rtp_process_tests ===================
[22:04:17] [PASSED] active1
[22:04:17] [PASSED] active2
[22:04:17] [PASSED] active-inactive
[22:04:17] [PASSED] inactive-active
[22:04:17] [PASSED] inactive-active-inactive
[22:04:17] [PASSED] inactive-inactive-inactive
[22:04:17] ============== [PASSED] xe_rtp_process_tests ===============
[22:04:17] ===================== [PASSED] xe_rtp ======================
[22:04:17] ==================== xe_wa (1 subtest) =====================
[22:04:17] ======================== xe_wa_gt =========================
[22:04:17] [PASSED] TIGERLAKE B0
[22:04:17] [PASSED] DG1 A0
[22:04:17] [PASSED] DG1 B0
[22:04:17] [PASSED] ALDERLAKE_S A0
[22:04:17] [PASSED] ALDERLAKE_S B0
[22:04:17] [PASSED] ALDERLAKE_S C0
[22:04:17] [PASSED] ALDERLAKE_S D0
[22:04:17] [PASSED] ALDERLAKE_P A0
[22:04:17] [PASSED] ALDERLAKE_P B0
[22:04:17] [PASSED] ALDERLAKE_P C0
[22:04:17] [PASSED] ALDERLAKE_S RPLS D0
[22:04:17] [PASSED] ALDERLAKE_P RPLU E0
[22:04:17] [PASSED] DG2 G10 C0
[22:04:17] [PASSED] DG2 G11 B1
[22:04:17] [PASSED] DG2 G12 A1
[22:04:17] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[22:04:17] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[22:04:17] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[22:04:17] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[22:04:17] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[22:04:17] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[22:04:17] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[22:04:17] ==================== [PASSED] xe_wa_gt =====================
[22:04:17] ====================== [PASSED] xe_wa ======================
[22:04:17] ============================================================
[22:04:17] Testing complete. Ran 841 tests: passed: 812, skipped: 29
[22:04:17] Elapsed time: 41.380s total, 2.504s configuring, 38.160s building, 0.703s 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
[22:04:17] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:04:19] 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
[22:04:44] Starting KUnit Kernel (1/1)...
[22:04:44] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[22:04:44] ============ drm_test_pick_cmdline (2 subtests) ============
[22:04:44] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[22:04:44] =============== drm_test_pick_cmdline_named ===============
[22:04:44] [PASSED] NTSC
[22:04:44] [PASSED] NTSC-J
[22:04:44] [PASSED] PAL
[22:04:44] [PASSED] PAL-M
[22:04:44] =========== [PASSED] drm_test_pick_cmdline_named ===========
[22:04:44] ============== [PASSED] drm_test_pick_cmdline ==============
[22:04:44] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[22:04:44] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[22:04:44] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[22:04:44] =========== drm_validate_clone_mode (2 subtests) ===========
[22:04:44] ============== drm_test_check_in_clone_mode ===============
[22:04:44] [PASSED] in_clone_mode
[22:04:44] [PASSED] not_in_clone_mode
[22:04:44] ========== [PASSED] drm_test_check_in_clone_mode ===========
[22:04:44] =============== drm_test_check_valid_clones ===============
[22:04:44] [PASSED] not_in_clone_mode
[22:04:44] [PASSED] valid_clone
[22:04:44] [PASSED] invalid_clone
[22:04:44] =========== [PASSED] drm_test_check_valid_clones ===========
[22:04:44] ============= [PASSED] drm_validate_clone_mode =============
[22:04:44] ============= drm_validate_modeset (1 subtest) =============
[22:04:44] [PASSED] drm_test_check_connector_changed_modeset
[22:04:44] ============== [PASSED] drm_validate_modeset ===============
[22:04:44] ====== drm_test_bridge_get_current_state (1 subtest) =======
[22:04:44] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[22:04:44] ======== [PASSED] drm_test_bridge_get_current_state ========
[22:04:44] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[22:04:44] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[22:04:44] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[22:04:44] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[22:04:44] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[22:04:44] ============== drm_bridge_alloc (2 subtests) ===============
[22:04:44] [PASSED] drm_test_drm_bridge_alloc_basic
[22:04:44] [PASSED] drm_test_drm_bridge_alloc_get_put
[22:04:44] ================ [PASSED] drm_bridge_alloc =================
[22:04:44] ============= drm_bridge_bus_fmt (5 subtests) ==============
[22:04:44] [PASSED] drm_test_bridge_rgb_yuv_rgb
[22:04:44] [PASSED] drm_test_bridge_must_convert_to_yuv444
[22:04:44] [PASSED] drm_test_bridge_hdmi_auto_rgb
[22:04:44] [PASSED] drm_test_bridge_auto_first
[22:04:44] [PASSED] drm_test_bridge_rgb_yuv_no_path
[22:04:44] =============== [PASSED] drm_bridge_bus_fmt ================
[22:04:44] ============= drm_cmdline_parser (40 subtests) =============
[22:04:44] [PASSED] drm_test_cmdline_force_d_only
[22:04:44] [PASSED] drm_test_cmdline_force_D_only_dvi
[22:04:44] [PASSED] drm_test_cmdline_force_D_only_hdmi
[22:04:44] [PASSED] drm_test_cmdline_force_D_only_not_digital
[22:04:44] [PASSED] drm_test_cmdline_force_e_only
[22:04:44] [PASSED] drm_test_cmdline_res
[22:04:44] [PASSED] drm_test_cmdline_res_vesa
[22:04:44] [PASSED] drm_test_cmdline_res_vesa_rblank
[22:04:44] [PASSED] drm_test_cmdline_res_rblank
[22:04:44] [PASSED] drm_test_cmdline_res_bpp
[22:04:44] [PASSED] drm_test_cmdline_res_refresh
[22:04:44] [PASSED] drm_test_cmdline_res_bpp_refresh
[22:04:44] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[22:04:44] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[22:04:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[22:04:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[22:04:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[22:04:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[22:04:44] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[22:04:44] [PASSED] drm_test_cmdline_res_margins_force_on
[22:04:44] [PASSED] drm_test_cmdline_res_vesa_margins
[22:04:44] [PASSED] drm_test_cmdline_name
[22:04:44] [PASSED] drm_test_cmdline_name_bpp
[22:04:44] [PASSED] drm_test_cmdline_name_option
[22:04:44] [PASSED] drm_test_cmdline_name_bpp_option
[22:04:44] [PASSED] drm_test_cmdline_rotate_0
[22:04:44] [PASSED] drm_test_cmdline_rotate_90
[22:04:44] [PASSED] drm_test_cmdline_rotate_180
[22:04:44] [PASSED] drm_test_cmdline_rotate_270
[22:04:44] [PASSED] drm_test_cmdline_hmirror
[22:04:44] [PASSED] drm_test_cmdline_vmirror
[22:04:44] [PASSED] drm_test_cmdline_margin_options
[22:04:44] [PASSED] drm_test_cmdline_multiple_options
[22:04:44] [PASSED] drm_test_cmdline_bpp_extra_and_option
[22:04:44] [PASSED] drm_test_cmdline_extra_and_option
[22:04:44] [PASSED] drm_test_cmdline_freestanding_options
[22:04:44] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[22:04:44] [PASSED] drm_test_cmdline_panel_orientation
[22:04:44] ================ drm_test_cmdline_invalid =================
[22:04:44] [PASSED] margin_only
[22:04:44] [PASSED] interlace_only
[22:04:44] [PASSED] res_missing_x
[22:04:44] [PASSED] res_missing_y
[22:04:44] [PASSED] res_bad_y
[22:04:44] [PASSED] res_missing_y_bpp
[22:04:44] [PASSED] res_bad_bpp
[22:04:44] [PASSED] res_bad_refresh
[22:04:44] [PASSED] res_bpp_refresh_force_on_off
[22:04:44] [PASSED] res_invalid_mode
[22:04:44] [PASSED] res_bpp_wrong_place_mode
[22:04:44] [PASSED] name_bpp_refresh
[22:04:44] [PASSED] name_refresh
[22:04:44] [PASSED] name_refresh_wrong_mode
[22:04:44] [PASSED] name_refresh_invalid_mode
[22:04:44] [PASSED] rotate_multiple
[22:04:44] [PASSED] rotate_invalid_val
[22:04:44] [PASSED] rotate_truncated
[22:04:44] [PASSED] invalid_option
[22:04:44] [PASSED] invalid_tv_option
[22:04:44] [PASSED] truncated_tv_option
[22:04:44] ============ [PASSED] drm_test_cmdline_invalid =============
[22:04:44] =============== drm_test_cmdline_tv_options ===============
[22:04:44] [PASSED] NTSC
[22:04:44] [PASSED] NTSC_443
[22:04:44] [PASSED] NTSC_J
[22:04:44] [PASSED] PAL
[22:04:44] [PASSED] PAL_M
[22:04:44] [PASSED] PAL_N
[22:04:44] [PASSED] SECAM
[22:04:44] [PASSED] MONO_525
[22:04:44] [PASSED] MONO_625
[22:04:44] =========== [PASSED] drm_test_cmdline_tv_options ===========
[22:04:44] =============== [PASSED] drm_cmdline_parser ================
[22:04:44] ========== drmm_connector_hdmi_init (20 subtests) ==========
[22:04:44] [PASSED] drm_test_connector_hdmi_init_valid
[22:04:44] [PASSED] drm_test_connector_hdmi_init_bpc_8
[22:04:44] [PASSED] drm_test_connector_hdmi_init_bpc_10
[22:04:44] [PASSED] drm_test_connector_hdmi_init_bpc_12
[22:04:44] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[22:04:44] [PASSED] drm_test_connector_hdmi_init_bpc_null
[22:04:44] [PASSED] drm_test_connector_hdmi_init_formats_empty
[22:04:44] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[22:04:44] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[22:04:44] [PASSED] supported_formats=0x9 yuv420_allowed=1
[22:04:44] [PASSED] supported_formats=0x9 yuv420_allowed=0
[22:04:44] [PASSED] supported_formats=0x5 yuv420_allowed=1
[22:04:44] [PASSED] supported_formats=0x5 yuv420_allowed=0
[22:04:44] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[22:04:44] [PASSED] drm_test_connector_hdmi_init_null_ddc
[22:04:44] [PASSED] drm_test_connector_hdmi_init_null_product
[22:04:44] [PASSED] drm_test_connector_hdmi_init_null_vendor
[22:04:44] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[22:04:44] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[22:04:44] [PASSED] drm_test_connector_hdmi_init_product_valid
[22:04:44] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[22:04:44] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[22:04:44] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[22:04:44] ========= drm_test_connector_hdmi_init_type_valid =========
[22:04:44] [PASSED] HDMI-A
[22:04:44] [PASSED] HDMI-B
[22:04:44] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[22:04:44] ======== drm_test_connector_hdmi_init_type_invalid ========
[22:04:44] [PASSED] Unknown
[22:04:44] [PASSED] VGA
[22:04:44] [PASSED] DVI-I
[22:04:44] [PASSED] DVI-D
[22:04:44] [PASSED] DVI-A
[22:04:44] [PASSED] Composite
[22:04:44] [PASSED] SVIDEO
[22:04:44] [PASSED] LVDS
[22:04:44] [PASSED] Component
[22:04:44] [PASSED] DIN
[22:04:44] [PASSED] DP
[22:04:44] [PASSED] TV
[22:04:44] [PASSED] eDP
[22:04:44] [PASSED] Virtual
[22:04:44] [PASSED] DSI
[22:04:44] [PASSED] DPI
[22:04:44] [PASSED] Writeback
[22:04:44] [PASSED] SPI
[22:04:44] [PASSED] USB
[22:04:44] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[22:04:44] ============ [PASSED] drmm_connector_hdmi_init =============
[22:04:44] ============= drmm_connector_init (3 subtests) =============
[22:04:44] [PASSED] drm_test_drmm_connector_init
[22:04:44] [PASSED] drm_test_drmm_connector_init_null_ddc
[22:04:44] ========= drm_test_drmm_connector_init_type_valid =========
[22:04:44] [PASSED] Unknown
[22:04:44] [PASSED] VGA
[22:04:44] [PASSED] DVI-I
[22:04:44] [PASSED] DVI-D
[22:04:44] [PASSED] DVI-A
[22:04:44] [PASSED] Composite
[22:04:44] [PASSED] SVIDEO
[22:04:44] [PASSED] LVDS
[22:04:44] [PASSED] Component
[22:04:44] [PASSED] DIN
[22:04:44] [PASSED] DP
[22:04:44] [PASSED] HDMI-A
[22:04:44] [PASSED] HDMI-B
[22:04:44] [PASSED] TV
[22:04:44] [PASSED] eDP
[22:04:44] [PASSED] Virtual
[22:04:44] [PASSED] DSI
[22:04:44] [PASSED] DPI
[22:04:44] [PASSED] Writeback
[22:04:44] [PASSED] SPI
[22:04:44] [PASSED] USB
[22:04:44] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[22:04:44] =============== [PASSED] drmm_connector_init ===============
[22:04:44] ========= drm_connector_dynamic_init (6 subtests) ==========
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_init
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_init_properties
[22:04:44] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[22:04:44] [PASSED] Unknown
[22:04:44] [PASSED] VGA
[22:04:44] [PASSED] DVI-I
[22:04:44] [PASSED] DVI-D
[22:04:44] [PASSED] DVI-A
[22:04:44] [PASSED] Composite
[22:04:44] [PASSED] SVIDEO
[22:04:44] [PASSED] LVDS
[22:04:44] [PASSED] Component
[22:04:44] [PASSED] DIN
[22:04:44] [PASSED] DP
[22:04:44] [PASSED] HDMI-A
[22:04:44] [PASSED] HDMI-B
[22:04:44] [PASSED] TV
[22:04:44] [PASSED] eDP
[22:04:44] [PASSED] Virtual
[22:04:44] [PASSED] DSI
[22:04:44] [PASSED] DPI
[22:04:44] [PASSED] Writeback
[22:04:44] [PASSED] SPI
[22:04:44] [PASSED] USB
[22:04:44] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[22:04:44] ======== drm_test_drm_connector_dynamic_init_name =========
[22:04:44] [PASSED] Unknown
[22:04:44] [PASSED] VGA
[22:04:44] [PASSED] DVI-I
[22:04:44] [PASSED] DVI-D
[22:04:44] [PASSED] DVI-A
[22:04:44] [PASSED] Composite
[22:04:44] [PASSED] SVIDEO
[22:04:44] [PASSED] LVDS
[22:04:44] [PASSED] Component
[22:04:44] [PASSED] DIN
[22:04:44] [PASSED] DP
[22:04:44] [PASSED] HDMI-A
[22:04:44] [PASSED] HDMI-B
[22:04:44] [PASSED] TV
[22:04:44] [PASSED] eDP
[22:04:44] [PASSED] Virtual
[22:04:44] [PASSED] DSI
[22:04:44] [PASSED] DPI
[22:04:44] [PASSED] Writeback
[22:04:44] [PASSED] SPI
[22:04:44] [PASSED] USB
[22:04:44] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[22:04:44] =========== [PASSED] drm_connector_dynamic_init ============
[22:04:44] ==== drm_connector_dynamic_register_early (4 subtests) =====
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[22:04:44] ====== [PASSED] drm_connector_dynamic_register_early =======
[22:04:44] ======= drm_connector_dynamic_register (7 subtests) ========
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[22:04:44] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[22:04:44] ========= [PASSED] drm_connector_dynamic_register ==========
[22:04:44] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[22:04:44] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[22:04:44] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[22:04:44] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[22:04:44] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[22:04:44] ========== drm_test_get_tv_mode_from_name_valid ===========
[22:04:44] [PASSED] NTSC
[22:04:44] [PASSED] NTSC-443
[22:04:44] [PASSED] NTSC-J
[22:04:44] [PASSED] PAL
[22:04:44] [PASSED] PAL-M
[22:04:44] [PASSED] PAL-N
[22:04:44] [PASSED] SECAM
[22:04:44] [PASSED] Mono
[22:04:44] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[22:04:44] [PASSED] drm_test_get_tv_mode_from_name_truncated
[22:04:44] ============ [PASSED] drm_get_tv_mode_from_name ============
[22:04:44] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[22:04:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[22:04:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[22:04:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[22:04:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[22:04:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[22:04:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[22:04:44] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[22:04:44] [PASSED] VIC 96
[22:04:44] [PASSED] VIC 97
[22:04:44] [PASSED] VIC 101
[22:04:44] [PASSED] VIC 102
[22:04:44] [PASSED] VIC 106
[22:04:44] [PASSED] VIC 107
[22:04:44] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[22:04:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[22:04:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[22:04:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[22:04:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[22:04:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[22:04:44] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[22:04:44] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[22:04:44] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[22:04:44] [PASSED] Automatic
[22:04:44] [PASSED] Full
[22:04:44] [PASSED] Limited 16:235
[22:04:44] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[22:04:44] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[22:04:44] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[22:04:44] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[22:04:44] === drm_test_drm_hdmi_connector_get_output_format_name ====
[22:04:44] [PASSED] RGB
[22:04:44] [PASSED] YUV 4:2:0
[22:04:44] [PASSED] YUV 4:2:2
[22:04:44] [PASSED] YUV 4:4:4
[22:04:44] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[22:04:44] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[22:04:44] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[22:04:44] ============= drm_damage_helper (21 subtests) ==============
[22:04:44] [PASSED] drm_test_damage_iter_no_damage
[22:04:44] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[22:04:44] [PASSED] drm_test_damage_iter_no_damage_src_moved
[22:04:44] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[22:04:44] [PASSED] drm_test_damage_iter_no_damage_not_visible
[22:04:44] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[22:04:44] [PASSED] drm_test_damage_iter_no_damage_no_fb
[22:04:44] [PASSED] drm_test_damage_iter_simple_damage
[22:04:44] [PASSED] drm_test_damage_iter_single_damage
[22:04:44] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[22:04:44] [PASSED] drm_test_damage_iter_single_damage_outside_src
[22:04:44] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[22:04:44] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[22:04:44] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[22:04:44] [PASSED] drm_test_damage_iter_single_damage_src_moved
[22:04:44] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[22:04:44] [PASSED] drm_test_damage_iter_damage
[22:04:44] [PASSED] drm_test_damage_iter_damage_one_intersect
[22:04:44] [PASSED] drm_test_damage_iter_damage_one_outside
[22:04:44] [PASSED] drm_test_damage_iter_damage_src_moved
[22:04:44] [PASSED] drm_test_damage_iter_damage_not_visible
[22:04:44] ================ [PASSED] drm_damage_helper ================
[22:04:44] ============== drm_dp_mst_helper (3 subtests) ==============
[22:04:44] ============== drm_test_dp_mst_calc_pbn_mode ==============
[22:04:44] [PASSED] Clock 154000 BPP 30 DSC disabled
[22:04:44] [PASSED] Clock 234000 BPP 30 DSC disabled
[22:04:44] [PASSED] Clock 297000 BPP 24 DSC disabled
[22:04:44] [PASSED] Clock 332880 BPP 24 DSC enabled
[22:04:44] [PASSED] Clock 324540 BPP 24 DSC enabled
[22:04:44] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[22:04:44] ============== drm_test_dp_mst_calc_pbn_div ===============
[22:04:44] [PASSED] Link rate 2000000 lane count 4
[22:04:44] [PASSED] Link rate 2000000 lane count 2
[22:04:44] [PASSED] Link rate 2000000 lane count 1
[22:04:44] [PASSED] Link rate 1350000 lane count 4
[22:04:44] [PASSED] Link rate 1350000 lane count 2
[22:04:44] [PASSED] Link rate 1350000 lane count 1
[22:04:44] [PASSED] Link rate 1000000 lane count 4
[22:04:44] [PASSED] Link rate 1000000 lane count 2
[22:04:44] [PASSED] Link rate 1000000 lane count 1
[22:04:44] [PASSED] Link rate 810000 lane count 4
[22:04:44] [PASSED] Link rate 810000 lane count 2
[22:04:44] [PASSED] Link rate 810000 lane count 1
[22:04:44] [PASSED] Link rate 540000 lane count 4
[22:04:44] [PASSED] Link rate 540000 lane count 2
[22:04:44] [PASSED] Link rate 540000 lane count 1
[22:04:44] [PASSED] Link rate 270000 lane count 4
[22:04:44] [PASSED] Link rate 270000 lane count 2
[22:04:44] [PASSED] Link rate 270000 lane count 1
[22:04:44] [PASSED] Link rate 162000 lane count 4
[22:04:44] [PASSED] Link rate 162000 lane count 2
[22:04:44] [PASSED] Link rate 162000 lane count 1
[22:04:44] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[22:04:44] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[22:04:44] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[22:04:44] [PASSED] DP_POWER_UP_PHY with port number
[22:04:44] [PASSED] DP_POWER_DOWN_PHY with port number
[22:04:44] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[22:04:44] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[22:04:44] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[22:04:44] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[22:04:44] [PASSED] DP_QUERY_PAYLOAD with port number
[22:04:44] [PASSED] DP_QUERY_PAYLOAD with VCPI
[22:04:44] [PASSED] DP_REMOTE_DPCD_READ with port number
[22:04:44] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[22:04:44] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[22:04:44] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[22:04:44] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[22:04:44] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[22:04:44] [PASSED] DP_REMOTE_I2C_READ with port number
[22:04:44] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[22:04:44] [PASSED] DP_REMOTE_I2C_READ with transactions array
[22:04:44] [PASSED] DP_REMOTE_I2C_WRITE with port number
[22:04:44] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[22:04:44] [PASSED] DP_REMOTE_I2C_WRITE with data array
[22:04:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[22:04:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[22:04:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[22:04:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[22:04:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[22:04:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[22:04:44] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[22:04:44] ================ [PASSED] drm_dp_mst_helper ================
[22:04:44] ================== drm_exec (7 subtests) ===================
[22:04:44] [PASSED] sanitycheck
[22:04:44] [PASSED] test_lock
[22:04:44] [PASSED] test_lock_unlock
[22:04:44] [PASSED] test_duplicates
[22:04:44] [PASSED] test_prepare
[22:04:44] [PASSED] test_prepare_array
[22:04:44] [PASSED] test_multiple_loops
[22:04:44] ==================== [PASSED] drm_exec =====================
[22:04:44] =========== drm_format_helper_test (17 subtests) ===========
[22:04:44] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[22:04:44] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[22:04:44] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[22:04:44] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[22:04:44] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[22:04:44] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[22:04:44] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[22:04:44] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[22:04:44] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[22:04:44] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[22:04:44] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[22:04:44] ============== drm_test_fb_xrgb8888_to_mono ===============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[22:04:44] ==================== drm_test_fb_swab =====================
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ================ [PASSED] drm_test_fb_swab =================
[22:04:44] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[22:04:44] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[22:04:44] [PASSED] single_pixel_source_buffer
[22:04:44] [PASSED] single_pixel_clip_rectangle
[22:04:44] [PASSED] well_known_colors
[22:04:44] [PASSED] destination_pitch
[22:04:44] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[22:04:44] ================= drm_test_fb_clip_offset =================
[22:04:44] [PASSED] pass through
[22:04:44] [PASSED] horizontal offset
[22:04:44] [PASSED] vertical offset
[22:04:44] [PASSED] horizontal and vertical offset
[22:04:44] [PASSED] horizontal offset (custom pitch)
[22:04:44] [PASSED] vertical offset (custom pitch)
[22:04:44] [PASSED] horizontal and vertical offset (custom pitch)
[22:04:44] ============= [PASSED] drm_test_fb_clip_offset =============
[22:04:44] =================== drm_test_fb_memcpy ====================
[22:04:44] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[22:04:44] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[22:04:44] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[22:04:44] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[22:04:44] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[22:04:44] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[22:04:44] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[22:04:44] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[22:04:44] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[22:04:44] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[22:04:44] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[22:04:44] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[22:04:44] =============== [PASSED] drm_test_fb_memcpy ================
[22:04:44] ============= [PASSED] drm_format_helper_test ==============
[22:04:44] ================= drm_format (18 subtests) =================
[22:04:44] [PASSED] drm_test_format_block_width_invalid
[22:04:44] [PASSED] drm_test_format_block_width_one_plane
[22:04:44] [PASSED] drm_test_format_block_width_two_plane
[22:04:44] [PASSED] drm_test_format_block_width_three_plane
[22:04:44] [PASSED] drm_test_format_block_width_tiled
[22:04:44] [PASSED] drm_test_format_block_height_invalid
[22:04:44] [PASSED] drm_test_format_block_height_one_plane
[22:04:44] [PASSED] drm_test_format_block_height_two_plane
[22:04:44] [PASSED] drm_test_format_block_height_three_plane
[22:04:44] [PASSED] drm_test_format_block_height_tiled
[22:04:44] [PASSED] drm_test_format_min_pitch_invalid
[22:04:44] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[22:04:44] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[22:04:44] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[22:04:44] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[22:04:44] [PASSED] drm_test_format_min_pitch_two_plane
[22:04:44] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[22:04:44] [PASSED] drm_test_format_min_pitch_tiled
[22:04:44] =================== [PASSED] drm_format ====================
[22:04:44] ============== drm_framebuffer (10 subtests) ===============
[22:04:44] ========== drm_test_framebuffer_check_src_coords ==========
[22:04:44] [PASSED] Success: source fits into fb
[22:04:44] [PASSED] Fail: overflowing fb with x-axis coordinate
[22:04:44] [PASSED] Fail: overflowing fb with y-axis coordinate
[22:04:44] [PASSED] Fail: overflowing fb with source width
[22:04:44] [PASSED] Fail: overflowing fb with source height
[22:04:44] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[22:04:44] [PASSED] drm_test_framebuffer_cleanup
[22:04:44] =============== drm_test_framebuffer_create ===============
[22:04:44] [PASSED] ABGR8888 normal sizes
[22:04:44] [PASSED] ABGR8888 max sizes
[22:04:44] [PASSED] ABGR8888 pitch greater than min required
[22:04:44] [PASSED] ABGR8888 pitch less than min required
[22:04:44] [PASSED] ABGR8888 Invalid width
[22:04:44] [PASSED] ABGR8888 Invalid buffer handle
[22:04:44] [PASSED] No pixel format
[22:04:44] [PASSED] ABGR8888 Width 0
[22:04:44] [PASSED] ABGR8888 Height 0
[22:04:44] [PASSED] ABGR8888 Out of bound height * pitch combination
[22:04:44] [PASSED] ABGR8888 Large buffer offset
[22:04:44] [PASSED] ABGR8888 Buffer offset for inexistent plane
[22:04:44] [PASSED] ABGR8888 Invalid flag
[22:04:44] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[22:04:44] [PASSED] ABGR8888 Valid buffer modifier
[22:04:44] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[22:04:44] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[22:04:44] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[22:04:44] [PASSED] NV12 Normal sizes
[22:04:44] [PASSED] NV12 Max sizes
[22:04:44] [PASSED] NV12 Invalid pitch
[22:04:44] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[22:04:44] [PASSED] NV12 different modifier per-plane
[22:04:44] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[22:04:44] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[22:04:44] [PASSED] NV12 Modifier for inexistent plane
[22:04:44] [PASSED] NV12 Handle for inexistent plane
[22:04:44] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[22:04:44] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[22:04:44] [PASSED] YVU420 Normal sizes
[22:04:44] [PASSED] YVU420 Max sizes
[22:04:44] [PASSED] YVU420 Invalid pitch
[22:04:44] [PASSED] YVU420 Different pitches
[22:04:44] [PASSED] YVU420 Different buffer offsets/pitches
[22:04:44] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[22:04:44] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[22:04:44] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[22:04:44] [PASSED] YVU420 Valid modifier
[22:04:44] [PASSED] YVU420 Different modifiers per plane
[22:04:44] [PASSED] YVU420 Modifier for inexistent plane
[22:04:44] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[22:04:44] [PASSED] X0L2 Normal sizes
[22:04:44] [PASSED] X0L2 Max sizes
[22:04:44] [PASSED] X0L2 Invalid pitch
[22:04:44] [PASSED] X0L2 Pitch greater than minimum required
[22:04:44] [PASSED] X0L2 Handle for inexistent plane
[22:04:44] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[22:04:44] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[22:04:44] [PASSED] X0L2 Valid modifier
[22:04:44] [PASSED] X0L2 Modifier for inexistent plane
[22:04:44] =========== [PASSED] drm_test_framebuffer_create ===========
[22:04:44] [PASSED] drm_test_framebuffer_free
[22:04:44] [PASSED] drm_test_framebuffer_init
[22:04:44] [PASSED] drm_test_framebuffer_init_bad_format
[22:04:44] [PASSED] drm_test_framebuffer_init_dev_mismatch
[22:04:44] [PASSED] drm_test_framebuffer_lookup
[22:04:44] [PASSED] drm_test_framebuffer_lookup_inexistent
[22:04:44] [PASSED] drm_test_framebuffer_modifiers_not_supported
[22:04:44] ================= [PASSED] drm_framebuffer =================
[22:04:44] ================ drm_gem_shmem (8 subtests) ================
[22:04:44] [PASSED] drm_gem_shmem_test_obj_create
[22:04:44] [PASSED] drm_gem_shmem_test_obj_create_private
[22:04:44] [PASSED] drm_gem_shmem_test_pin_pages
[22:04:44] [PASSED] drm_gem_shmem_test_vmap
[22:04:44] [PASSED] drm_gem_shmem_test_get_sg_table
[22:04:44] [PASSED] drm_gem_shmem_test_get_pages_sgt
[22:04:44] [PASSED] drm_gem_shmem_test_madvise
[22:04:44] [PASSED] drm_gem_shmem_test_purge
[22:04:44] ================== [PASSED] drm_gem_shmem ==================
[22:04:44] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[22:04:44] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[22:04:44] [PASSED] Automatic
[22:04:44] [PASSED] Full
[22:04:44] [PASSED] Limited 16:235
[22:04:44] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[22:04:44] [PASSED] drm_test_check_disable_connector
[22:04:44] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[22:04:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[22:04:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[22:04:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[22:04:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[22:04:44] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[22:04:44] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[22:04:44] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[22:04:44] [PASSED] drm_test_check_output_bpc_dvi
[22:04:44] [PASSED] drm_test_check_output_bpc_format_vic_1
[22:04:44] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[22:04:44] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[22:04:44] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[22:04:44] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[22:04:44] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[22:04:44] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[22:04:44] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[22:04:44] ============ drm_test_check_hdmi_color_format =============
[22:04:44] [PASSED] AUTO -> RGB
[22:04:44] [PASSED] YCBCR422 -> YUV422
[22:04:44] [PASSED] YCBCR420 -> YUV420
[22:04:44] [PASSED] YCBCR444 -> YUV444
[22:04:44] [PASSED] RGB -> RGB
[22:04:44] ======== [PASSED] drm_test_check_hdmi_color_format =========
[22:04:44] ======== drm_test_check_hdmi_color_format_420_only ========
[22:04:44] [PASSED] RGB should fail
[22:04:44] [PASSED] YUV444 should fail
[22:04:44] [PASSED] YUV422 should fail
[22:04:44] [PASSED] YUV420 should work
[22:04:44] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[22:04:44] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[22:04:44] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[22:04:44] [PASSED] drm_test_check_broadcast_rgb_value
[22:04:44] [PASSED] drm_test_check_bpc_8_value
[22:04:44] [PASSED] drm_test_check_bpc_10_value
[22:04:44] [PASSED] drm_test_check_bpc_12_value
[22:04:44] [PASSED] drm_test_check_format_value
[22:04:44] [PASSED] drm_test_check_tmds_char_value
[22:04:44] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[22:04:44] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[22:04:44] [PASSED] drm_test_check_mode_valid
[22:04:44] [PASSED] drm_test_check_mode_valid_reject
[22:04:44] [PASSED] drm_test_check_mode_valid_reject_rate
[22:04:44] [PASSED] drm_test_check_mode_valid_reject_max_clock
[22:04:44] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[22:04:44] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[22:04:44] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[22:04:44] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[22:04:44] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[22:04:44] [PASSED] drm_test_check_infoframes
[22:04:44] [PASSED] drm_test_check_reject_avi_infoframe
[22:04:44] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[22:04:44] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[22:04:44] [PASSED] drm_test_check_reject_audio_infoframe
[22:04:44] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[22:04:44] ================= drm_managed (2 subtests) =================
[22:04:44] [PASSED] drm_test_managed_release_action
[22:04:44] [PASSED] drm_test_managed_run_action
[22:04:44] =================== [PASSED] drm_managed ===================
[22:04:44] =================== drm_mm (6 subtests) ====================
[22:04:44] [PASSED] drm_test_mm_init
[22:04:44] [PASSED] drm_test_mm_debug
[22:04:44] [PASSED] drm_test_mm_align32
[22:04:44] [PASSED] drm_test_mm_align64
[22:04:44] [PASSED] drm_test_mm_lowest
[22:04:44] [PASSED] drm_test_mm_highest
[22:04:44] ===================== [PASSED] drm_mm ======================
[22:04:44] ============= drm_modes_analog_tv (5 subtests) =============
[22:04:44] [PASSED] drm_test_modes_analog_tv_mono_576i
[22:04:44] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[22:04:44] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[22:04:44] [PASSED] drm_test_modes_analog_tv_pal_576i
[22:04:44] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[22:04:44] =============== [PASSED] drm_modes_analog_tv ===============
[22:04:44] ============== drm_panic_helper (3 subtests) ===============
[22:04:44] ============= drm_test_panic_screen_user_map ==============
[22:04:44] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[22:04:44] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[22:04:44] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[22:04:44] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[22:04:44] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[22:04:44] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[22:04:45] ========= [PASSED] drm_test_panic_screen_user_map ==========
[22:04:45] ============= drm_test_panic_screen_user_page =============
[22:04:45] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[22:04:45] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[22:04:45] ========= [PASSED] drm_test_panic_screen_user_page =========
[22:04:45] ========== drm_test_panic_screen_user_set_pixel ===========
[22:04:45] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[22:04:45] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[22:04:45] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[22:04:45] ====== [PASSED] drm_test_panic_screen_user_set_pixel =======
[22:04:45] ================ [PASSED] drm_panic_helper =================
[22:04:45] ============== drm_plane_helper (2 subtests) ===============
[22:04:45] =============== drm_test_check_plane_state ================
[22:04:45] [PASSED] clipping_simple
[22:04:45] [PASSED] clipping_rotate_reflect
[22:04:45] [PASSED] positioning_simple
[22:04:45] [PASSED] upscaling
[22:04:45] [PASSED] downscaling
[22:04:45] [PASSED] rounding1
[22:04:45] [PASSED] rounding2
[22:04:45] [PASSED] rounding3
[22:04:45] [PASSED] rounding4
[22:04:45] =========== [PASSED] drm_test_check_plane_state ============
[22:04:45] =========== drm_test_check_invalid_plane_state ============
[22:04:45] [PASSED] positioning_invalid
[22:04:45] [PASSED] upscaling_invalid
[22:04:45] [PASSED] downscaling_invalid
[22:04:45] ======= [PASSED] drm_test_check_invalid_plane_state ========
[22:04:45] ================ [PASSED] drm_plane_helper =================
[22:04:45] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[22:04:45] ====== drm_test_connector_helper_tv_get_modes_check =======
[22:04:45] [PASSED] None
[22:04:45] [PASSED] PAL
[22:04:45] [PASSED] NTSC
[22:04:45] [PASSED] Both, NTSC Default
[22:04:45] [PASSED] Both, PAL Default
[22:04:45] [PASSED] Both, NTSC Default, with PAL on command-line
[22:04:45] [PASSED] Both, PAL Default, with NTSC on command-line
[22:04:45] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[22:04:45] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[22:04:45] ================== drm_rect (9 subtests) ===================
[22:04:45] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[22:04:45] [PASSED] drm_test_rect_clip_scaled_not_clipped
[22:04:45] [PASSED] drm_test_rect_clip_scaled_clipped
[22:04:45] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[22:04:45] ================= drm_test_rect_intersect =================
[22:04:45] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[22:04:45] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[22:04:45] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[22:04:45] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[22:04:45] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[22:04:45] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[22:04:45] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[22:04:45] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[22:04:45] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[22:04:45] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[22:04:45] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[22:04:45] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[22:04:45] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[22:04:45] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[22:04:45] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[22:04:45] ============= [PASSED] drm_test_rect_intersect =============
[22:04:45] ================ drm_test_rect_calc_hscale ================
[22:04:45] [PASSED] normal use
[22:04:45] [PASSED] out of max range
[22:04:45] [PASSED] out of min range
[22:04:45] [PASSED] zero dst
[22:04:45] [PASSED] negative src
[22:04:45] [PASSED] negative dst
[22:04:45] ============ [PASSED] drm_test_rect_calc_hscale ============
[22:04:45] ================ drm_test_rect_calc_vscale ================
[22:04:45] [PASSED] normal use
[22:04:45] [PASSED] out of max range
[22:04:45] [PASSED] out of min range
[22:04:45] [PASSED] zero dst
[22:04:45] [PASSED] negative src
[22:04:45] [PASSED] negative dst
[22:04:45] ============ [PASSED] drm_test_rect_calc_vscale ============
[22:04:45] ================== drm_test_rect_rotate ===================
[22:04:45] [PASSED] reflect-x
[22:04:45] [PASSED] reflect-y
[22:04:45] [PASSED] rotate-0
[22:04:45] [PASSED] rotate-90
[22:04:45] [PASSED] rotate-180
[22:04:45] [PASSED] rotate-270
[22:04:45] ============== [PASSED] drm_test_rect_rotate ===============
[22:04:45] ================ drm_test_rect_rotate_inv =================
[22:04:45] [PASSED] reflect-x
[22:04:45] [PASSED] reflect-y
[22:04:45] [PASSED] rotate-0
[22:04:45] [PASSED] rotate-90
[22:04:45] [PASSED] rotate-180
[22:04:45] [PASSED] rotate-270
[22:04:45] ============ [PASSED] drm_test_rect_rotate_inv =============
[22:04:45] ==================== [PASSED] drm_rect =====================
[22:04:45] ============ drm_sysfb_modeset_test (1 subtest) ============
[22:04:45] ============ drm_test_sysfb_build_fourcc_list =============
[22:04:45] [PASSED] no native formats
[22:04:45] [PASSED] XRGB8888 as native format
[22:04:45] [PASSED] remove duplicates
[22:04:45] [PASSED] convert alpha formats
[22:04:45] [PASSED] random formats
[22:04:45] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[22:04:45] ============= [PASSED] drm_sysfb_modeset_test ==============
[22:04:45] ================== drm_fixp (2 subtests) ===================
[22:04:45] [PASSED] drm_test_int2fixp
[22:04:45] [PASSED] drm_test_sm2fixp
[22:04:45] ==================== [PASSED] drm_fixp =====================
[22:04:45] ============================================================
[22:04:45] Testing complete. Ran 667 tests: passed: 667
[22:04:45] Elapsed time: 28.002s total, 2.551s configuring, 25.034s building, 0.410s 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
[22:04:45] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:04:47] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[22:04:58] Starting KUnit Kernel (1/1)...
[22:04:58] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[22:04:58] ================= ttm_device (5 subtests) ==================
[22:04:58] [PASSED] ttm_device_init_basic
[22:04:58] [PASSED] ttm_device_init_multiple
[22:04:58] [PASSED] ttm_device_fini_basic
[22:04:58] [PASSED] ttm_device_init_no_vma_man
[22:04:58] ================== ttm_device_init_pools ==================
[22:04:58] [PASSED] No DMA allocations, no DMA32 required
[22:04:58] [PASSED] DMA allocations, DMA32 required
[22:04:58] [PASSED] No DMA allocations, DMA32 required
[22:04:58] [PASSED] DMA allocations, no DMA32 required
[22:04:58] ============== [PASSED] ttm_device_init_pools ==============
[22:04:58] =================== [PASSED] ttm_device ====================
[22:04:58] ================== ttm_pool (8 subtests) ===================
[22:04:58] ================== ttm_pool_alloc_basic ===================
[22:04:58] [PASSED] One page
[22:04:58] [PASSED] More than one page
[22:04:58] [PASSED] Above the allocation limit
[22:04:58] [PASSED] One page, with coherent DMA mappings enabled
[22:04:58] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[22:04:58] ============== [PASSED] ttm_pool_alloc_basic ===============
[22:04:58] ============== ttm_pool_alloc_basic_dma_addr ==============
[22:04:58] [PASSED] One page
[22:04:58] [PASSED] More than one page
[22:04:58] [PASSED] Above the allocation limit
[22:04:58] [PASSED] One page, with coherent DMA mappings enabled
[22:04:58] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[22:04:58] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[22:04:58] [PASSED] ttm_pool_alloc_order_caching_match
[22:04:58] [PASSED] ttm_pool_alloc_caching_mismatch
[22:04:58] [PASSED] ttm_pool_alloc_order_mismatch
[22:04:58] [PASSED] ttm_pool_free_dma_alloc
[22:04:58] [PASSED] ttm_pool_free_no_dma_alloc
[22:04:58] [PASSED] ttm_pool_fini_basic
[22:04:58] ==================== [PASSED] ttm_pool =====================
[22:04:58] ================ ttm_resource (8 subtests) =================
[22:04:58] ================= ttm_resource_init_basic =================
[22:04:58] [PASSED] Init resource in TTM_PL_SYSTEM
[22:04:58] [PASSED] Init resource in TTM_PL_VRAM
[22:04:58] [PASSED] Init resource in a private placement
[22:04:58] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[22:04:58] ============= [PASSED] ttm_resource_init_basic =============
[22:04:58] [PASSED] ttm_resource_init_pinned
[22:04:58] [PASSED] ttm_resource_fini_basic
[22:04:58] [PASSED] ttm_resource_manager_init_basic
[22:04:58] [PASSED] ttm_resource_manager_usage_basic
[22:04:58] [PASSED] ttm_resource_manager_set_used_basic
[22:04:58] [PASSED] ttm_sys_man_alloc_basic
[22:04:58] [PASSED] ttm_sys_man_free_basic
[22:04:58] ================== [PASSED] ttm_resource ===================
[22:04:58] =================== ttm_tt (15 subtests) ===================
[22:04:58] ==================== ttm_tt_init_basic ====================
[22:04:58] [PASSED] Page-aligned size
[22:04:58] [PASSED] Extra pages requested
[22:04:58] ================ [PASSED] ttm_tt_init_basic ================
[22:04:58] [PASSED] ttm_tt_init_misaligned
[22:04:58] [PASSED] ttm_tt_fini_basic
[22:04:58] [PASSED] ttm_tt_fini_sg
[22:04:58] [PASSED] ttm_tt_fini_shmem
[22:04:58] [PASSED] ttm_tt_create_basic
[22:04:58] [PASSED] ttm_tt_create_invalid_bo_type
[22:04:58] [PASSED] ttm_tt_create_ttm_exists
[22:04:58] [PASSED] ttm_tt_create_failed
[22:04:58] [PASSED] ttm_tt_destroy_basic
[22:04:58] [PASSED] ttm_tt_populate_null_ttm
[22:04:58] [PASSED] ttm_tt_populate_populated_ttm
[22:04:58] [PASSED] ttm_tt_unpopulate_basic
[22:04:58] [PASSED] ttm_tt_unpopulate_empty_ttm
[22:04:58] [PASSED] ttm_tt_swapin_basic
[22:04:58] ===================== [PASSED] ttm_tt ======================
[22:04:58] =================== ttm_bo (14 subtests) ===================
[22:04:58] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[22:04:58] [PASSED] Cannot be interrupted and sleeps
[22:04:58] [PASSED] Cannot be interrupted, locks straight away
[22:04:58] [PASSED] Can be interrupted, sleeps
[22:04:58] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[22:04:58] [PASSED] ttm_bo_reserve_locked_no_sleep
[22:04:58] [PASSED] ttm_bo_reserve_no_wait_ticket
[22:04:58] [PASSED] ttm_bo_reserve_double_resv
[22:04:58] [PASSED] ttm_bo_reserve_interrupted
[22:04:58] [PASSED] ttm_bo_reserve_deadlock
[22:04:58] [PASSED] ttm_bo_unreserve_basic
[22:04:58] [PASSED] ttm_bo_unreserve_pinned
[22:04:58] [PASSED] ttm_bo_unreserve_bulk
[22:04:58] [PASSED] ttm_bo_fini_basic
[22:04:58] [PASSED] ttm_bo_fini_shared_resv
[22:04:58] [PASSED] ttm_bo_pin_basic
[22:04:58] [PASSED] ttm_bo_pin_unpin_resource
[22:04:58] [PASSED] ttm_bo_multiple_pin_one_unpin
[22:04:58] ===================== [PASSED] ttm_bo ======================
[22:04:58] ============== ttm_bo_validate (22 subtests) ===============
[22:04:58] ============== ttm_bo_init_reserved_sys_man ===============
[22:04:58] [PASSED] Buffer object for userspace
[22:04:58] [PASSED] Kernel buffer object
[22:04:58] [PASSED] Shared buffer object
[22:04:58] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[22:04:58] ============== ttm_bo_init_reserved_mock_man ==============
[22:04:58] [PASSED] Buffer object for userspace
[22:04:58] [PASSED] Kernel buffer object
[22:04:58] [PASSED] Shared buffer object
[22:04:58] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[22:04:58] [PASSED] ttm_bo_init_reserved_resv
[22:04:58] ================== ttm_bo_validate_basic ==================
[22:04:58] [PASSED] Buffer object for userspace
[22:04:58] [PASSED] Kernel buffer object
[22:04:58] [PASSED] Shared buffer object
[22:04:58] ============== [PASSED] ttm_bo_validate_basic ==============
[22:04:58] [PASSED] ttm_bo_validate_invalid_placement
[22:04:58] ============= ttm_bo_validate_same_placement ==============
[22:04:58] [PASSED] System manager
[22:04:58] [PASSED] VRAM manager
[22:04:58] ========= [PASSED] ttm_bo_validate_same_placement ==========
[22:04:58] [PASSED] ttm_bo_validate_failed_alloc
[22:04:58] [PASSED] ttm_bo_validate_pinned
[22:04:58] [PASSED] ttm_bo_validate_busy_placement
[22:04:58] ================ ttm_bo_validate_multihop =================
[22:04:58] [PASSED] Buffer object for userspace
[22:04:58] [PASSED] Kernel buffer object
[22:04:58] [PASSED] Shared buffer object
[22:04:58] ============ [PASSED] ttm_bo_validate_multihop =============
[22:04:58] ========== ttm_bo_validate_no_placement_signaled ==========
[22:04:58] [PASSED] Buffer object in system domain, no page vector
[22:04:58] [PASSED] Buffer object in system domain with an existing page vector
[22:04:58] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[22:04:58] ======== ttm_bo_validate_no_placement_not_signaled ========
[22:04:58] [PASSED] Buffer object for userspace
[22:04:58] [PASSED] Kernel buffer object
[22:04:58] [PASSED] Shared buffer object
[22:04:58] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[22:04:58] [PASSED] ttm_bo_validate_move_fence_signaled
[22:04:58] ========= ttm_bo_validate_move_fence_not_signaled =========
[22:04:58] [PASSED] Waits for GPU
[22:04:58] [PASSED] Tries to lock straight away
[22:04:58] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[22:04:58] [PASSED] ttm_bo_validate_swapout
[22:04:58] [PASSED] ttm_bo_validate_happy_evict
[22:04:58] [PASSED] ttm_bo_validate_all_pinned_evict
[22:04:58] [PASSED] ttm_bo_validate_allowed_only_evict
[22:04:58] [PASSED] ttm_bo_validate_deleted_evict
[22:04:58] [PASSED] ttm_bo_validate_busy_domain_evict
[22:04:58] [PASSED] ttm_bo_validate_evict_gutting
[22:04:58] [PASSED] ttm_bo_validate_recrusive_evict
[22:04:58] ================= [PASSED] ttm_bo_validate =================
[22:04:58] ============================================================
[22:04:58] Testing complete. Ran 102 tests: passed: 102
[22:04:58] Elapsed time: 12.913s total, 2.548s configuring, 10.150s building, 0.186s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[22:04:58] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:05:00] 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
[22:05:09] Starting KUnit Kernel (1/1)...
[22:05:09] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[22:05:09] =============== dma-buf-fence (12 subtests) ================
[22:05:09] [PASSED] test_sanitycheck
[22:05:09] [PASSED] test_signaling
[22:05:09] [PASSED] test_add_callback
[22:05:09] [PASSED] test_late_add_callback
[22:05:09] [PASSED] test_rm_callback
[22:05:09] [PASSED] test_late_rm_callback
[22:05:09] [PASSED] test_status
[22:05:09] [PASSED] test_error
[22:05:09] [PASSED] test_wait
[22:05:09] [PASSED] test_wait_timeout
[22:05:09] [PASSED] test_stub
[22:05:09] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[22:05:09] ================== [PASSED] dma-buf-fence ==================
[22:05:09] ============ dma-buf-fence-chain (11 subtests) =============
[22:05:09] [PASSED] test_sanitycheck
[22:05:09] [PASSED] test_find_seqno
[22:05:09] [PASSED] test_find_signaled
[22:05:09] [PASSED] test_find_out_of_order
[22:05:14] [PASSED] test_find_gap
[22:05:14] [PASSED] test_find_race
[22:05:14] [PASSED] test_signal_forward
[22:05:14] [PASSED] test_signal_backward
[22:05:14] [PASSED] test_wait_forward
[22:05:14] [PASSED] test_wait_backward
[22:05:14] [PASSED] test_wait_random
[22:05:14] =============== [PASSED] dma-buf-fence-chain ===============
[22:05:14] ============ dma-buf-fence-unwrap (11 subtests) ============
[22:05:14] [PASSED] test_sanitycheck
[22:05:14] [PASSED] test_unwrap_array
[22:05:14] [PASSED] test_unwrap_chain
[22:05:14] [PASSED] test_unwrap_chain_array
[22:05:14] [PASSED] test_unwrap_merge
[22:05:14] [PASSED] test_unwrap_merge_duplicate
[22:05:14] [PASSED] test_unwrap_merge_seqno
[22:05:14] [PASSED] test_unwrap_merge_order
[22:05:14] [PASSED] test_unwrap_merge_complex
[22:05:14] [PASSED] test_unwrap_merge_complex_seqno
[22:05:14] [PASSED] test_dedup_empty
[22:05:14] ============== [PASSED] dma-buf-fence-unwrap ===============
[22:05:14] ================ dma-buf-resv (5 subtests) =================
[22:05:14] [PASSED] test_sanitycheck
[22:05:14] ===================== test_signaling ======================
[22:05:14] [PASSED] kernel
[22:05:14] [PASSED] write
[22:05:14] [PASSED] read
[22:05:14] [PASSED] bookkeep
[22:05:14] ================= [PASSED] test_signaling ==================
[22:05:14] ====================== test_for_each ======================
[22:05:14] [PASSED] kernel
[22:05:14] [PASSED] write
[22:05:14] [PASSED] read
[22:05:14] [PASSED] bookkeep
[22:05:14] ================== [PASSED] test_for_each ==================
[22:05:14] ================= test_for_each_unlocked ==================
[22:05:14] [PASSED] kernel
[22:05:14] [PASSED] write
[22:05:14] [PASSED] read
[22:05:14] [PASSED] bookkeep
[22:05:14] ============= [PASSED] test_for_each_unlocked ==============
[22:05:14] ===================== test_get_fences =====================
[22:05:14] [PASSED] kernel
[22:05:14] [PASSED] write
[22:05:14] [PASSED] read
[22:05:14] [PASSED] bookkeep
[22:05:14] ================= [PASSED] test_get_fences =================
[22:05:14] ================== [PASSED] dma-buf-resv ===================
[22:05:14] ============================================================
[22:05:14] Testing complete. Ran 51 tests: passed: 50, skipped: 1
[22:05:14] Elapsed time: 16.569s total, 2.409s configuring, 8.838s building, 5.279s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 8+ messages in thread* ✓ Xe.CI.BAT: success for drm/xe/vf: New approach for post-migration LRC fixups (rev3)
2026-11-06 21:56 [PATCH v3 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
` (2 preceding siblings ...)
2026-11-06 22:05 ` ✓ CI.KUnit: success for drm/xe/vf: New approach for post-migration LRC fixups (rev3) Patchwork
@ 2026-11-06 22:41 ` Patchwork
2026-11-08 2:51 ` ✗ Xe.CI.FULL: failure " Patchwork
4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2026-11-06 22:41 UTC (permalink / raw)
To: Tomasz Lis; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 883 bytes --]
== Series Details ==
Series: drm/xe/vf: New approach for post-migration LRC fixups (rev3)
URL : https://patchwork.freedesktop.org/series/165741/
State : success
== Summary ==
CI Bug Log - changes from xe-6083-0fc83549472103d79c061d44b72aa909cc8a1ef4_BAT -> xe-pw-165741v3_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (15 -> 15)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* Linux: xe-6083-0fc83549472103d79c061d44b72aa909cc8a1ef4 -> xe-pw-165741v3
IGT_9181: 9181
xe-6083-0fc83549472103d79c061d44b72aa909cc8a1ef4: 0fc83549472103d79c061d44b72aa909cc8a1ef4
xe-pw-165741v3: 165741v3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v3/index.html
[-- Attachment #2: Type: text/html, Size: 1431 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread* ✗ Xe.CI.FULL: failure for drm/xe/vf: New approach for post-migration LRC fixups (rev3)
2026-11-06 21:56 [PATCH v3 0/2] drm/xe/vf: New approach for post-migration LRC fixups Tomasz Lis
` (3 preceding siblings ...)
2026-11-06 22:41 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-11-08 2:51 ` Patchwork
4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2026-11-08 2:51 UTC (permalink / raw)
To: Tomasz Lis; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 391 bytes --]
== Series Details ==
Series: drm/xe/vf: New approach for post-migration LRC fixups (rev3)
URL : https://patchwork.freedesktop.org/series/165741/
State : failure
== Summary ==
ERROR: The runconfig 'xe-6083-0fc83549472103d79c061d44b72aa909cc8a1ef4_FULL' does not exist in the database
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165741v3/index.html
[-- Attachment #2: Type: text/html, Size: 956 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread