* [CI 0/8] Fix dma-fence-array ordering
@ 2025-10-27 21:42 Matthew Brost
2025-10-27 21:42 ` [CI 1/8] drm/xe: Add last fence attachment to TLB invalidation job queues Matthew Brost
` (12 more replies)
0 siblings, 13 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
For CI, only do not review.
Matt
Matthew Brost (8):
drm/xe: Add last fence attachment to TLB invalidation job queues
drm/xe: Decouple bind queue last fence from TLB invalidations
drm/xe: Do not wait on TLB invalidations in page fault binds
drm/xe: Don't allow in fences on zero batch exec or zero binds
drm/xe: Remove last fence dependecy check from binds
workqueue: Add ordered workqueue
dma-buf: Fix dma-fence-array signaling ordering
dma-buf: Fix dma-fence-chain signaling ordering
drivers/dma-buf/dma-fence-array.c | 6 +-
drivers/dma-buf/dma-fence-chain.c | 6 +-
drivers/gpu/drm/xe/xe_exec_queue.c | 108 ++++++++++++++++++++---
drivers/gpu/drm/xe/xe_exec_queue.h | 20 ++++-
drivers/gpu/drm/xe/xe_exec_queue_types.h | 5 ++
drivers/gpu/drm/xe/xe_migrate.c | 14 +++
drivers/gpu/drm/xe/xe_migrate.h | 8 ++
drivers/gpu/drm/xe/xe_pt.c | 80 ++++++-----------
drivers/gpu/drm/xe/xe_sync.c | 74 +++++++++-------
drivers/gpu/drm/xe/xe_tlb_inval_job.c | 31 +++++--
drivers/gpu/drm/xe/xe_tlb_inval_job.h | 5 +-
drivers/gpu/drm/xe/xe_vm.c | 93 +++++++++++--------
drivers/gpu/drm/xe/xe_vm_types.h | 6 +-
include/linux/dma-fence-array.h | 6 +-
include/linux/dma-fence-chain.h | 10 +--
include/linux/workqueue.h | 1 +
kernel/workqueue.c | 7 +-
17 files changed, 311 insertions(+), 169 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [CI 1/8] drm/xe: Add last fence attachment to TLB invalidation job queues
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
@ 2025-10-27 21:42 ` Matthew Brost
2025-10-27 21:42 ` [CI 2/8] drm/xe: Decouple bind queue last fence from TLB invalidations Matthew Brost
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
To address serialization issues with bursts of unbind jobs, this patch
adds support for attaching the last fence to TLB invalidation job
queues. The idea is that user fence signaling for a bind job reflects
both the bind job itself and the last fences of all related TLB
invalidations. The submission order of bind jobs and TLB invalidations
depends solely on the state of their respective queues.
This patch only introduces support functions for last fence attachment
to TLB invalidation queues.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
v3:
- Fix assert in xe_exec_queue_tlb_inval_last_fence_set (CI)
- Ensure migrate lock held for migrate queues (Testing)
---
drivers/gpu/drm/xe/xe_exec_queue.c | 105 ++++++++++++++++++++++-
drivers/gpu/drm/xe/xe_exec_queue.h | 18 ++++
drivers/gpu/drm/xe/xe_exec_queue_types.h | 5 ++
drivers/gpu/drm/xe/xe_migrate.c | 14 +++
drivers/gpu/drm/xe/xe_migrate.h | 8 ++
drivers/gpu/drm/xe/xe_vm.c | 7 +-
6 files changed, 155 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 90cbc95f8e2e..d7d00d4de93c 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -376,11 +376,15 @@ void xe_exec_queue_destroy(struct kref *ref)
{
struct xe_exec_queue *q = container_of(ref, struct xe_exec_queue, refcount);
struct xe_exec_queue *eq, *next;
+ int i;
if (xe_exec_queue_uses_pxp(q))
xe_pxp_exec_queue_remove(gt_to_xe(q->gt)->pxp, q);
xe_exec_queue_last_fence_put_unlocked(q);
+ for_each_tlb_inval(i)
+ xe_exec_queue_tlb_inval_last_fence_put_unlocked(q, i);
+
if (!(q->flags & EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD)) {
list_for_each_entry_safe(eq, next, &q->multi_gt_list,
multi_gt_link)
@@ -998,7 +1002,9 @@ int xe_exec_queue_destroy_ioctl(struct drm_device *dev, void *data,
static void xe_exec_queue_last_fence_lockdep_assert(struct xe_exec_queue *q,
struct xe_vm *vm)
{
- if (q->flags & EXEC_QUEUE_FLAG_VM) {
+ if (q->flags & EXEC_QUEUE_FLAG_MIGRATE) {
+ xe_migrate_job_lock_assert(q);
+ } else if (q->flags & EXEC_QUEUE_FLAG_VM) {
lockdep_assert_held(&vm->lock);
} else {
xe_vm_assert_held(vm);
@@ -1097,6 +1103,7 @@ void xe_exec_queue_last_fence_set(struct xe_exec_queue *q, struct xe_vm *vm,
struct dma_fence *fence)
{
xe_exec_queue_last_fence_lockdep_assert(q, vm);
+ xe_assert(vm->xe, !dma_fence_is_container(fence));
xe_exec_queue_last_fence_put(q, vm);
q->last_fence = dma_fence_get(fence);
@@ -1125,6 +1132,102 @@ int xe_exec_queue_last_fence_test_dep(struct xe_exec_queue *q, struct xe_vm *vm)
return err;
}
+/**
+ * xe_exec_queue_tlb_inval_last_fence_put() - Drop ref to last TLB invalidation fence
+ * @q: The exec queue
+ * @vm: The VM the engine does a bind for
+ * @type: Either primary or media GT
+ */
+void xe_exec_queue_tlb_inval_last_fence_put(struct xe_exec_queue *q,
+ struct xe_vm *vm,
+ unsigned int type)
+{
+ xe_exec_queue_last_fence_lockdep_assert(q, vm);
+ xe_assert(vm->xe, type == XE_EXEC_QUEUE_TLB_INVAL_MEDIA_GT ||
+ type == XE_EXEC_QUEUE_TLB_INVAL_PRIMARY_GT);
+
+ xe_exec_queue_tlb_inval_last_fence_put_unlocked(q, type);
+}
+
+/**
+ * xe_exec_queue_tlb_inval_last_fence_put_unlocked() - Drop ref to last TLB
+ * invalidation fence unlocked
+ * @q: The exec queue
+ * @type: Either primary or media GT
+ *
+ * Only safe to be called from xe_exec_queue_destroy().
+ */
+void xe_exec_queue_tlb_inval_last_fence_put_unlocked(struct xe_exec_queue *q,
+ unsigned int type)
+{
+ xe_assert(q->vm->xe, type == XE_EXEC_QUEUE_TLB_INVAL_MEDIA_GT ||
+ type == XE_EXEC_QUEUE_TLB_INVAL_PRIMARY_GT);
+
+ if (q->tlb_inval[type].last_fence) {
+ dma_fence_put(q->tlb_inval[type].last_fence);
+ q->tlb_inval[type].last_fence = NULL;
+ }
+}
+
+/**
+ * xe_exec_queue_tlb_inval_last_fence_get() - Get last fence for TLB invalidation
+ * @q: The exec queue
+ * @vm: The VM the engine does a bind for
+ * @type: Either primary or media GT
+ *
+ * Get last fence, takes a ref
+ *
+ * Returns: last fence if not signaled, dma fence stub if signaled
+ */
+struct dma_fence *xe_exec_queue_tlb_inval_last_fence_get(struct xe_exec_queue *q,
+ struct xe_vm *vm,
+ unsigned int type)
+{
+ struct dma_fence *fence;
+
+ xe_exec_queue_last_fence_lockdep_assert(q, vm);
+ xe_assert(vm->xe, type == XE_EXEC_QUEUE_TLB_INVAL_MEDIA_GT ||
+ type == XE_EXEC_QUEUE_TLB_INVAL_PRIMARY_GT);
+ xe_assert(vm->xe, q->flags & (EXEC_QUEUE_FLAG_VM |
+ EXEC_QUEUE_FLAG_MIGRATE));
+
+ if (q->tlb_inval[type].last_fence &&
+ test_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
+ &q->tlb_inval[type].last_fence->flags))
+ xe_exec_queue_tlb_inval_last_fence_put(q, vm, type);
+
+ fence = q->tlb_inval[type].last_fence ?: dma_fence_get_stub();
+ dma_fence_get(fence);
+ return fence;
+}
+
+/**
+ * xe_exec_queue_tlb_inval_last_fence_set() - Set last fence for TLB invalidation
+ * @q: The exec queue
+ * @vm: The VM the engine does a bind for
+ * @fence: The fence
+ * @type: Either primary or media GT
+ *
+ * Set the last fence for the tlb invalidation type on the queue. Increases
+ * reference count for fence, when closing queue
+ * xe_exec_queue_tlb_inval_last_fence_put should be called.
+ */
+void xe_exec_queue_tlb_inval_last_fence_set(struct xe_exec_queue *q,
+ struct xe_vm *vm,
+ struct dma_fence *fence,
+ unsigned int type)
+{
+ xe_exec_queue_last_fence_lockdep_assert(q, vm);
+ xe_assert(vm->xe, type == XE_EXEC_QUEUE_TLB_INVAL_MEDIA_GT ||
+ type == XE_EXEC_QUEUE_TLB_INVAL_PRIMARY_GT);
+ xe_assert(vm->xe, q->flags & (EXEC_QUEUE_FLAG_VM |
+ EXEC_QUEUE_FLAG_MIGRATE));
+ xe_assert(vm->xe, !dma_fence_is_container(fence));
+
+ xe_exec_queue_tlb_inval_last_fence_put(q, vm, type);
+ q->tlb_inval[type].last_fence = dma_fence_get(fence);
+}
+
/**
* xe_exec_queue_contexts_hwsp_rebase - Re-compute GGTT references
* within all LRCs of a queue.
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
index a4dfbe858bda..c4b95fad93f1 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
@@ -14,6 +14,10 @@ struct drm_file;
struct xe_device;
struct xe_file;
+#define for_each_tlb_inval(__i) \
+ for (__i = XE_EXEC_QUEUE_TLB_INVAL_PRIMARY_GT; \
+ __i <= XE_EXEC_QUEUE_TLB_INVAL_MEDIA_GT; ++__i)
+
struct xe_exec_queue *xe_exec_queue_create(struct xe_device *xe, struct xe_vm *vm,
u32 logical_mask, u16 width,
struct xe_hw_engine *hw_engine, u32 flags,
@@ -86,6 +90,20 @@ void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
struct dma_fence *fence);
int xe_exec_queue_last_fence_test_dep(struct xe_exec_queue *q,
struct xe_vm *vm);
+
+void xe_exec_queue_tlb_inval_last_fence_put(struct xe_exec_queue *q,
+ struct xe_vm *vm,
+ unsigned int type);
+void xe_exec_queue_tlb_inval_last_fence_put_unlocked(struct xe_exec_queue *q,
+ unsigned int type);
+struct dma_fence *xe_exec_queue_tlb_inval_last_fence_get(struct xe_exec_queue *q,
+ struct xe_vm *vm,
+ unsigned int type);
+void xe_exec_queue_tlb_inval_last_fence_set(struct xe_exec_queue *q,
+ struct xe_vm *vm,
+ struct dma_fence *fence,
+ unsigned int type);
+
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);
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index 282505fa1377..b4185fee54e1 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -145,6 +145,11 @@ struct xe_exec_queue {
* dependency scheduler
*/
struct xe_dep_scheduler *dep_scheduler;
+ /**
+ * @last_fence: last fence for tlb invalidation, protected by
+ * vm->lock in write mode
+ */
+ struct dma_fence *last_fence;
} tlb_inval[XE_EXEC_QUEUE_TLB_INVAL_COUNT];
/** @pxp: PXP info tracking */
diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
index 921c9c1ea41f..4567bc88a8ec 100644
--- a/drivers/gpu/drm/xe/xe_migrate.c
+++ b/drivers/gpu/drm/xe/xe_migrate.c
@@ -2333,6 +2333,20 @@ void xe_migrate_job_unlock(struct xe_migrate *m, struct xe_exec_queue *q)
xe_vm_assert_held(q->vm); /* User queues VM's should be locked */
}
+#if IS_ENABLED(CONFIG_PROVE_LOCKING)
+/**
+ * xe_migrate_job_lock_assert() - Assert migrate job lock held of queue
+ * @q: Migrate queue
+ */
+void xe_migrate_job_lock_assert(struct xe_exec_queue *q)
+{
+ struct xe_migrate *m = gt_to_tile(q->gt)->migrate;
+
+ xe_gt_assert(q->gt, q == m->q);
+ lockdep_assert_held(&m->job_mutex);
+}
+#endif
+
#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
#include "tests/xe_migrate.c"
#endif
diff --git a/drivers/gpu/drm/xe/xe_migrate.h b/drivers/gpu/drm/xe/xe_migrate.h
index 4fad324b6253..9b5791617f5e 100644
--- a/drivers/gpu/drm/xe/xe_migrate.h
+++ b/drivers/gpu/drm/xe/xe_migrate.h
@@ -152,6 +152,14 @@ xe_migrate_update_pgtables(struct xe_migrate *m,
void xe_migrate_wait(struct xe_migrate *m);
+#if IS_ENABLED(CONFIG_PROVE_LOCKING)
+void xe_migrate_job_lock_assert(struct xe_exec_queue *q);
+#else
+static inline void xe_migrate_job_lock_assert(struct xe_exec_queue *q)
+{
+}
+#endif
+
void xe_migrate_job_lock(struct xe_migrate *m, struct xe_exec_queue *q);
void xe_migrate_job_unlock(struct xe_migrate *m, struct xe_exec_queue *q);
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 10d77666a425..d2a2f823f1b3 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -1731,8 +1731,13 @@ void xe_vm_close_and_put(struct xe_vm *vm)
down_write(&vm->lock);
for_each_tile(tile, xe, id) {
- if (vm->q[id])
+ if (vm->q[id]) {
+ int i;
+
xe_exec_queue_last_fence_put(vm->q[id], vm);
+ for_each_tlb_inval(i)
+ xe_exec_queue_tlb_inval_last_fence_put(vm->q[id], vm, i);
+ }
}
up_write(&vm->lock);
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [CI 2/8] drm/xe: Decouple bind queue last fence from TLB invalidations
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
2025-10-27 21:42 ` [CI 1/8] drm/xe: Add last fence attachment to TLB invalidation job queues Matthew Brost
@ 2025-10-27 21:42 ` Matthew Brost
2025-10-27 21:42 ` [CI 3/8] drm/xe: Do not wait on TLB invalidations in page fault binds Matthew Brost
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
Separate the bind queue's last fence to apply only to the bind job,
rather than combining it with associated TLB invalidation jobs. This
avoids unnecessary serialization of bind jobs on prior TLB
invalidations.
Since user fence signaling depends on the completion of both bind and
TLB invalidation jobs, their fences are merged later in the bind
pipeline to preserve correct signaling order.
Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6047
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
v3:
- Fix lockdep assert for migrate queues (CI)
- Use individual dma fence contexts for array out fences (Testing)
- Don't set last fence with arrays (Testing)
- Move TLB invalid last fence under migrate lock (Testing)
- Don't set queue last for migrate queues (Testing)
---
drivers/gpu/drm/xe/xe_pt.c | 73 ++++++++++---------------
drivers/gpu/drm/xe/xe_sync.c | 63 +++++++++++++++++-----
drivers/gpu/drm/xe/xe_tlb_inval_job.c | 31 ++++++++---
drivers/gpu/drm/xe/xe_tlb_inval_job.h | 5 +-
drivers/gpu/drm/xe/xe_vm.c | 76 ++++++++++++++-------------
drivers/gpu/drm/xe/xe_vm_types.h | 5 --
6 files changed, 143 insertions(+), 110 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_pt.c b/drivers/gpu/drm/xe/xe_pt.c
index d22fd1ccc0ba..a4b9cdf016d9 100644
--- a/drivers/gpu/drm/xe/xe_pt.c
+++ b/drivers/gpu/drm/xe/xe_pt.c
@@ -3,8 +3,6 @@
* Copyright © 2022 Intel Corporation
*/
-#include <linux/dma-fence-array.h>
-
#include "xe_pt.h"
#include "regs/xe_gtt_defs.h"
@@ -2359,10 +2357,9 @@ xe_pt_update_ops_run(struct xe_tile *tile, struct xe_vma_ops *vops)
struct xe_vm *vm = vops->vm;
struct xe_vm_pgtable_update_ops *pt_update_ops =
&vops->pt_update_ops[tile->id];
- struct dma_fence *fence, *ifence, *mfence;
+ struct xe_exec_queue *q = pt_update_ops->q;
+ struct dma_fence *fence, *ifence = NULL, *mfence = NULL;
struct xe_tlb_inval_job *ijob = NULL, *mjob = NULL;
- struct dma_fence **fences = NULL;
- struct dma_fence_array *cf = NULL;
struct xe_range_fence *rfence;
struct xe_vma_op *op;
int err = 0, i;
@@ -2390,15 +2387,14 @@ xe_pt_update_ops_run(struct xe_tile *tile, struct xe_vma_ops *vops)
#endif
if (pt_update_ops->needs_invalidation) {
- struct xe_exec_queue *q = pt_update_ops->q;
struct xe_dep_scheduler *dep_scheduler =
to_dep_scheduler(q, tile->primary_gt);
ijob = xe_tlb_inval_job_create(q, &tile->primary_gt->tlb_inval,
- dep_scheduler,
+ dep_scheduler, vm,
pt_update_ops->start,
pt_update_ops->last,
- vm->usm.asid);
+ XE_EXEC_QUEUE_TLB_INVAL_PRIMARY_GT);
if (IS_ERR(ijob)) {
err = PTR_ERR(ijob);
goto kill_vm_tile1;
@@ -2410,26 +2406,15 @@ xe_pt_update_ops_run(struct xe_tile *tile, struct xe_vma_ops *vops)
mjob = xe_tlb_inval_job_create(q,
&tile->media_gt->tlb_inval,
- dep_scheduler,
+ dep_scheduler, vm,
pt_update_ops->start,
pt_update_ops->last,
- vm->usm.asid);
+ XE_EXEC_QUEUE_TLB_INVAL_MEDIA_GT);
if (IS_ERR(mjob)) {
err = PTR_ERR(mjob);
goto free_ijob;
}
update.mjob = mjob;
-
- fences = kmalloc_array(2, sizeof(*fences), GFP_KERNEL);
- if (!fences) {
- err = -ENOMEM;
- goto free_ijob;
- }
- cf = dma_fence_array_alloc(2);
- if (!cf) {
- err = -ENOMEM;
- goto free_ijob;
- }
}
}
@@ -2460,31 +2445,12 @@ xe_pt_update_ops_run(struct xe_tile *tile, struct xe_vma_ops *vops)
pt_update_ops->last, fence))
dma_fence_wait(fence, false);
- /* tlb invalidation must be done before signaling unbind/rebind */
- if (ijob) {
- struct dma_fence *__fence;
-
+ if (ijob)
ifence = xe_tlb_inval_job_push(ijob, tile->migrate, fence);
- __fence = ifence;
+ if (mjob)
+ mfence = xe_tlb_inval_job_push(mjob, tile->migrate, fence);
- if (mjob) {
- fences[0] = ifence;
- mfence = xe_tlb_inval_job_push(mjob, tile->migrate,
- fence);
- fences[1] = mfence;
-
- dma_fence_array_init(cf, 2, fences,
- vm->composite_fence_ctx,
- vm->composite_fence_seqno++,
- false);
- __fence = &cf->base;
- }
-
- dma_fence_put(fence);
- fence = __fence;
- }
-
- if (!mjob) {
+ if (!mjob && !ijob) {
dma_resv_add_fence(xe_vm_resv(vm), fence,
pt_update_ops->wait_vm_bookkeep ?
DMA_RESV_USAGE_KERNEL :
@@ -2492,6 +2458,14 @@ xe_pt_update_ops_run(struct xe_tile *tile, struct xe_vma_ops *vops)
list_for_each_entry(op, &vops->list, link)
op_commit(vops->vm, tile, pt_update_ops, op, fence, NULL);
+ } else if (ijob && !mjob) {
+ dma_resv_add_fence(xe_vm_resv(vm), ifence,
+ pt_update_ops->wait_vm_bookkeep ?
+ DMA_RESV_USAGE_KERNEL :
+ DMA_RESV_USAGE_BOOKKEEP);
+
+ list_for_each_entry(op, &vops->list, link)
+ op_commit(vops->vm, tile, pt_update_ops, op, ifence, NULL);
} else {
dma_resv_add_fence(xe_vm_resv(vm), ifence,
pt_update_ops->wait_vm_bookkeep ?
@@ -2511,16 +2485,23 @@ xe_pt_update_ops_run(struct xe_tile *tile, struct xe_vma_ops *vops)
if (pt_update_ops->needs_svm_lock)
xe_svm_notifier_unlock(vm);
+ /*
+ * The last fence is only used for zero bind queue idling; migrate
+ * queues are not exposed to user space.
+ */
+ if (!(q->flags & EXEC_QUEUE_FLAG_MIGRATE))
+ xe_exec_queue_last_fence_set(q, vm, fence);
+
xe_tlb_inval_job_put(mjob);
xe_tlb_inval_job_put(ijob);
+ dma_fence_put(ifence);
+ dma_fence_put(mfence);
return fence;
free_rfence:
kfree(rfence);
free_ijob:
- kfree(cf);
- kfree(fences);
xe_tlb_inval_job_put(mjob);
xe_tlb_inval_job_put(ijob);
kill_vm_tile1:
diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
index 82872a51f098..70706362c11a 100644
--- a/drivers/gpu/drm/xe/xe_sync.c
+++ b/drivers/gpu/drm/xe/xe_sync.c
@@ -14,7 +14,7 @@
#include <drm/drm_syncobj.h>
#include <uapi/drm/xe_drm.h>
-#include "xe_device_types.h"
+#include "xe_device.h"
#include "xe_exec_queue.h"
#include "xe_macros.h"
#include "xe_sched_job_types.h"
@@ -284,26 +284,67 @@ xe_sync_in_fence_get(struct xe_sync_entry *sync, int num_sync,
struct dma_fence **fences = NULL;
struct dma_fence_array *cf = NULL;
struct dma_fence *fence;
- int i, num_in_fence = 0, current_fence = 0;
+ int i, num_fence = 0, current_fence = 0;
lockdep_assert_held(&vm->lock);
/* Count in-fences */
for (i = 0; i < num_sync; ++i) {
if (sync[i].fence) {
- ++num_in_fence;
+ ++num_fence;
fence = sync[i].fence;
}
}
/* Easy case... */
- if (!num_in_fence) {
+ if (!num_fence) {
+ if (q->flags & EXEC_QUEUE_FLAG_VM) {
+ struct xe_exec_queue *__q;
+ struct xe_tile *tile;
+ u8 id;
+
+ for_each_tile(tile, vm->xe, id)
+ num_fence += (1 + XE_MAX_GT_PER_TILE);
+
+ fences = kmalloc_array(num_fence, sizeof(*fences),
+ GFP_KERNEL);
+ if (!fences)
+ return ERR_PTR(-ENOMEM);
+
+ fences[current_fence++] =
+ xe_exec_queue_last_fence_get(q, vm);
+ for_each_tlb_inval(i)
+ fences[current_fence++] =
+ xe_exec_queue_tlb_inval_last_fence_get(q, vm, i);
+ list_for_each_entry(__q, &q->multi_gt_list,
+ multi_gt_link) {
+ fences[current_fence++] =
+ xe_exec_queue_last_fence_get(__q, vm);
+ for_each_tlb_inval(i)
+ fences[current_fence++] =
+ xe_exec_queue_tlb_inval_last_fence_get(__q, vm, i);
+ }
+
+ xe_assert(vm->xe, current_fence == num_fence);
+ cf = dma_fence_array_create(num_fence, fences,
+ dma_fence_context_alloc(1),
+ 1, false);
+ if (!cf)
+ goto err_out;
+
+ return &cf->base;
+ }
+
fence = xe_exec_queue_last_fence_get(q, vm);
return fence;
}
- /* Create composite fence */
- fences = kmalloc_array(num_in_fence + 1, sizeof(*fences), GFP_KERNEL);
+ /*
+ * Create composite fence - FIXME - the below code doesn't work. This is
+ * unused in Mesa so we are ok for the moment. Perhaps we just disable
+ * this entire code path if number of in fences != 0.
+ */
+ fences = kmalloc_array(num_fence + 1, sizeof(*fences), GFP_KERNEL);
if (!fences)
return ERR_PTR(-ENOMEM);
for (i = 0; i < num_sync; ++i) {
@@ -313,14 +354,10 @@ xe_sync_in_fence_get(struct xe_sync_entry *sync, int num_sync,
}
}
fences[current_fence++] = xe_exec_queue_last_fence_get(q, vm);
- cf = dma_fence_array_create(num_in_fence, fences,
- vm->composite_fence_ctx,
- vm->composite_fence_seqno++,
- false);
- if (!cf) {
- --vm->composite_fence_seqno;
+ cf = dma_fence_array_create(num_fence, fences,
+ dma_fence_context_alloc(1), 1, false);
+ if (!cf)
goto err_out;
- }
return &cf->base;
diff --git a/drivers/gpu/drm/xe/xe_tlb_inval_job.c b/drivers/gpu/drm/xe/xe_tlb_inval_job.c
index 492def04a559..1ae0dec2cf31 100644
--- a/drivers/gpu/drm/xe/xe_tlb_inval_job.c
+++ b/drivers/gpu/drm/xe/xe_tlb_inval_job.c
@@ -12,6 +12,7 @@
#include "xe_tlb_inval_job.h"
#include "xe_migrate.h"
#include "xe_pm.h"
+#include "xe_vm.h"
/** struct xe_tlb_inval_job - TLB invalidation job */
struct xe_tlb_inval_job {
@@ -21,6 +22,8 @@ struct xe_tlb_inval_job {
struct xe_tlb_inval *tlb_inval;
/** @q: exec queue issuing the invalidate */
struct xe_exec_queue *q;
+ /** @vm: VM which TLB invalidation is being issued for */
+ struct xe_vm *vm;
/** @refcount: ref count of this job */
struct kref refcount;
/**
@@ -32,8 +35,8 @@ struct xe_tlb_inval_job {
u64 start;
/** @end: End address to invalidate */
u64 end;
- /** @asid: Address space ID to invalidate */
- u32 asid;
+ /** @type: GT type */
+ int type;
/** @fence_armed: Fence has been armed */
bool fence_armed;
};
@@ -46,7 +49,7 @@ static struct dma_fence *xe_tlb_inval_job_run(struct xe_dep_job *dep_job)
container_of(job->fence, typeof(*ifence), base);
xe_tlb_inval_range(job->tlb_inval, ifence, job->start,
- job->end, job->asid);
+ job->end, job->vm->usm.asid);
return job->fence;
}
@@ -70,9 +73,10 @@ static const struct xe_dep_job_ops dep_job_ops = {
* @q: exec queue issuing the invalidate
* @tlb_inval: TLB invalidation client
* @dep_scheduler: Dependency scheduler for job
+ * @vm: VM which TLB invalidation is being issued for
* @start: Start address to invalidate
* @end: End address to invalidate
- * @asid: Address space ID to invalidate
+ * @type: GT type
*
* Create a TLB invalidation job and initialize internal fields. The caller is
* responsible for releasing the creation reference.
@@ -81,8 +85,8 @@ static const struct xe_dep_job_ops dep_job_ops = {
*/
struct xe_tlb_inval_job *
xe_tlb_inval_job_create(struct xe_exec_queue *q, struct xe_tlb_inval *tlb_inval,
- struct xe_dep_scheduler *dep_scheduler, u64 start,
- u64 end, u32 asid)
+ struct xe_dep_scheduler *dep_scheduler,
+ struct xe_vm *vm, u64 start, u64 end, int type)
{
struct xe_tlb_inval_job *job;
struct drm_sched_entity *entity =
@@ -90,19 +94,24 @@ xe_tlb_inval_job_create(struct xe_exec_queue *q, struct xe_tlb_inval *tlb_inval,
struct xe_tlb_inval_fence *ifence;
int err;
+ xe_assert(vm->xe, type == XE_EXEC_QUEUE_TLB_INVAL_MEDIA_GT ||
+ type == XE_EXEC_QUEUE_TLB_INVAL_PRIMARY_GT);
+
job = kmalloc(sizeof(*job), GFP_KERNEL);
if (!job)
return ERR_PTR(-ENOMEM);
job->q = q;
+ job->vm = vm;
job->tlb_inval = tlb_inval;
job->start = start;
job->end = end;
- job->asid = asid;
job->fence_armed = false;
job->dep.ops = &dep_job_ops;
+ job->type = type;
kref_init(&job->refcount);
xe_exec_queue_get(q); /* Pairs with put in xe_tlb_inval_job_destroy */
+ xe_vm_get(vm); /* Pairs with put in xe_tlb_inval_job_destroy */
ifence = kmalloc(sizeof(*ifence), GFP_KERNEL);
if (!ifence) {
@@ -124,6 +133,7 @@ xe_tlb_inval_job_create(struct xe_exec_queue *q, struct xe_tlb_inval *tlb_inval,
err_fence:
kfree(ifence);
err_job:
+ xe_vm_put(vm);
xe_exec_queue_put(q);
kfree(job);
@@ -138,6 +148,7 @@ static void xe_tlb_inval_job_destroy(struct kref *ref)
container_of(job->fence, typeof(*ifence), base);
struct xe_exec_queue *q = job->q;
struct xe_device *xe = gt_to_xe(q->gt);
+ struct xe_vm *vm = job->vm;
if (!job->fence_armed)
kfree(ifence);
@@ -147,6 +158,7 @@ static void xe_tlb_inval_job_destroy(struct kref *ref)
drm_sched_job_cleanup(&job->dep.drm);
kfree(job);
+ xe_vm_put(vm); /* Pairs with get from xe_tlb_inval_job_create */
xe_exec_queue_put(q); /* Pairs with get from xe_tlb_inval_job_create */
xe_pm_runtime_put(xe); /* Pairs with get from xe_tlb_inval_job_create */
}
@@ -231,6 +243,11 @@ struct dma_fence *xe_tlb_inval_job_push(struct xe_tlb_inval_job *job,
dma_fence_get(&job->dep.drm.s_fence->finished);
drm_sched_entity_push_job(&job->dep.drm);
+ /* Let the upper layers fish this out */
+ xe_exec_queue_tlb_inval_last_fence_set(job->q, job->vm,
+ &job->dep.drm.s_fence->finished,
+ job->type);
+
xe_migrate_job_unlock(m, job->q);
/*
diff --git a/drivers/gpu/drm/xe/xe_tlb_inval_job.h b/drivers/gpu/drm/xe/xe_tlb_inval_job.h
index e63edcb26b50..4d6df1a6c6ca 100644
--- a/drivers/gpu/drm/xe/xe_tlb_inval_job.h
+++ b/drivers/gpu/drm/xe/xe_tlb_inval_job.h
@@ -11,14 +11,15 @@
struct dma_fence;
struct xe_dep_scheduler;
struct xe_exec_queue;
+struct xe_migrate;
struct xe_tlb_inval;
struct xe_tlb_inval_job;
-struct xe_migrate;
+struct xe_vm;
struct xe_tlb_inval_job *
xe_tlb_inval_job_create(struct xe_exec_queue *q, struct xe_tlb_inval *tlb_inval,
struct xe_dep_scheduler *dep_scheduler,
- u64 start, u64 end, u32 asid);
+ struct xe_vm *vm, u64 start, u64 end, int type);
int xe_tlb_inval_job_alloc_dep(struct xe_tlb_inval_job *job);
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index d2a2f823f1b3..2f181c44b8b7 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -1623,9 +1623,6 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags, struct xe_file *xef)
}
}
- if (number_tiles > 1)
- vm->composite_fence_ctx = dma_fence_context_alloc(1);
-
if (xef && xe->info.has_asid) {
u32 asid;
@@ -3107,20 +3104,26 @@ static struct dma_fence *ops_execute(struct xe_vm *vm,
struct dma_fence *fence = NULL;
struct dma_fence **fences = NULL;
struct dma_fence_array *cf = NULL;
- int number_tiles = 0, current_fence = 0, err;
+ int number_tiles = 0, current_fence = 0, n_fence = 0, err;
u8 id;
number_tiles = vm_ops_setup_tile_args(vm, vops);
if (number_tiles == 0)
return ERR_PTR(-ENODATA);
- if (number_tiles > 1) {
- fences = kmalloc_array(number_tiles, sizeof(*fences),
- GFP_KERNEL);
- if (!fences) {
- fence = ERR_PTR(-ENOMEM);
- goto err_trace;
- }
+ for_each_tile(tile, vm->xe, id)
+ n_fence += (1 + XE_MAX_GT_PER_TILE);
+
+ fences = kmalloc_array(n_fence, sizeof(*fences), GFP_KERNEL);
+ if (!fences) {
+ fence = ERR_PTR(-ENOMEM);
+ goto err_trace;
+ }
+
+ cf = dma_fence_array_alloc(n_fence);
+ if (!cf) {
+ fence = ERR_PTR(-ENOMEM);
+ goto err_out;
}
for_each_tile(tile, vm->xe, id) {
@@ -3137,29 +3140,30 @@ static struct dma_fence *ops_execute(struct xe_vm *vm,
trace_xe_vm_ops_execute(vops);
for_each_tile(tile, vm->xe, id) {
+ struct xe_exec_queue *q = vops->pt_update_ops[tile->id].q;
+ int i;
+
+ fence = NULL;
if (!vops->pt_update_ops[id].num_ops)
- continue;
+ goto collect_fences;
fence = xe_pt_update_ops_run(tile, vops);
if (IS_ERR(fence))
goto err_out;
- if (fences)
- fences[current_fence++] = fence;
+collect_fences:
+ fences[current_fence++] = fence ?: dma_fence_get_stub();
+ xe_migrate_job_lock(tile->migrate, q);
+ for_each_tlb_inval(i)
+ fences[current_fence++] =
+ xe_exec_queue_tlb_inval_last_fence_get(q, vm, i);
+ xe_migrate_job_unlock(tile->migrate, q);
}
- if (fences) {
- cf = dma_fence_array_create(number_tiles, fences,
- vm->composite_fence_ctx,
- vm->composite_fence_seqno++,
- false);
- if (!cf) {
- --vm->composite_fence_seqno;
- fence = ERR_PTR(-ENOMEM);
- goto err_out;
- }
- fence = &cf->base;
- }
+ xe_assert(vm->xe, current_fence == n_fence);
+ dma_fence_array_init(cf, n_fence, fences, dma_fence_context_alloc(1),
+ 1, false);
+ fence = &cf->base;
for_each_tile(tile, vm->xe, id) {
if (!vops->pt_update_ops[id].num_ops)
@@ -3220,7 +3224,6 @@ static void op_add_ufence(struct xe_vm *vm, struct xe_vma_op *op,
static void vm_bind_ioctl_ops_fini(struct xe_vm *vm, struct xe_vma_ops *vops,
struct dma_fence *fence)
{
- struct xe_exec_queue *wait_exec_queue = to_wait_exec_queue(vm, vops->q);
struct xe_user_fence *ufence;
struct xe_vma_op *op;
int i;
@@ -3241,7 +3244,6 @@ static void vm_bind_ioctl_ops_fini(struct xe_vm *vm, struct xe_vma_ops *vops,
if (fence) {
for (i = 0; i < vops->num_syncs; i++)
xe_sync_entry_signal(vops->syncs + i, fence);
- xe_exec_queue_last_fence_set(wait_exec_queue, vm, fence);
}
}
@@ -3435,19 +3437,19 @@ static int vm_bind_ioctl_signal_fences(struct xe_vm *vm,
struct xe_sync_entry *syncs,
int num_syncs)
{
- struct dma_fence *fence;
+ struct dma_fence *fence = NULL;
int i, err = 0;
- fence = xe_sync_in_fence_get(syncs, num_syncs,
- to_wait_exec_queue(vm, q), vm);
- if (IS_ERR(fence))
- return PTR_ERR(fence);
+ if (num_syncs) {
+ fence = xe_sync_in_fence_get(syncs, num_syncs,
+ to_wait_exec_queue(vm, q), vm);
+ if (IS_ERR(fence))
+ return PTR_ERR(fence);
- for (i = 0; i < num_syncs; i++)
- xe_sync_entry_signal(&syncs[i], fence);
+ for (i = 0; i < num_syncs; i++)
+ xe_sync_entry_signal(&syncs[i], fence);
+ }
- xe_exec_queue_last_fence_set(to_wait_exec_queue(vm, q), vm,
- fence);
dma_fence_put(fence);
return err;
diff --git a/drivers/gpu/drm/xe/xe_vm_types.h b/drivers/gpu/drm/xe/xe_vm_types.h
index d6e2a0fdd4b3..542dbe2f9310 100644
--- a/drivers/gpu/drm/xe/xe_vm_types.h
+++ b/drivers/gpu/drm/xe/xe_vm_types.h
@@ -221,11 +221,6 @@ struct xe_vm {
#define XE_VM_FLAG_GSC BIT(8)
unsigned long flags;
- /** @composite_fence_ctx: context composite fence */
- u64 composite_fence_ctx;
- /** @composite_fence_seqno: seqno for composite fence */
- u32 composite_fence_seqno;
-
/**
* @lock: outer most lock, protects objects of anything attached to this
* VM
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [CI 3/8] drm/xe: Do not wait on TLB invalidations in page fault binds
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
2025-10-27 21:42 ` [CI 1/8] drm/xe: Add last fence attachment to TLB invalidation job queues Matthew Brost
2025-10-27 21:42 ` [CI 2/8] drm/xe: Decouple bind queue last fence from TLB invalidations Matthew Brost
@ 2025-10-27 21:42 ` Matthew Brost
2025-10-27 21:42 ` [CI 4/8] drm/xe: Don't allow in fences on zero batch exec or zero binds Matthew Brost
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
The migrate queue is shared by all processes using a device, thus is
possible while servicing a page fault another process uses the migrate
queue resulting in a TLB invalidation. In case of page fault binds, this
TLB invalidation has nothing to do with the current bind so there is not
need to wait on it. Teach the bind pipeline to be able to skip waits on
TLB invalidations.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/gpu/drm/xe/xe_vm.c | 14 ++++++++++++--
drivers/gpu/drm/xe/xe_vm_types.h | 1 +
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 2f181c44b8b7..df0a44d9eb46 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -755,6 +755,7 @@ struct dma_fence *xe_vma_rebind(struct xe_vm *vm, struct xe_vma *vma, u8 tile_ma
xe_assert(vm->xe, xe_vm_in_fault_mode(vm));
xe_vma_ops_init(&vops, vm, NULL, NULL, 0);
+ vops.flags |= XE_VMA_OPS_FLAG_SKIP_TLB_WAIT;
for_each_tile(tile, vm->xe, id) {
vops.pt_update_ops[id].wait_vm_bookkeep = true;
vops.pt_update_ops[tile->id].q =
@@ -845,6 +846,7 @@ struct dma_fence *xe_vm_range_rebind(struct xe_vm *vm,
xe_assert(vm->xe, xe_vma_is_cpu_addr_mirror(vma));
xe_vma_ops_init(&vops, vm, NULL, NULL, 0);
+ vops.flags |= XE_VMA_OPS_FLAG_SKIP_TLB_WAIT;
for_each_tile(tile, vm->xe, id) {
vops.pt_update_ops[id].wait_vm_bookkeep = true;
vops.pt_update_ops[tile->id].q =
@@ -3111,8 +3113,13 @@ static struct dma_fence *ops_execute(struct xe_vm *vm,
if (number_tiles == 0)
return ERR_PTR(-ENODATA);
- for_each_tile(tile, vm->xe, id)
- n_fence += (1 + XE_MAX_GT_PER_TILE);
+ if (vops->flags & XE_VMA_OPS_FLAG_SKIP_TLB_WAIT) {
+ for_each_tile(tile, vm->xe, id)
+ ++n_fence;
+ } else {
+ for_each_tile(tile, vm->xe, id)
+ n_fence += (1 + XE_MAX_GT_PER_TILE);
+ }
fences = kmalloc_array(n_fence, sizeof(*fences), GFP_KERNEL);
if (!fences) {
@@ -3153,6 +3160,9 @@ static struct dma_fence *ops_execute(struct xe_vm *vm,
collect_fences:
fences[current_fence++] = fence ?: dma_fence_get_stub();
+ if (vops->flags & XE_VMA_OPS_FLAG_SKIP_TLB_WAIT)
+ continue;
+
xe_migrate_job_lock(tile->migrate, q);
for_each_tlb_inval(i)
fences[current_fence++] =
diff --git a/drivers/gpu/drm/xe/xe_vm_types.h b/drivers/gpu/drm/xe/xe_vm_types.h
index 542dbe2f9310..3766dc37b3ad 100644
--- a/drivers/gpu/drm/xe/xe_vm_types.h
+++ b/drivers/gpu/drm/xe/xe_vm_types.h
@@ -466,6 +466,7 @@ struct xe_vma_ops {
#define XE_VMA_OPS_FLAG_HAS_SVM_PREFETCH BIT(0)
#define XE_VMA_OPS_FLAG_MADVISE BIT(1)
#define XE_VMA_OPS_ARRAY_OF_BINDS BIT(2)
+#define XE_VMA_OPS_FLAG_SKIP_TLB_WAIT BIT(3)
u32 flags;
#ifdef TEST_VM_OPS_ERROR
/** @inject_error: inject error to test error handling */
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [CI 4/8] drm/xe: Don't allow in fences on zero batch exec or zero binds
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (2 preceding siblings ...)
2025-10-27 21:42 ` [CI 3/8] drm/xe: Do not wait on TLB invalidations in page fault binds Matthew Brost
@ 2025-10-27 21:42 ` Matthew Brost
2025-10-27 21:42 ` [CI 5/8] drm/xe: Remove last fence dependecy check from binds Matthew Brost
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
The zero batch or zero binds mechanism was added to implement queue
idling in Mesa. In this case, output fences are attached, which can be
waited upon to indicate that the queue is idle once they signal.
As part of this, we added the ability to install input fences on zero
batch execs or zero binds for interface congruence. However, upon
inspection, this implementation doesn't work correctly, as multiple
composite fences could be chained together, which is disallowed.
While this could be fixed, it would be rather complicated. Since the use
case for input fences on zero batch execs or zero binds isn't actually
used, it's better to remove support and disallow it.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/gpu/drm/xe/xe_sync.c | 101 +++++++++++++----------------------
1 file changed, 36 insertions(+), 65 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
index 70706362c11a..f50134bedf8a 100644
--- a/drivers/gpu/drm/xe/xe_sync.c
+++ b/drivers/gpu/drm/xe/xe_sync.c
@@ -288,84 +288,55 @@ xe_sync_in_fence_get(struct xe_sync_entry *sync, int num_sync,
lockdep_assert_held(&vm->lock);
- /* Count in-fences */
- for (i = 0; i < num_sync; ++i) {
- if (sync[i].fence) {
- ++num_fence;
- fence = sync[i].fence;
- }
- }
-
- /* Easy case... */
- if (!num_fence) {
- if (q->flags & EXEC_QUEUE_FLAG_VM) {
- struct xe_exec_queue *__q;
- struct xe_tile *tile;
- u8 id;
-
- for_each_tile(tile, vm->xe, id)
- num_fence += (1 + XE_MAX_GT_PER_TILE);
-
- fences = kmalloc_array(num_fence, sizeof(*fences),
- GFP_KERNEL);
- if (!fences)
- return ERR_PTR(-ENOMEM);
-
+ /* Reject in fences */
+ for (i = 0; i < num_sync; ++i)
+ if (sync[i].fence)
+ return ERR_PTR(-EOPNOTSUPP);
+
+ if (q->flags & EXEC_QUEUE_FLAG_VM) {
+ struct xe_exec_queue *__q;
+ struct xe_tile *tile;
+ u8 id;
+
+ for_each_tile(tile, vm->xe, id)
+ num_fence += (1 + XE_MAX_GT_PER_TILE);
+
+ fences = kmalloc_array(num_fence, sizeof(*fences),
+ GFP_KERNEL);
+ if (!fences)
+ return ERR_PTR(-ENOMEM);
+
+ fences[current_fence++] =
+ xe_exec_queue_last_fence_get(q, vm);
+ for_each_tlb_inval(i)
+ fences[current_fence++] =
+ xe_exec_queue_tlb_inval_last_fence_get(q, vm, i);
+ list_for_each_entry(__q, &q->multi_gt_list,
+ multi_gt_link) {
fences[current_fence++] =
- xe_exec_queue_last_fence_get(q, vm);
+ xe_exec_queue_last_fence_get(__q, vm);
for_each_tlb_inval(i)
fences[current_fence++] =
- xe_exec_queue_tlb_inval_last_fence_get(q, vm, i);
- list_for_each_entry(__q, &q->multi_gt_list,
- multi_gt_link) {
- fences[current_fence++] =
- xe_exec_queue_last_fence_get(__q, vm);
- for_each_tlb_inval(i)
- fences[current_fence++] =
- xe_exec_queue_tlb_inval_last_fence_get(__q, vm, i);
- }
-
- xe_assert(vm->xe, current_fence == num_fence);
- cf = dma_fence_array_create(num_fence, fences,
- dma_fence_context_alloc(1),
- 1, false);
- if (!cf)
- goto err_out;
-
- return &cf->base;
+ xe_exec_queue_tlb_inval_last_fence_get(__q, vm, i);
}
- fence = xe_exec_queue_last_fence_get(q, vm);
- return fence;
- }
+ xe_assert(vm->xe, current_fence == num_fence);
+ cf = dma_fence_array_create(num_fence, fences,
+ dma_fence_context_alloc(1),
+ 1, false);
+ if (!cf)
+ goto err_out;
- /*
- * Create composite fence - FIXME - the below code doesn't work. This is
- * unused in Mesa so we are ok for the moment. Perhaps we just disable
- * this entire code path if number of in fences != 0.
- */
- fences = kmalloc_array(num_fence + 1, sizeof(*fences), GFP_KERNEL);
- if (!fences)
- return ERR_PTR(-ENOMEM);
- for (i = 0; i < num_sync; ++i) {
- if (sync[i].fence) {
- dma_fence_get(sync[i].fence);
- fences[current_fence++] = sync[i].fence;
- }
+ return &cf->base;
}
- fences[current_fence++] = xe_exec_queue_last_fence_get(q, vm);
- cf = dma_fence_array_create(num_fence, fences,
- dma_fence_context_alloc(1), 1, false);
- if (!cf)
- goto err_out;
- return &cf->base;
+ fence = xe_exec_queue_last_fence_get(q, vm);
+ return fence;
err_out:
while (current_fence)
dma_fence_put(fences[--current_fence]);
kfree(fences);
- kfree(cf);
return ERR_PTR(-ENOMEM);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [CI 5/8] drm/xe: Remove last fence dependecy check from binds
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (3 preceding siblings ...)
2025-10-27 21:42 ` [CI 4/8] drm/xe: Don't allow in fences on zero batch exec or zero binds Matthew Brost
@ 2025-10-27 21:42 ` Matthew Brost
2025-10-27 21:42 ` [CI 6/8] workqueue: Add ordered workqueue Matthew Brost
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
The last fence dependency check for binds is now equivalent to
xe_exec_queue_is_idle and is redundant, so remove this dead code.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/gpu/drm/xe/xe_exec_queue.c | 23 -----------------------
drivers/gpu/drm/xe/xe_exec_queue.h | 2 --
drivers/gpu/drm/xe/xe_pt.c | 7 -------
3 files changed, 32 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index d7d00d4de93c..efcdfdb0cc3f 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -1109,29 +1109,6 @@ void xe_exec_queue_last_fence_set(struct xe_exec_queue *q, struct xe_vm *vm,
q->last_fence = dma_fence_get(fence);
}
-/**
- * xe_exec_queue_last_fence_test_dep - Test last fence dependency of queue
- * @q: The exec queue
- * @vm: The VM the engine does a bind or exec for
- *
- * Returns:
- * -ETIME if there exists an unsignalled last fence dependency, zero otherwise.
- */
-int xe_exec_queue_last_fence_test_dep(struct xe_exec_queue *q, struct xe_vm *vm)
-{
- struct dma_fence *fence;
- int err = 0;
-
- fence = xe_exec_queue_last_fence_get(q, vm);
- if (fence) {
- err = test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags) ?
- 0 : -ETIME;
- dma_fence_put(fence);
- }
-
- return err;
-}
-
/**
* xe_exec_queue_tlb_inval_last_fence_put() - Drop ref to last TLB invalidation fence
* @q: The exec queue
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
index c4b95fad93f1..839e9880a598 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
@@ -88,8 +88,6 @@ struct dma_fence *xe_exec_queue_last_fence_get_for_resume(struct xe_exec_queue *
struct xe_vm *vm);
void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
struct dma_fence *fence);
-int xe_exec_queue_last_fence_test_dep(struct xe_exec_queue *q,
- struct xe_vm *vm);
void xe_exec_queue_tlb_inval_last_fence_put(struct xe_exec_queue *q,
struct xe_vm *vm,
diff --git a/drivers/gpu/drm/xe/xe_pt.c b/drivers/gpu/drm/xe/xe_pt.c
index a4b9cdf016d9..01056b51ac9f 100644
--- a/drivers/gpu/drm/xe/xe_pt.c
+++ b/drivers/gpu/drm/xe/xe_pt.c
@@ -1338,13 +1338,6 @@ static int xe_pt_vm_dependencies(struct xe_sched_job *job,
return err;
}
- if (!(pt_update_ops->q->flags & EXEC_QUEUE_FLAG_KERNEL)) {
- if (job)
- err = xe_sched_job_last_fence_add_dep(job, vm);
- else
- err = xe_exec_queue_last_fence_test_dep(pt_update_ops->q, vm);
- }
-
for (i = 0; job && !err && i < vops->num_syncs; i++)
err = xe_sync_entry_add_deps(&vops->syncs[i], job);
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [CI 6/8] workqueue: Add ordered workqueue
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (4 preceding siblings ...)
2025-10-27 21:42 ` [CI 5/8] drm/xe: Remove last fence dependecy check from binds Matthew Brost
@ 2025-10-27 21:42 ` Matthew Brost
2025-10-27 21:42 ` [CI 7/8] dma-buf: Fix dma-fence-array signaling ordering Matthew Brost
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
include/linux/workqueue.h | 1 +
kernel/workqueue.c | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
index dabc351cc127..e03296bb1814 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -468,6 +468,7 @@ extern struct workqueue_struct *system_power_efficient_wq;
extern struct workqueue_struct *system_freezable_power_efficient_wq;
extern struct workqueue_struct *system_bh_wq;
extern struct workqueue_struct *system_bh_highpri_wq;
+extern struct workqueue_struct *system_ordered_wq;
void workqueue_softirq_action(bool highpri);
void workqueue_softirq_dead(unsigned int cpu);
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 45320e27a16c..4d14d5e5fd38 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -527,6 +527,8 @@ struct workqueue_struct *system_bh_wq;
EXPORT_SYMBOL_GPL(system_bh_wq);
struct workqueue_struct *system_bh_highpri_wq;
EXPORT_SYMBOL_GPL(system_bh_highpri_wq);
+struct workqueue_struct *system_ordered_wq __ro_after_init;
+EXPORT_SYMBOL(system_ordered_wq);
static int worker_thread(void *__worker);
static void workqueue_sysfs_unregister(struct workqueue_struct *wq);
@@ -7844,11 +7846,14 @@ void __init workqueue_init_early(void)
system_bh_wq = alloc_workqueue("events_bh", WQ_BH | WQ_PERCPU, 0);
system_bh_highpri_wq = alloc_workqueue("events_bh_highpri",
WQ_BH | WQ_HIGHPRI | WQ_PERCPU, 0);
+ system_ordered_wq = alloc_ordered_workqueue("ordered_events",
+ WQ_MEM_RECLAIM);
BUG_ON(!system_wq || !system_percpu_wq|| !system_highpri_wq || !system_long_wq ||
!system_unbound_wq || !system_freezable_wq || !system_dfl_wq ||
!system_power_efficient_wq ||
!system_freezable_power_efficient_wq ||
- !system_bh_wq || !system_bh_highpri_wq);
+ !system_bh_wq || !system_bh_highpri_wq ||
+ !system_ordered_wq);
}
static void __init wq_cpu_intensive_thresh_init(void)
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [CI 7/8] dma-buf: Fix dma-fence-array signaling ordering
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (5 preceding siblings ...)
2025-10-27 21:42 ` [CI 6/8] workqueue: Add ordered workqueue Matthew Brost
@ 2025-10-27 21:42 ` Matthew Brost
2025-10-27 21:42 ` [CI 8/8] dma-buf: Fix dma-fence-chain " Matthew Brost
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/dma-buf/dma-fence-array.c | 6 +++---
include/linux/dma-fence-array.h | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/dma-buf/dma-fence-array.c b/drivers/dma-buf/dma-fence-array.c
index 6657d4b30af9..ca78da5f0244 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -42,7 +42,7 @@ static void dma_fence_array_clear_pending_error(struct dma_fence_array *array)
cmpxchg(&array->base.error, PENDING_ERROR, 0);
}
-static void irq_dma_fence_array_work(struct irq_work *wrk)
+static void dma_fence_array_work(struct work_struct *wrk)
{
struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
@@ -62,7 +62,7 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
dma_fence_array_set_pending_error(array, f->error);
if (atomic_dec_and_test(&array->num_pending))
- irq_work_queue(&array->work);
+ queue_work(system_ordered_wq, &array->work);
else
dma_fence_put(&array->base);
}
@@ -207,7 +207,7 @@ void dma_fence_array_init(struct dma_fence_array *array,
spin_lock_init(&array->lock);
dma_fence_init(&array->base, &dma_fence_array_ops, &array->lock,
context, seqno);
- init_irq_work(&array->work, irq_dma_fence_array_work);
+ INIT_WORK(&array->work, dma_fence_array_work);
atomic_set(&array->num_pending, signal_on_any ? 1 : num_fences);
array->fences = fences;
diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-fence-array.h
index 079b3dec0a16..a20b754cec72 100644
--- a/include/linux/dma-fence-array.h
+++ b/include/linux/dma-fence-array.h
@@ -13,7 +13,7 @@
#define __LINUX_DMA_FENCE_ARRAY_H
#include <linux/dma-fence.h>
-#include <linux/irq_work.h>
+#include <linux/workqueue.h>
/**
* struct dma_fence_array_cb - callback helper for fence array
@@ -32,7 +32,7 @@ struct dma_fence_array_cb {
* @num_fences: number of fences in the array
* @num_pending: fences in the array still pending
* @fences: array of the fences
- * @work: internal irq_work function
+ * @work: internal work_struct
* @callbacks: array of callback helpers
*/
struct dma_fence_array {
@@ -43,7 +43,7 @@ struct dma_fence_array {
atomic_t num_pending;
struct dma_fence **fences;
- struct irq_work work;
+ struct work_struct work;
struct dma_fence_array_cb callbacks[] __counted_by(num_fences);
};
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [CI 8/8] dma-buf: Fix dma-fence-chain signaling ordering
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (6 preceding siblings ...)
2025-10-27 21:42 ` [CI 7/8] dma-buf: Fix dma-fence-array signaling ordering Matthew Brost
@ 2025-10-27 21:42 ` Matthew Brost
2025-10-27 23:48 ` ✗ CI.checkpatch: warning for Fix dma-fence-array ordering Patchwork
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2025-10-27 21:42 UTC (permalink / raw)
To: intel-xe
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/dma-buf/dma-fence-chain.c | 6 +++---
include/linux/dma-fence-chain.h | 10 +++++-----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
index a8a90acf4f34..23f5cf467dd1 100644
--- a/drivers/dma-buf/dma-fence-chain.c
+++ b/drivers/dma-buf/dma-fence-chain.c
@@ -119,7 +119,7 @@ static const char *dma_fence_chain_get_timeline_name(struct dma_fence *fence)
return "unbound";
}
-static void dma_fence_chain_irq_work(struct irq_work *work)
+static void dma_fence_chain_work(struct work_struct *work)
{
struct dma_fence_chain *chain;
@@ -137,8 +137,8 @@ static void dma_fence_chain_cb(struct dma_fence *f, struct dma_fence_cb *cb)
struct dma_fence_chain *chain;
chain = container_of(cb, typeof(*chain), cb);
- init_irq_work(&chain->work, dma_fence_chain_irq_work);
- irq_work_queue(&chain->work);
+ INIT_WORK(&chain->work, dma_fence_chain_work);
+ queue_work(system_ordered_wq, &chain->work);
dma_fence_put(f);
}
diff --git a/include/linux/dma-fence-chain.h b/include/linux/dma-fence-chain.h
index 68c3c1e41014..8e88d3d01fe6 100644
--- a/include/linux/dma-fence-chain.h
+++ b/include/linux/dma-fence-chain.h
@@ -11,8 +11,8 @@
#define __LINUX_DMA_FENCE_CHAIN_H
#include <linux/dma-fence.h>
-#include <linux/irq_work.h>
#include <linux/slab.h>
+#include <linux/workqueue.h>
/**
* struct dma_fence_chain - fence to represent an node of a fence chain
@@ -33,18 +33,18 @@ struct dma_fence_chain {
*
* This is used to add the callback for signaling the
* complection of the fence chain. Never used at the same time
- * as the irq work.
+ * as the work.
*/
struct dma_fence_cb cb;
/**
- * @work: irq work item for signaling
+ * @work: work item for signaling
*
- * Irq work structure to allow us to add the callback without
+ * Work structure to allow us to add the callback without
* running into lock inversion. Never used at the same time as
* the callback.
*/
- struct irq_work work;
+ struct work_struct work;
};
spinlock_t lock;
};
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* ✗ CI.checkpatch: warning for Fix dma-fence-array ordering
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (7 preceding siblings ...)
2025-10-27 21:42 ` [CI 8/8] dma-buf: Fix dma-fence-chain " Matthew Brost
@ 2025-10-27 23:48 ` Patchwork
2025-10-27 23:49 ` ✓ CI.KUnit: success " Patchwork
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2025-10-27 23:48 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
== Series Details ==
Series: Fix dma-fence-array ordering
URL : https://patchwork.freedesktop.org/series/156613/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
f867e605613af1770f90c4b0afd4a8f06424d1f0
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 4ee416b51f78162bdc823cc1a5a56e5769048a8b
Author: Matthew Brost <matthew.brost@intel.com>
Date: Mon Oct 27 14:42:52 2025 -0700
dma-buf: Fix dma-fence-chain signaling ordering
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
+ /mt/dim checkpatch de43fe70c436c359e7478a5532d873f87357cb4e drm-intel
1e853e4c4f85 drm/xe: Add last fence attachment to TLB invalidation job queues
-:169: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__i' - possible side-effects?
#169: FILE: drivers/gpu/drm/xe/xe_exec_queue.h:17:
+#define for_each_tlb_inval(__i) \
+ for (__i = XE_EXEC_QUEUE_TLB_INVAL_PRIMARY_GT; \
+ __i <= XE_EXEC_QUEUE_TLB_INVAL_MEDIA_GT; ++__i)
total: 0 errors, 0 warnings, 1 checks, 223 lines checked
80dcb8f64542 drm/xe: Decouple bind queue last fence from TLB invalidations
6251657362c6 drm/xe: Do not wait on TLB invalidations in page fault binds
98436b4b5657 drm/xe: Don't allow in fences on zero batch exec or zero binds
1e9da770d2fa drm/xe: Remove last fence dependecy check from binds
0927caca842d workqueue: Add ordered workqueue
-:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one
total: 0 errors, 1 warnings, 0 checks, 30 lines checked
8b911a8492ee dma-buf: Fix dma-fence-array signaling ordering
-:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one
total: 0 errors, 1 warnings, 0 checks, 48 lines checked
4ee416b51f78 dma-buf: Fix dma-fence-chain signaling ordering
-:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one
total: 0 errors, 1 warnings, 0 checks, 49 lines checked
^ permalink raw reply [flat|nested] 14+ messages in thread
* ✓ CI.KUnit: success for Fix dma-fence-array ordering
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (8 preceding siblings ...)
2025-10-27 23:48 ` ✗ CI.checkpatch: warning for Fix dma-fence-array ordering Patchwork
@ 2025-10-27 23:49 ` Patchwork
2025-10-28 0:05 ` ✗ CI.checksparse: warning " Patchwork
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2025-10-27 23:49 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
== Series Details ==
Series: Fix dma-fence-array ordering
URL : https://patchwork.freedesktop.org/series/156613/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[23:48:29] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:48:33] 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
[23:49:04] Starting KUnit Kernel (1/1)...
[23:49:04] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:49:04] ================== guc_buf (11 subtests) ===================
[23:49:04] [PASSED] test_smallest
[23:49:04] [PASSED] test_largest
[23:49:04] [PASSED] test_granular
[23:49:04] [PASSED] test_unique
[23:49:04] [PASSED] test_overlap
[23:49:04] [PASSED] test_reusable
[23:49:04] [PASSED] test_too_big
[23:49:04] [PASSED] test_flush
[23:49:04] [PASSED] test_lookup
[23:49:04] [PASSED] test_data
[23:49:04] [PASSED] test_class
[23:49:04] ===================== [PASSED] guc_buf =====================
[23:49:04] =================== guc_dbm (7 subtests) ===================
[23:49:04] [PASSED] test_empty
[23:49:04] [PASSED] test_default
[23:49:04] ======================== test_size ========================
[23:49:04] [PASSED] 4
[23:49:04] [PASSED] 8
[23:49:04] [PASSED] 32
[23:49:04] [PASSED] 256
[23:49:04] ==================== [PASSED] test_size ====================
[23:49:04] ======================= test_reuse ========================
[23:49:04] [PASSED] 4
[23:49:04] [PASSED] 8
[23:49:04] [PASSED] 32
[23:49:04] [PASSED] 256
[23:49:04] =================== [PASSED] test_reuse ====================
[23:49:04] =================== test_range_overlap ====================
[23:49:04] [PASSED] 4
[23:49:04] [PASSED] 8
[23:49:04] [PASSED] 32
[23:49:04] [PASSED] 256
[23:49:04] =============== [PASSED] test_range_overlap ================
[23:49:04] =================== test_range_compact ====================
[23:49:04] [PASSED] 4
[23:49:04] [PASSED] 8
[23:49:04] [PASSED] 32
[23:49:04] [PASSED] 256
[23:49:04] =============== [PASSED] test_range_compact ================
[23:49:04] ==================== test_range_spare =====================
[23:49:04] [PASSED] 4
[23:49:04] [PASSED] 8
[23:49:04] [PASSED] 32
[23:49:04] [PASSED] 256
[23:49:04] ================ [PASSED] test_range_spare =================
[23:49:04] ===================== [PASSED] guc_dbm =====================
[23:49:04] =================== guc_idm (6 subtests) ===================
[23:49:04] [PASSED] bad_init
[23:49:04] [PASSED] no_init
[23:49:04] [PASSED] init_fini
[23:49:04] [PASSED] check_used
[23:49:04] [PASSED] check_quota
[23:49:04] [PASSED] check_all
[23:49:04] ===================== [PASSED] guc_idm =====================
[23:49:04] ================== no_relay (3 subtests) ===================
[23:49:04] [PASSED] xe_drops_guc2pf_if_not_ready
[23:49:04] [PASSED] xe_drops_guc2vf_if_not_ready
[23:49:04] [PASSED] xe_rejects_send_if_not_ready
[23:49:04] ==================== [PASSED] no_relay =====================
[23:49:04] ================== pf_relay (14 subtests) ==================
[23:49:04] [PASSED] pf_rejects_guc2pf_too_short
[23:49:04] [PASSED] pf_rejects_guc2pf_too_long
[23:49:04] [PASSED] pf_rejects_guc2pf_no_payload
[23:49:04] [PASSED] pf_fails_no_payload
[23:49:04] [PASSED] pf_fails_bad_origin
[23:49:04] [PASSED] pf_fails_bad_type
[23:49:04] [PASSED] pf_txn_reports_error
[23:49:04] [PASSED] pf_txn_sends_pf2guc
[23:49:04] [PASSED] pf_sends_pf2guc
[23:49:04] [SKIPPED] pf_loopback_nop
[23:49:04] [SKIPPED] pf_loopback_echo
[23:49:04] [SKIPPED] pf_loopback_fail
[23:49:04] [SKIPPED] pf_loopback_busy
[23:49:04] [SKIPPED] pf_loopback_retry
[23:49:04] ==================== [PASSED] pf_relay =====================
[23:49:04] ================== vf_relay (3 subtests) ===================
[23:49:04] [PASSED] vf_rejects_guc2vf_too_short
[23:49:04] [PASSED] vf_rejects_guc2vf_too_long
[23:49:04] [PASSED] vf_rejects_guc2vf_no_payload
[23:49:04] ==================== [PASSED] vf_relay =====================
[23:49:04] ===================== lmtt (1 subtest) =====================
[23:49:04] ======================== test_ops =========================
[23:49:04] [PASSED] 2-level
[23:49:04] [PASSED] multi-level
[23:49:04] ==================== [PASSED] test_ops =====================
[23:49:04] ====================== [PASSED] lmtt =======================
[23:49:04] ================= pf_service (11 subtests) =================
[23:49:04] [PASSED] pf_negotiate_any
[23:49:04] [PASSED] pf_negotiate_base_match
[23:49:04] [PASSED] pf_negotiate_base_newer
[23:49:04] [PASSED] pf_negotiate_base_next
[23:49:04] [SKIPPED] pf_negotiate_base_older
[23:49:04] [PASSED] pf_negotiate_base_prev
[23:49:04] [PASSED] pf_negotiate_latest_match
[23:49:04] [PASSED] pf_negotiate_latest_newer
[23:49:04] [PASSED] pf_negotiate_latest_next
[23:49:04] [SKIPPED] pf_negotiate_latest_older
[23:49:04] [SKIPPED] pf_negotiate_latest_prev
[23:49:04] =================== [PASSED] pf_service ====================
[23:49:04] ================= xe_guc_g2g (2 subtests) ==================
[23:49:04] ============== xe_live_guc_g2g_kunit_default ==============
[23:49:04] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[23:49:04] ============== xe_live_guc_g2g_kunit_allmem ===============
[23:49:04] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[23:49:04] =================== [SKIPPED] xe_guc_g2g ===================
[23:49:04] =================== xe_mocs (2 subtests) ===================
[23:49:04] ================ xe_live_mocs_kernel_kunit ================
[23:49:04] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[23:49:04] ================ xe_live_mocs_reset_kunit =================
[23:49:04] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[23:49:04] ==================== [SKIPPED] xe_mocs =====================
[23:49:04] ================= xe_migrate (2 subtests) ==================
[23:49:04] ================= xe_migrate_sanity_kunit =================
[23:49:04] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[23:49:04] ================== xe_validate_ccs_kunit ==================
[23:49:04] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[23:49:04] =================== [SKIPPED] xe_migrate ===================
[23:49:04] ================== xe_dma_buf (1 subtest) ==================
[23:49:04] ==================== xe_dma_buf_kunit =====================
[23:49:04] ================ [SKIPPED] xe_dma_buf_kunit ================
[23:49:04] =================== [SKIPPED] xe_dma_buf ===================
[23:49:04] ================= xe_bo_shrink (1 subtest) =================
[23:49:04] =================== xe_bo_shrink_kunit ====================
[23:49:04] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[23:49:04] ================== [SKIPPED] xe_bo_shrink ==================
[23:49:04] ==================== xe_bo (2 subtests) ====================
[23:49:04] ================== xe_ccs_migrate_kunit ===================
[23:49:04] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[23:49:04] ==================== xe_bo_evict_kunit ====================
[23:49:04] =============== [SKIPPED] xe_bo_evict_kunit ================
[23:49:04] ===================== [SKIPPED] xe_bo ======================
[23:49:04] ==================== args (11 subtests) ====================
[23:49:04] [PASSED] count_args_test
[23:49:04] [PASSED] call_args_example
[23:49:04] [PASSED] call_args_test
[23:49:04] [PASSED] drop_first_arg_example
[23:49:04] [PASSED] drop_first_arg_test
[23:49:04] [PASSED] first_arg_example
[23:49:04] [PASSED] first_arg_test
[23:49:04] [PASSED] last_arg_example
[23:49:04] [PASSED] last_arg_test
[23:49:04] [PASSED] pick_arg_example
[23:49:04] [PASSED] sep_comma_example
[23:49:04] ====================== [PASSED] args =======================
[23:49:04] =================== xe_pci (3 subtests) ====================
[23:49:04] ==================== check_graphics_ip ====================
[23:49:04] [PASSED] 12.00 Xe_LP
[23:49:04] [PASSED] 12.10 Xe_LP+
[23:49:04] [PASSED] 12.55 Xe_HPG
[23:49:04] [PASSED] 12.60 Xe_HPC
[23:49:04] [PASSED] 12.70 Xe_LPG
[23:49:04] [PASSED] 12.71 Xe_LPG
[23:49:04] [PASSED] 12.74 Xe_LPG+
[23:49:04] [PASSED] 20.01 Xe2_HPG
[23:49:04] [PASSED] 20.02 Xe2_HPG
[23:49:04] [PASSED] 20.04 Xe2_LPG
[23:49:04] [PASSED] 30.00 Xe3_LPG
[23:49:04] [PASSED] 30.01 Xe3_LPG
[23:49:04] [PASSED] 30.03 Xe3_LPG
[23:49:04] [PASSED] 30.04 Xe3_LPG
[23:49:04] [PASSED] 30.05 Xe3_LPG
[23:49:04] [PASSED] 35.11 Xe3p_XPC
[23:49:04] ================ [PASSED] check_graphics_ip ================
[23:49:04] ===================== check_media_ip ======================
[23:49:04] [PASSED] 12.00 Xe_M
[23:49:04] [PASSED] 12.55 Xe_HPM
[23:49:04] [PASSED] 13.00 Xe_LPM+
[23:49:04] [PASSED] 13.01 Xe2_HPM
[23:49:04] [PASSED] 20.00 Xe2_LPM
[23:49:04] [PASSED] 30.00 Xe3_LPM
[23:49:04] [PASSED] 30.02 Xe3_LPM
[23:49:04] [PASSED] 35.00 Xe3p_LPM
[23:49:04] [PASSED] 35.03 Xe3p_HPM
[23:49:04] ================= [PASSED] check_media_ip ==================
[23:49:04] =================== check_platform_desc ===================
[23:49:04] [PASSED] 0x9A60 (TIGERLAKE)
[23:49:04] [PASSED] 0x9A68 (TIGERLAKE)
[23:49:04] [PASSED] 0x9A70 (TIGERLAKE)
[23:49:04] [PASSED] 0x9A40 (TIGERLAKE)
[23:49:04] [PASSED] 0x9A49 (TIGERLAKE)
[23:49:04] [PASSED] 0x9A59 (TIGERLAKE)
[23:49:04] [PASSED] 0x9A78 (TIGERLAKE)
[23:49:04] [PASSED] 0x9AC0 (TIGERLAKE)
[23:49:04] [PASSED] 0x9AC9 (TIGERLAKE)
[23:49:04] [PASSED] 0x9AD9 (TIGERLAKE)
[23:49:04] [PASSED] 0x9AF8 (TIGERLAKE)
[23:49:04] [PASSED] 0x4C80 (ROCKETLAKE)
[23:49:04] [PASSED] 0x4C8A (ROCKETLAKE)
[23:49:04] [PASSED] 0x4C8B (ROCKETLAKE)
[23:49:04] [PASSED] 0x4C8C (ROCKETLAKE)
[23:49:04] [PASSED] 0x4C90 (ROCKETLAKE)
[23:49:04] [PASSED] 0x4C9A (ROCKETLAKE)
[23:49:04] [PASSED] 0x4680 (ALDERLAKE_S)
[23:49:04] [PASSED] 0x4682 (ALDERLAKE_S)
[23:49:04] [PASSED] 0x4688 (ALDERLAKE_S)
[23:49:04] [PASSED] 0x468A (ALDERLAKE_S)
[23:49:04] [PASSED] 0x468B (ALDERLAKE_S)
[23:49:04] [PASSED] 0x4690 (ALDERLAKE_S)
[23:49:04] [PASSED] 0x4692 (ALDERLAKE_S)
[23:49:04] [PASSED] 0x4693 (ALDERLAKE_S)
[23:49:04] [PASSED] 0x46A0 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46A1 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46A2 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46A3 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46A6 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46A8 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46AA (ALDERLAKE_P)
[23:49:04] [PASSED] 0x462A (ALDERLAKE_P)
[23:49:04] [PASSED] 0x4626 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x4628 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46B0 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46B1 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46B2 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46B3 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46C0 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46C1 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46C2 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46C3 (ALDERLAKE_P)
[23:49:04] [PASSED] 0x46D0 (ALDERLAKE_N)
[23:49:04] [PASSED] 0x46D1 (ALDERLAKE_N)
[23:49:04] [PASSED] 0x46D2 (ALDERLAKE_N)
[23:49:04] [PASSED] 0x46D3 (ALDERLAKE_N)
[23:49:04] [PASSED] 0x46D4 (ALDERLAKE_N)
[23:49:04] [PASSED] 0xA721 (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA7A1 (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA7A9 (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA7AC (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA7AD (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA720 (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA7A0 (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA7A8 (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA7AA (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA7AB (ALDERLAKE_P)
[23:49:04] [PASSED] 0xA780 (ALDERLAKE_S)
[23:49:04] [PASSED] 0xA781 (ALDERLAKE_S)
[23:49:04] [PASSED] 0xA782 (ALDERLAKE_S)
[23:49:04] [PASSED] 0xA783 (ALDERLAKE_S)
[23:49:04] [PASSED] 0xA788 (ALDERLAKE_S)
[23:49:04] [PASSED] 0xA789 (ALDERLAKE_S)
[23:49:04] [PASSED] 0xA78A (ALDERLAKE_S)
[23:49:04] [PASSED] 0xA78B (ALDERLAKE_S)
[23:49:04] [PASSED] 0x4905 (DG1)
[23:49:04] [PASSED] 0x4906 (DG1)
[23:49:04] [PASSED] 0x4907 (DG1)
[23:49:04] [PASSED] 0x4908 (DG1)
[23:49:04] [PASSED] 0x4909 (DG1)
[23:49:04] [PASSED] 0x56C0 (DG2)
[23:49:04] [PASSED] 0x56C2 (DG2)
[23:49:04] [PASSED] 0x56C1 (DG2)
[23:49:04] [PASSED] 0x7D51 (METEORLAKE)
[23:49:04] [PASSED] 0x7DD1 (METEORLAKE)
[23:49:04] [PASSED] 0x7D41 (METEORLAKE)
[23:49:04] [PASSED] 0x7D67 (METEORLAKE)
[23:49:04] [PASSED] 0xB640 (METEORLAKE)
[23:49:04] [PASSED] 0x56A0 (DG2)
[23:49:04] [PASSED] 0x56A1 (DG2)
[23:49:04] [PASSED] 0x56A2 (DG2)
[23:49:04] [PASSED] 0x56BE (DG2)
[23:49:04] [PASSED] 0x56BF (DG2)
[23:49:04] [PASSED] 0x5690 (DG2)
[23:49:04] [PASSED] 0x5691 (DG2)
[23:49:04] [PASSED] 0x5692 (DG2)
[23:49:04] [PASSED] 0x56A5 (DG2)
[23:49:04] [PASSED] 0x56A6 (DG2)
[23:49:04] [PASSED] 0x56B0 (DG2)
[23:49:04] [PASSED] 0x56B1 (DG2)
[23:49:04] [PASSED] 0x56BA (DG2)
[23:49:04] [PASSED] 0x56BB (DG2)
[23:49:04] [PASSED] 0x56BC (DG2)
[23:49:04] [PASSED] 0x56BD (DG2)
[23:49:04] [PASSED] 0x5693 (DG2)
[23:49:04] [PASSED] 0x5694 (DG2)
[23:49:04] [PASSED] 0x5695 (DG2)
[23:49:04] [PASSED] 0x56A3 (DG2)
[23:49:04] [PASSED] 0x56A4 (DG2)
[23:49:04] [PASSED] 0x56B2 (DG2)
[23:49:04] [PASSED] 0x56B3 (DG2)
[23:49:04] [PASSED] 0x5696 (DG2)
[23:49:04] [PASSED] 0x5697 (DG2)
[23:49:04] [PASSED] 0xB69 (PVC)
[23:49:04] [PASSED] 0xB6E (PVC)
[23:49:04] [PASSED] 0xBD4 (PVC)
[23:49:04] [PASSED] 0xBD5 (PVC)
[23:49:04] [PASSED] 0xBD6 (PVC)
[23:49:04] [PASSED] 0xBD7 (PVC)
[23:49:04] [PASSED] 0xBD8 (PVC)
[23:49:04] [PASSED] 0xBD9 (PVC)
[23:49:04] [PASSED] 0xBDA (PVC)
[23:49:04] [PASSED] 0xBDB (PVC)
[23:49:04] [PASSED] 0xBE0 (PVC)
[23:49:04] [PASSED] 0xBE1 (PVC)
[23:49:04] [PASSED] 0xBE5 (PVC)
[23:49:04] [PASSED] 0x7D40 (METEORLAKE)
[23:49:04] [PASSED] 0x7D45 (METEORLAKE)
[23:49:04] [PASSED] 0x7D55 (METEORLAKE)
[23:49:04] [PASSED] 0x7D60 (METEORLAKE)
[23:49:04] [PASSED] 0x7DD5 (METEORLAKE)
[23:49:04] [PASSED] 0x6420 (LUNARLAKE)
[23:49:04] [PASSED] 0x64A0 (LUNARLAKE)
[23:49:04] [PASSED] 0x64B0 (LUNARLAKE)
[23:49:04] [PASSED] 0xE202 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE209 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE20B (BATTLEMAGE)
[23:49:04] [PASSED] 0xE20C (BATTLEMAGE)
[23:49:04] [PASSED] 0xE20D (BATTLEMAGE)
[23:49:04] [PASSED] 0xE210 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE211 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE212 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE216 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE220 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE221 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE222 (BATTLEMAGE)
[23:49:04] [PASSED] 0xE223 (BATTLEMAGE)
[23:49:04] [PASSED] 0xB080 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB081 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB082 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB083 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB084 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB085 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB086 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB087 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB08F (PANTHERLAKE)
[23:49:04] [PASSED] 0xB090 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB0A0 (PANTHERLAKE)
[23:49:04] [PASSED] 0xB0B0 (PANTHERLAKE)
[23:49:04] [PASSED] 0xFD80 (PANTHERLAKE)
[23:49:04] [PASSED] 0xFD81 (PANTHERLAKE)
[23:49:04] [PASSED] 0xD740 (NOVALAKE_S)
[23:49:04] [PASSED] 0xD741 (NOVALAKE_S)
[23:49:04] [PASSED] 0xD742 (NOVALAKE_S)
[23:49:04] [PASSED] 0xD743 (NOVALAKE_S)
[23:49:04] [PASSED] 0xD744 (NOVALAKE_S)
[23:49:04] [PASSED] 0xD745 (NOVALAKE_S)
[23:49:04] [PASSED] 0x674C (CRESCENTISLAND)
[23:49:04] =============== [PASSED] check_platform_desc ===============
[23:49:04] ===================== [PASSED] xe_pci ======================
[23:49:04] =================== xe_rtp (2 subtests) ====================
[23:49:04] =============== xe_rtp_process_to_sr_tests ================
[23:49:04] [PASSED] coalesce-same-reg
[23:49:04] [PASSED] no-match-no-add
[23:49:04] [PASSED] match-or
[23:49:04] [PASSED] match-or-xfail
[23:49:04] [PASSED] no-match-no-add-multiple-rules
[23:49:04] [PASSED] two-regs-two-entries
[23:49:04] [PASSED] clr-one-set-other
[23:49:04] [PASSED] set-field
[23:49:04] [PASSED] conflict-duplicate
[23:49:04] [PASSED] conflict-not-disjoint
[23:49:04] [PASSED] conflict-reg-type
[23:49:04] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[23:49:04] ================== xe_rtp_process_tests ===================
[23:49:04] [PASSED] active1
[23:49:04] [PASSED] active2
[23:49:04] [PASSED] active-inactive
[23:49:04] [PASSED] inactive-active
[23:49:04] [PASSED] inactive-1st_or_active-inactive
[23:49:04] [PASSED] inactive-2nd_or_active-inactive
[23:49:04] [PASSED] inactive-last_or_active-inactive
stty: 'standard input': Inappropriate ioctl for device
[23:49:04] [PASSED] inactive-no_or_active-inactive
[23:49:04] ============== [PASSED] xe_rtp_process_tests ===============
[23:49:04] ===================== [PASSED] xe_rtp ======================
[23:49:04] ==================== xe_wa (1 subtest) =====================
[23:49:04] ======================== xe_wa_gt =========================
[23:49:04] [PASSED] TIGERLAKE B0
[23:49:04] [PASSED] DG1 A0
[23:49:05] [PASSED] DG1 B0
[23:49:05] [PASSED] ALDERLAKE_S A0
[23:49:05] [PASSED] ALDERLAKE_S B0
[23:49:05] [PASSED] ALDERLAKE_S C0
[23:49:05] [PASSED] ALDERLAKE_S D0
[23:49:05] [PASSED] ALDERLAKE_P A0
[23:49:05] [PASSED] ALDERLAKE_P B0
[23:49:05] [PASSED] ALDERLAKE_P C0
[23:49:05] [PASSED] ALDERLAKE_S RPLS D0
[23:49:05] [PASSED] ALDERLAKE_P RPLU E0
[23:49:05] [PASSED] DG2 G10 C0
[23:49:05] [PASSED] DG2 G11 B1
[23:49:05] [PASSED] DG2 G12 A1
[23:49:05] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[23:49:05] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[23:49:05] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[23:49:05] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[23:49:05] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[23:49:05] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[23:49:05] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[23:49:05] ==================== [PASSED] xe_wa_gt =====================
[23:49:05] ====================== [PASSED] xe_wa ======================
[23:49:05] ============================================================
[23:49:05] Testing complete. Ran 318 tests: passed: 300, skipped: 18
[23:49:05] Elapsed time: 35.630s total, 4.232s configuring, 31.031s building, 0.324s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[23:49:05] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:49:06] 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
[23:49:31] Starting KUnit Kernel (1/1)...
[23:49:31] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:49:31] ============ drm_test_pick_cmdline (2 subtests) ============
[23:49:31] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[23:49:31] =============== drm_test_pick_cmdline_named ===============
[23:49:31] [PASSED] NTSC
[23:49:31] [PASSED] NTSC-J
[23:49:31] [PASSED] PAL
[23:49:31] [PASSED] PAL-M
[23:49:31] =========== [PASSED] drm_test_pick_cmdline_named ===========
[23:49:31] ============== [PASSED] drm_test_pick_cmdline ==============
[23:49:31] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[23:49:31] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[23:49:31] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[23:49:31] =========== drm_validate_clone_mode (2 subtests) ===========
[23:49:31] ============== drm_test_check_in_clone_mode ===============
[23:49:31] [PASSED] in_clone_mode
[23:49:31] [PASSED] not_in_clone_mode
[23:49:31] ========== [PASSED] drm_test_check_in_clone_mode ===========
[23:49:31] =============== drm_test_check_valid_clones ===============
[23:49:31] [PASSED] not_in_clone_mode
[23:49:31] [PASSED] valid_clone
[23:49:31] [PASSED] invalid_clone
[23:49:31] =========== [PASSED] drm_test_check_valid_clones ===========
[23:49:31] ============= [PASSED] drm_validate_clone_mode =============
[23:49:31] ============= drm_validate_modeset (1 subtest) =============
[23:49:31] [PASSED] drm_test_check_connector_changed_modeset
[23:49:31] ============== [PASSED] drm_validate_modeset ===============
[23:49:31] ====== drm_test_bridge_get_current_state (2 subtests) ======
[23:49:31] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[23:49:31] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[23:49:31] ======== [PASSED] drm_test_bridge_get_current_state ========
[23:49:31] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[23:49:31] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[23:49:31] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[23:49:31] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[23:49:31] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[23:49:31] ============== drm_bridge_alloc (2 subtests) ===============
[23:49:31] [PASSED] drm_test_drm_bridge_alloc_basic
[23:49:31] [PASSED] drm_test_drm_bridge_alloc_get_put
[23:49:31] ================ [PASSED] drm_bridge_alloc =================
[23:49:31] ================== drm_buddy (8 subtests) ==================
[23:49:31] [PASSED] drm_test_buddy_alloc_limit
[23:49:31] [PASSED] drm_test_buddy_alloc_optimistic
[23:49:31] [PASSED] drm_test_buddy_alloc_pessimistic
[23:49:31] [PASSED] drm_test_buddy_alloc_pathological
[23:49:31] [PASSED] drm_test_buddy_alloc_contiguous
[23:49:31] [PASSED] drm_test_buddy_alloc_clear
[23:49:32] [PASSED] drm_test_buddy_alloc_range_bias
[23:49:32] [PASSED] drm_test_buddy_fragmentation_performance
[23:49:32] ==================== [PASSED] drm_buddy ====================
[23:49:32] ============= drm_cmdline_parser (40 subtests) =============
[23:49:32] [PASSED] drm_test_cmdline_force_d_only
[23:49:32] [PASSED] drm_test_cmdline_force_D_only_dvi
[23:49:32] [PASSED] drm_test_cmdline_force_D_only_hdmi
[23:49:32] [PASSED] drm_test_cmdline_force_D_only_not_digital
[23:49:32] [PASSED] drm_test_cmdline_force_e_only
[23:49:32] [PASSED] drm_test_cmdline_res
[23:49:32] [PASSED] drm_test_cmdline_res_vesa
[23:49:32] [PASSED] drm_test_cmdline_res_vesa_rblank
[23:49:32] [PASSED] drm_test_cmdline_res_rblank
[23:49:32] [PASSED] drm_test_cmdline_res_bpp
[23:49:32] [PASSED] drm_test_cmdline_res_refresh
[23:49:32] [PASSED] drm_test_cmdline_res_bpp_refresh
[23:49:32] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[23:49:32] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[23:49:32] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[23:49:32] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[23:49:32] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[23:49:32] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[23:49:32] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[23:49:32] [PASSED] drm_test_cmdline_res_margins_force_on
[23:49:32] [PASSED] drm_test_cmdline_res_vesa_margins
[23:49:32] [PASSED] drm_test_cmdline_name
[23:49:32] [PASSED] drm_test_cmdline_name_bpp
[23:49:32] [PASSED] drm_test_cmdline_name_option
[23:49:32] [PASSED] drm_test_cmdline_name_bpp_option
[23:49:32] [PASSED] drm_test_cmdline_rotate_0
[23:49:32] [PASSED] drm_test_cmdline_rotate_90
[23:49:32] [PASSED] drm_test_cmdline_rotate_180
[23:49:32] [PASSED] drm_test_cmdline_rotate_270
[23:49:32] [PASSED] drm_test_cmdline_hmirror
[23:49:32] [PASSED] drm_test_cmdline_vmirror
[23:49:32] [PASSED] drm_test_cmdline_margin_options
[23:49:32] [PASSED] drm_test_cmdline_multiple_options
[23:49:32] [PASSED] drm_test_cmdline_bpp_extra_and_option
[23:49:32] [PASSED] drm_test_cmdline_extra_and_option
[23:49:32] [PASSED] drm_test_cmdline_freestanding_options
[23:49:32] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[23:49:32] [PASSED] drm_test_cmdline_panel_orientation
[23:49:32] ================ drm_test_cmdline_invalid =================
[23:49:32] [PASSED] margin_only
[23:49:32] [PASSED] interlace_only
[23:49:32] [PASSED] res_missing_x
[23:49:32] [PASSED] res_missing_y
[23:49:32] [PASSED] res_bad_y
[23:49:32] [PASSED] res_missing_y_bpp
[23:49:32] [PASSED] res_bad_bpp
[23:49:32] [PASSED] res_bad_refresh
[23:49:32] [PASSED] res_bpp_refresh_force_on_off
[23:49:32] [PASSED] res_invalid_mode
[23:49:32] [PASSED] res_bpp_wrong_place_mode
[23:49:32] [PASSED] name_bpp_refresh
[23:49:32] [PASSED] name_refresh
[23:49:32] [PASSED] name_refresh_wrong_mode
[23:49:32] [PASSED] name_refresh_invalid_mode
[23:49:32] [PASSED] rotate_multiple
[23:49:32] [PASSED] rotate_invalid_val
[23:49:32] [PASSED] rotate_truncated
[23:49:32] [PASSED] invalid_option
[23:49:32] [PASSED] invalid_tv_option
[23:49:32] [PASSED] truncated_tv_option
[23:49:32] ============ [PASSED] drm_test_cmdline_invalid =============
[23:49:32] =============== drm_test_cmdline_tv_options ===============
[23:49:32] [PASSED] NTSC
[23:49:32] [PASSED] NTSC_443
[23:49:32] [PASSED] NTSC_J
[23:49:32] [PASSED] PAL
[23:49:32] [PASSED] PAL_M
[23:49:32] [PASSED] PAL_N
[23:49:32] [PASSED] SECAM
[23:49:32] [PASSED] MONO_525
[23:49:32] [PASSED] MONO_625
[23:49:32] =========== [PASSED] drm_test_cmdline_tv_options ===========
[23:49:32] =============== [PASSED] drm_cmdline_parser ================
[23:49:32] ========== drmm_connector_hdmi_init (20 subtests) ==========
[23:49:32] [PASSED] drm_test_connector_hdmi_init_valid
[23:49:32] [PASSED] drm_test_connector_hdmi_init_bpc_8
[23:49:32] [PASSED] drm_test_connector_hdmi_init_bpc_10
[23:49:32] [PASSED] drm_test_connector_hdmi_init_bpc_12
[23:49:32] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[23:49:32] [PASSED] drm_test_connector_hdmi_init_bpc_null
[23:49:32] [PASSED] drm_test_connector_hdmi_init_formats_empty
[23:49:32] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[23:49:32] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[23:49:32] [PASSED] supported_formats=0x9 yuv420_allowed=1
[23:49:32] [PASSED] supported_formats=0x9 yuv420_allowed=0
[23:49:32] [PASSED] supported_formats=0x3 yuv420_allowed=1
[23:49:32] [PASSED] supported_formats=0x3 yuv420_allowed=0
[23:49:32] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[23:49:32] [PASSED] drm_test_connector_hdmi_init_null_ddc
[23:49:32] [PASSED] drm_test_connector_hdmi_init_null_product
[23:49:32] [PASSED] drm_test_connector_hdmi_init_null_vendor
[23:49:32] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[23:49:32] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[23:49:32] [PASSED] drm_test_connector_hdmi_init_product_valid
[23:49:32] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[23:49:32] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[23:49:32] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[23:49:32] ========= drm_test_connector_hdmi_init_type_valid =========
[23:49:32] [PASSED] HDMI-A
[23:49:32] [PASSED] HDMI-B
[23:49:32] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[23:49:32] ======== drm_test_connector_hdmi_init_type_invalid ========
[23:49:32] [PASSED] Unknown
[23:49:32] [PASSED] VGA
[23:49:32] [PASSED] DVI-I
[23:49:32] [PASSED] DVI-D
[23:49:32] [PASSED] DVI-A
[23:49:32] [PASSED] Composite
[23:49:32] [PASSED] SVIDEO
[23:49:32] [PASSED] LVDS
[23:49:32] [PASSED] Component
[23:49:32] [PASSED] DIN
[23:49:32] [PASSED] DP
[23:49:32] [PASSED] TV
[23:49:32] [PASSED] eDP
[23:49:32] [PASSED] Virtual
[23:49:32] [PASSED] DSI
[23:49:32] [PASSED] DPI
[23:49:32] [PASSED] Writeback
[23:49:32] [PASSED] SPI
[23:49:32] [PASSED] USB
[23:49:32] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[23:49:32] ============ [PASSED] drmm_connector_hdmi_init =============
[23:49:32] ============= drmm_connector_init (3 subtests) =============
[23:49:32] [PASSED] drm_test_drmm_connector_init
[23:49:32] [PASSED] drm_test_drmm_connector_init_null_ddc
[23:49:32] ========= drm_test_drmm_connector_init_type_valid =========
[23:49:32] [PASSED] Unknown
[23:49:32] [PASSED] VGA
[23:49:32] [PASSED] DVI-I
[23:49:32] [PASSED] DVI-D
[23:49:32] [PASSED] DVI-A
[23:49:32] [PASSED] Composite
[23:49:32] [PASSED] SVIDEO
[23:49:32] [PASSED] LVDS
[23:49:32] [PASSED] Component
[23:49:32] [PASSED] DIN
[23:49:32] [PASSED] DP
[23:49:32] [PASSED] HDMI-A
[23:49:32] [PASSED] HDMI-B
[23:49:32] [PASSED] TV
[23:49:32] [PASSED] eDP
[23:49:32] [PASSED] Virtual
[23:49:32] [PASSED] DSI
[23:49:32] [PASSED] DPI
[23:49:32] [PASSED] Writeback
[23:49:32] [PASSED] SPI
[23:49:32] [PASSED] USB
[23:49:32] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[23:49:32] =============== [PASSED] drmm_connector_init ===============
[23:49:32] ========= drm_connector_dynamic_init (6 subtests) ==========
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_init
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_init_properties
[23:49:32] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[23:49:32] [PASSED] Unknown
[23:49:32] [PASSED] VGA
[23:49:32] [PASSED] DVI-I
[23:49:32] [PASSED] DVI-D
[23:49:32] [PASSED] DVI-A
[23:49:32] [PASSED] Composite
[23:49:32] [PASSED] SVIDEO
[23:49:32] [PASSED] LVDS
[23:49:32] [PASSED] Component
[23:49:32] [PASSED] DIN
[23:49:32] [PASSED] DP
[23:49:32] [PASSED] HDMI-A
[23:49:32] [PASSED] HDMI-B
[23:49:32] [PASSED] TV
[23:49:32] [PASSED] eDP
[23:49:32] [PASSED] Virtual
[23:49:32] [PASSED] DSI
[23:49:32] [PASSED] DPI
[23:49:32] [PASSED] Writeback
[23:49:32] [PASSED] SPI
[23:49:32] [PASSED] USB
[23:49:32] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[23:49:32] ======== drm_test_drm_connector_dynamic_init_name =========
[23:49:32] [PASSED] Unknown
[23:49:32] [PASSED] VGA
[23:49:32] [PASSED] DVI-I
[23:49:32] [PASSED] DVI-D
[23:49:32] [PASSED] DVI-A
[23:49:32] [PASSED] Composite
[23:49:32] [PASSED] SVIDEO
[23:49:32] [PASSED] LVDS
[23:49:32] [PASSED] Component
[23:49:32] [PASSED] DIN
[23:49:32] [PASSED] DP
[23:49:32] [PASSED] HDMI-A
[23:49:32] [PASSED] HDMI-B
[23:49:32] [PASSED] TV
[23:49:32] [PASSED] eDP
[23:49:32] [PASSED] Virtual
[23:49:32] [PASSED] DSI
[23:49:32] [PASSED] DPI
[23:49:32] [PASSED] Writeback
[23:49:32] [PASSED] SPI
[23:49:32] [PASSED] USB
[23:49:32] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[23:49:32] =========== [PASSED] drm_connector_dynamic_init ============
[23:49:32] ==== drm_connector_dynamic_register_early (4 subtests) =====
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[23:49:32] ====== [PASSED] drm_connector_dynamic_register_early =======
[23:49:32] ======= drm_connector_dynamic_register (7 subtests) ========
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[23:49:32] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[23:49:32] ========= [PASSED] drm_connector_dynamic_register ==========
[23:49:32] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[23:49:32] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[23:49:32] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[23:49:32] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[23:49:32] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[23:49:32] ========== drm_test_get_tv_mode_from_name_valid ===========
[23:49:32] [PASSED] NTSC
[23:49:32] [PASSED] NTSC-443
[23:49:32] [PASSED] NTSC-J
[23:49:32] [PASSED] PAL
[23:49:32] [PASSED] PAL-M
[23:49:32] [PASSED] PAL-N
[23:49:32] [PASSED] SECAM
[23:49:32] [PASSED] Mono
[23:49:32] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[23:49:32] [PASSED] drm_test_get_tv_mode_from_name_truncated
[23:49:32] ============ [PASSED] drm_get_tv_mode_from_name ============
[23:49:32] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[23:49:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[23:49:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[23:49:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[23:49:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[23:49:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[23:49:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[23:49:32] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[23:49:32] [PASSED] VIC 96
[23:49:32] [PASSED] VIC 97
[23:49:32] [PASSED] VIC 101
[23:49:32] [PASSED] VIC 102
[23:49:32] [PASSED] VIC 106
[23:49:32] [PASSED] VIC 107
[23:49:32] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[23:49:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[23:49:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[23:49:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[23:49:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[23:49:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[23:49:32] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[23:49:32] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[23:49:32] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[23:49:32] [PASSED] Automatic
[23:49:32] [PASSED] Full
[23:49:32] [PASSED] Limited 16:235
[23:49:32] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[23:49:32] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[23:49:32] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[23:49:32] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[23:49:32] === drm_test_drm_hdmi_connector_get_output_format_name ====
[23:49:32] [PASSED] RGB
[23:49:32] [PASSED] YUV 4:2:0
[23:49:32] [PASSED] YUV 4:2:2
[23:49:32] [PASSED] YUV 4:4:4
[23:49:32] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[23:49:32] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[23:49:32] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[23:49:32] ============= drm_damage_helper (21 subtests) ==============
[23:49:32] [PASSED] drm_test_damage_iter_no_damage
[23:49:32] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[23:49:32] [PASSED] drm_test_damage_iter_no_damage_src_moved
[23:49:32] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[23:49:32] [PASSED] drm_test_damage_iter_no_damage_not_visible
[23:49:32] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[23:49:32] [PASSED] drm_test_damage_iter_no_damage_no_fb
[23:49:32] [PASSED] drm_test_damage_iter_simple_damage
[23:49:32] [PASSED] drm_test_damage_iter_single_damage
[23:49:32] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[23:49:32] [PASSED] drm_test_damage_iter_single_damage_outside_src
[23:49:32] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[23:49:32] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[23:49:32] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[23:49:32] [PASSED] drm_test_damage_iter_single_damage_src_moved
[23:49:32] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[23:49:32] [PASSED] drm_test_damage_iter_damage
[23:49:32] [PASSED] drm_test_damage_iter_damage_one_intersect
[23:49:32] [PASSED] drm_test_damage_iter_damage_one_outside
[23:49:32] [PASSED] drm_test_damage_iter_damage_src_moved
[23:49:32] [PASSED] drm_test_damage_iter_damage_not_visible
[23:49:32] ================ [PASSED] drm_damage_helper ================
[23:49:32] ============== drm_dp_mst_helper (3 subtests) ==============
[23:49:32] ============== drm_test_dp_mst_calc_pbn_mode ==============
[23:49:32] [PASSED] Clock 154000 BPP 30 DSC disabled
[23:49:32] [PASSED] Clock 234000 BPP 30 DSC disabled
[23:49:32] [PASSED] Clock 297000 BPP 24 DSC disabled
[23:49:32] [PASSED] Clock 332880 BPP 24 DSC enabled
[23:49:32] [PASSED] Clock 324540 BPP 24 DSC enabled
[23:49:32] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[23:49:32] ============== drm_test_dp_mst_calc_pbn_div ===============
[23:49:32] [PASSED] Link rate 2000000 lane count 4
[23:49:32] [PASSED] Link rate 2000000 lane count 2
[23:49:32] [PASSED] Link rate 2000000 lane count 1
[23:49:32] [PASSED] Link rate 1350000 lane count 4
[23:49:32] [PASSED] Link rate 1350000 lane count 2
[23:49:32] [PASSED] Link rate 1350000 lane count 1
[23:49:32] [PASSED] Link rate 1000000 lane count 4
[23:49:32] [PASSED] Link rate 1000000 lane count 2
[23:49:32] [PASSED] Link rate 1000000 lane count 1
[23:49:32] [PASSED] Link rate 810000 lane count 4
[23:49:32] [PASSED] Link rate 810000 lane count 2
[23:49:32] [PASSED] Link rate 810000 lane count 1
[23:49:32] [PASSED] Link rate 540000 lane count 4
[23:49:32] [PASSED] Link rate 540000 lane count 2
[23:49:32] [PASSED] Link rate 540000 lane count 1
[23:49:32] [PASSED] Link rate 270000 lane count 4
[23:49:32] [PASSED] Link rate 270000 lane count 2
[23:49:32] [PASSED] Link rate 270000 lane count 1
[23:49:32] [PASSED] Link rate 162000 lane count 4
[23:49:32] [PASSED] Link rate 162000 lane count 2
[23:49:32] [PASSED] Link rate 162000 lane count 1
[23:49:32] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[23:49:32] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[23:49:32] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[23:49:32] [PASSED] DP_POWER_UP_PHY with port number
[23:49:32] [PASSED] DP_POWER_DOWN_PHY with port number
[23:49:32] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[23:49:32] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[23:49:32] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[23:49:32] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[23:49:32] [PASSED] DP_QUERY_PAYLOAD with port number
[23:49:32] [PASSED] DP_QUERY_PAYLOAD with VCPI
[23:49:32] [PASSED] DP_REMOTE_DPCD_READ with port number
[23:49:32] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[23:49:32] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[23:49:32] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[23:49:32] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[23:49:32] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[23:49:32] [PASSED] DP_REMOTE_I2C_READ with port number
[23:49:32] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[23:49:32] [PASSED] DP_REMOTE_I2C_READ with transactions array
[23:49:32] [PASSED] DP_REMOTE_I2C_WRITE with port number
[23:49:32] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[23:49:32] [PASSED] DP_REMOTE_I2C_WRITE with data array
[23:49:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[23:49:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[23:49:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[23:49:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[23:49:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[23:49:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[23:49:32] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[23:49:32] ================ [PASSED] drm_dp_mst_helper ================
[23:49:32] ================== drm_exec (7 subtests) ===================
[23:49:32] [PASSED] sanitycheck
[23:49:32] [PASSED] test_lock
[23:49:32] [PASSED] test_lock_unlock
[23:49:32] [PASSED] test_duplicates
[23:49:32] [PASSED] test_prepare
[23:49:32] [PASSED] test_prepare_array
[23:49:32] [PASSED] test_multiple_loops
[23:49:32] ==================== [PASSED] drm_exec =====================
[23:49:32] =========== drm_format_helper_test (17 subtests) ===========
[23:49:32] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[23:49:32] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[23:49:32] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[23:49:32] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[23:49:32] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[23:49:32] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[23:49:32] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[23:49:32] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[23:49:32] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[23:49:32] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[23:49:32] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[23:49:32] ============== drm_test_fb_xrgb8888_to_mono ===============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[23:49:32] ==================== drm_test_fb_swab =====================
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ================ [PASSED] drm_test_fb_swab =================
[23:49:32] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[23:49:32] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[23:49:32] [PASSED] single_pixel_source_buffer
[23:49:32] [PASSED] single_pixel_clip_rectangle
[23:49:32] [PASSED] well_known_colors
[23:49:32] [PASSED] destination_pitch
[23:49:32] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[23:49:32] ================= drm_test_fb_clip_offset =================
[23:49:32] [PASSED] pass through
[23:49:32] [PASSED] horizontal offset
[23:49:32] [PASSED] vertical offset
[23:49:32] [PASSED] horizontal and vertical offset
[23:49:32] [PASSED] horizontal offset (custom pitch)
[23:49:32] [PASSED] vertical offset (custom pitch)
[23:49:32] [PASSED] horizontal and vertical offset (custom pitch)
[23:49:32] ============= [PASSED] drm_test_fb_clip_offset =============
[23:49:32] =================== drm_test_fb_memcpy ====================
[23:49:32] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[23:49:32] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[23:49:32] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[23:49:32] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[23:49:32] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[23:49:32] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[23:49:32] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[23:49:32] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[23:49:32] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[23:49:32] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[23:49:32] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[23:49:32] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[23:49:32] =============== [PASSED] drm_test_fb_memcpy ================
[23:49:32] ============= [PASSED] drm_format_helper_test ==============
[23:49:32] ================= drm_format (18 subtests) =================
[23:49:32] [PASSED] drm_test_format_block_width_invalid
[23:49:32] [PASSED] drm_test_format_block_width_one_plane
[23:49:32] [PASSED] drm_test_format_block_width_two_plane
[23:49:32] [PASSED] drm_test_format_block_width_three_plane
[23:49:32] [PASSED] drm_test_format_block_width_tiled
[23:49:32] [PASSED] drm_test_format_block_height_invalid
[23:49:32] [PASSED] drm_test_format_block_height_one_plane
[23:49:32] [PASSED] drm_test_format_block_height_two_plane
[23:49:32] [PASSED] drm_test_format_block_height_three_plane
[23:49:32] [PASSED] drm_test_format_block_height_tiled
[23:49:32] [PASSED] drm_test_format_min_pitch_invalid
[23:49:32] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[23:49:32] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[23:49:32] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[23:49:32] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[23:49:32] [PASSED] drm_test_format_min_pitch_two_plane
[23:49:32] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[23:49:32] [PASSED] drm_test_format_min_pitch_tiled
[23:49:32] =================== [PASSED] drm_format ====================
[23:49:32] ============== drm_framebuffer (10 subtests) ===============
[23:49:32] ========== drm_test_framebuffer_check_src_coords ==========
[23:49:32] [PASSED] Success: source fits into fb
[23:49:32] [PASSED] Fail: overflowing fb with x-axis coordinate
[23:49:32] [PASSED] Fail: overflowing fb with y-axis coordinate
[23:49:32] [PASSED] Fail: overflowing fb with source width
[23:49:32] [PASSED] Fail: overflowing fb with source height
[23:49:32] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[23:49:32] [PASSED] drm_test_framebuffer_cleanup
[23:49:32] =============== drm_test_framebuffer_create ===============
[23:49:32] [PASSED] ABGR8888 normal sizes
[23:49:32] [PASSED] ABGR8888 max sizes
[23:49:32] [PASSED] ABGR8888 pitch greater than min required
[23:49:32] [PASSED] ABGR8888 pitch less than min required
[23:49:32] [PASSED] ABGR8888 Invalid width
[23:49:32] [PASSED] ABGR8888 Invalid buffer handle
[23:49:32] [PASSED] No pixel format
[23:49:32] [PASSED] ABGR8888 Width 0
[23:49:32] [PASSED] ABGR8888 Height 0
[23:49:32] [PASSED] ABGR8888 Out of bound height * pitch combination
[23:49:32] [PASSED] ABGR8888 Large buffer offset
[23:49:32] [PASSED] ABGR8888 Buffer offset for inexistent plane
[23:49:32] [PASSED] ABGR8888 Invalid flag
[23:49:32] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[23:49:32] [PASSED] ABGR8888 Valid buffer modifier
[23:49:32] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[23:49:32] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[23:49:32] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[23:49:32] [PASSED] NV12 Normal sizes
[23:49:32] [PASSED] NV12 Max sizes
[23:49:32] [PASSED] NV12 Invalid pitch
[23:49:32] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[23:49:32] [PASSED] NV12 different modifier per-plane
[23:49:32] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[23:49:32] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[23:49:32] [PASSED] NV12 Modifier for inexistent plane
[23:49:32] [PASSED] NV12 Handle for inexistent plane
[23:49:32] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[23:49:32] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[23:49:32] [PASSED] YVU420 Normal sizes
[23:49:32] [PASSED] YVU420 Max sizes
[23:49:32] [PASSED] YVU420 Invalid pitch
[23:49:32] [PASSED] YVU420 Different pitches
[23:49:32] [PASSED] YVU420 Different buffer offsets/pitches
[23:49:32] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[23:49:32] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[23:49:32] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[23:49:32] [PASSED] YVU420 Valid modifier
[23:49:32] [PASSED] YVU420 Different modifiers per plane
[23:49:32] [PASSED] YVU420 Modifier for inexistent plane
[23:49:32] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[23:49:32] [PASSED] X0L2 Normal sizes
[23:49:32] [PASSED] X0L2 Max sizes
[23:49:32] [PASSED] X0L2 Invalid pitch
[23:49:32] [PASSED] X0L2 Pitch greater than minimum required
[23:49:32] [PASSED] X0L2 Handle for inexistent plane
[23:49:32] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[23:49:32] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[23:49:32] [PASSED] X0L2 Valid modifier
[23:49:32] [PASSED] X0L2 Modifier for inexistent plane
[23:49:32] =========== [PASSED] drm_test_framebuffer_create ===========
[23:49:32] [PASSED] drm_test_framebuffer_free
[23:49:32] [PASSED] drm_test_framebuffer_init
[23:49:32] [PASSED] drm_test_framebuffer_init_bad_format
[23:49:32] [PASSED] drm_test_framebuffer_init_dev_mismatch
[23:49:32] [PASSED] drm_test_framebuffer_lookup
[23:49:32] [PASSED] drm_test_framebuffer_lookup_inexistent
[23:49:32] [PASSED] drm_test_framebuffer_modifiers_not_supported
[23:49:32] ================= [PASSED] drm_framebuffer =================
[23:49:32] ================ drm_gem_shmem (8 subtests) ================
[23:49:32] [PASSED] drm_gem_shmem_test_obj_create
[23:49:32] [PASSED] drm_gem_shmem_test_obj_create_private
[23:49:32] [PASSED] drm_gem_shmem_test_pin_pages
[23:49:32] [PASSED] drm_gem_shmem_test_vmap
[23:49:32] [PASSED] drm_gem_shmem_test_get_pages_sgt
[23:49:32] [PASSED] drm_gem_shmem_test_get_sg_table
[23:49:32] [PASSED] drm_gem_shmem_test_madvise
[23:49:32] [PASSED] drm_gem_shmem_test_purge
[23:49:32] ================== [PASSED] drm_gem_shmem ==================
[23:49:32] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[23:49:32] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[23:49:32] [PASSED] Automatic
[23:49:32] [PASSED] Full
[23:49:32] [PASSED] Limited 16:235
[23:49:32] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[23:49:32] [PASSED] drm_test_check_disable_connector
[23:49:32] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[23:49:32] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[23:49:32] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[23:49:32] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[23:49:32] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[23:49:32] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[23:49:32] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[23:49:32] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[23:49:32] [PASSED] drm_test_check_output_bpc_dvi
[23:49:32] [PASSED] drm_test_check_output_bpc_format_vic_1
[23:49:32] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[23:49:32] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[23:49:32] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[23:49:32] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[23:49:32] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[23:49:32] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[23:49:32] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[23:49:32] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[23:49:32] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[23:49:32] [PASSED] drm_test_check_broadcast_rgb_value
[23:49:32] [PASSED] drm_test_check_bpc_8_value
[23:49:32] [PASSED] drm_test_check_bpc_10_value
[23:49:32] [PASSED] drm_test_check_bpc_12_value
[23:49:32] [PASSED] drm_test_check_format_value
[23:49:32] [PASSED] drm_test_check_tmds_char_value
[23:49:32] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[23:49:32] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[23:49:32] [PASSED] drm_test_check_mode_valid
[23:49:32] [PASSED] drm_test_check_mode_valid_reject
[23:49:32] [PASSED] drm_test_check_mode_valid_reject_rate
[23:49:32] [PASSED] drm_test_check_mode_valid_reject_max_clock
[23:49:32] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[23:49:32] ================= drm_managed (2 subtests) =================
[23:49:32] [PASSED] drm_test_managed_release_action
[23:49:32] [PASSED] drm_test_managed_run_action
[23:49:32] =================== [PASSED] drm_managed ===================
[23:49:32] =================== drm_mm (6 subtests) ====================
[23:49:32] [PASSED] drm_test_mm_init
[23:49:32] [PASSED] drm_test_mm_debug
[23:49:32] [PASSED] drm_test_mm_align32
[23:49:32] [PASSED] drm_test_mm_align64
[23:49:32] [PASSED] drm_test_mm_lowest
[23:49:32] [PASSED] drm_test_mm_highest
[23:49:32] ===================== [PASSED] drm_mm ======================
[23:49:32] ============= drm_modes_analog_tv (5 subtests) =============
[23:49:32] [PASSED] drm_test_modes_analog_tv_mono_576i
[23:49:32] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[23:49:32] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[23:49:32] [PASSED] drm_test_modes_analog_tv_pal_576i
[23:49:32] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[23:49:32] =============== [PASSED] drm_modes_analog_tv ===============
[23:49:32] ============== drm_plane_helper (2 subtests) ===============
[23:49:32] =============== drm_test_check_plane_state ================
[23:49:32] [PASSED] clipping_simple
[23:49:32] [PASSED] clipping_rotate_reflect
[23:49:32] [PASSED] positioning_simple
[23:49:32] [PASSED] upscaling
[23:49:32] [PASSED] downscaling
[23:49:32] [PASSED] rounding1
[23:49:32] [PASSED] rounding2
[23:49:32] [PASSED] rounding3
[23:49:32] [PASSED] rounding4
[23:49:32] =========== [PASSED] drm_test_check_plane_state ============
[23:49:32] =========== drm_test_check_invalid_plane_state ============
[23:49:32] [PASSED] positioning_invalid
[23:49:32] [PASSED] upscaling_invalid
[23:49:32] [PASSED] downscaling_invalid
[23:49:32] ======= [PASSED] drm_test_check_invalid_plane_state ========
[23:49:32] ================ [PASSED] drm_plane_helper =================
[23:49:32] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[23:49:32] ====== drm_test_connector_helper_tv_get_modes_check =======
[23:49:32] [PASSED] None
[23:49:32] [PASSED] PAL
[23:49:32] [PASSED] NTSC
[23:49:32] [PASSED] Both, NTSC Default
[23:49:32] [PASSED] Both, PAL Default
[23:49:32] [PASSED] Both, NTSC Default, with PAL on command-line
[23:49:32] [PASSED] Both, PAL Default, with NTSC on command-line
[23:49:32] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[23:49:32] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[23:49:32] ================== drm_rect (9 subtests) ===================
[23:49:32] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[23:49:32] [PASSED] drm_test_rect_clip_scaled_not_clipped
[23:49:32] [PASSED] drm_test_rect_clip_scaled_clipped
[23:49:32] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[23:49:32] ================= drm_test_rect_intersect =================
[23:49:32] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[23:49:32] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[23:49:32] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[23:49:32] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[23:49:32] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[23:49:32] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[23:49:32] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[23:49:32] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[23:49:32] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[23:49:32] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[23:49:32] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[23:49:32] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[23:49:32] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[23:49:32] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[23:49:32] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[23:49:32] ============= [PASSED] drm_test_rect_intersect =============
[23:49:32] ================ drm_test_rect_calc_hscale ================
[23:49:32] [PASSED] normal use
[23:49:32] [PASSED] out of max range
[23:49:32] [PASSED] out of min range
[23:49:32] [PASSED] zero dst
[23:49:32] [PASSED] negative src
[23:49:32] [PASSED] negative dst
[23:49:32] ============ [PASSED] drm_test_rect_calc_hscale ============
[23:49:32] ================ drm_test_rect_calc_vscale ================
[23:49:32] [PASSED] normal use
stty: 'standard input': Inappropriate ioctl for device
[23:49:32] [PASSED] out of max range
[23:49:32] [PASSED] out of min range
[23:49:32] [PASSED] zero dst
[23:49:32] [PASSED] negative src
[23:49:32] [PASSED] negative dst
[23:49:32] ============ [PASSED] drm_test_rect_calc_vscale ============
[23:49:32] ================== drm_test_rect_rotate ===================
[23:49:32] [PASSED] reflect-x
[23:49:32] [PASSED] reflect-y
[23:49:32] [PASSED] rotate-0
[23:49:32] [PASSED] rotate-90
[23:49:32] [PASSED] rotate-180
[23:49:32] [PASSED] rotate-270
[23:49:32] ============== [PASSED] drm_test_rect_rotate ===============
[23:49:32] ================ drm_test_rect_rotate_inv =================
[23:49:32] [PASSED] reflect-x
[23:49:32] [PASSED] reflect-y
[23:49:32] [PASSED] rotate-0
[23:49:32] [PASSED] rotate-90
[23:49:32] [PASSED] rotate-180
[23:49:32] [PASSED] rotate-270
[23:49:32] ============ [PASSED] drm_test_rect_rotate_inv =============
[23:49:32] ==================== [PASSED] drm_rect =====================
[23:49:32] ============ drm_sysfb_modeset_test (1 subtest) ============
[23:49:32] ============ drm_test_sysfb_build_fourcc_list =============
[23:49:32] [PASSED] no native formats
[23:49:32] [PASSED] XRGB8888 as native format
[23:49:32] [PASSED] remove duplicates
[23:49:32] [PASSED] convert alpha formats
[23:49:32] [PASSED] random formats
[23:49:32] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[23:49:32] ============= [PASSED] drm_sysfb_modeset_test ==============
[23:49:32] ============================================================
[23:49:32] Testing complete. Ran 622 tests: passed: 622
[23:49:32] Elapsed time: 27.068s total, 1.616s configuring, 25.032s building, 0.388s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[23:49:32] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:49:33] 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
[23:49:43] Starting KUnit Kernel (1/1)...
[23:49:43] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:49:43] ================= ttm_device (5 subtests) ==================
[23:49:43] [PASSED] ttm_device_init_basic
[23:49:43] [PASSED] ttm_device_init_multiple
[23:49:43] [PASSED] ttm_device_fini_basic
[23:49:43] [PASSED] ttm_device_init_no_vma_man
[23:49:43] ================== ttm_device_init_pools ==================
[23:49:43] [PASSED] No DMA allocations, no DMA32 required
[23:49:43] [PASSED] DMA allocations, DMA32 required
[23:49:43] [PASSED] No DMA allocations, DMA32 required
[23:49:43] [PASSED] DMA allocations, no DMA32 required
[23:49:43] ============== [PASSED] ttm_device_init_pools ==============
[23:49:43] =================== [PASSED] ttm_device ====================
[23:49:43] ================== ttm_pool (8 subtests) ===================
[23:49:43] ================== ttm_pool_alloc_basic ===================
[23:49:43] [PASSED] One page
[23:49:43] [PASSED] More than one page
[23:49:43] [PASSED] Above the allocation limit
[23:49:43] [PASSED] One page, with coherent DMA mappings enabled
[23:49:43] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[23:49:43] ============== [PASSED] ttm_pool_alloc_basic ===============
[23:49:43] ============== ttm_pool_alloc_basic_dma_addr ==============
[23:49:43] [PASSED] One page
[23:49:43] [PASSED] More than one page
[23:49:43] [PASSED] Above the allocation limit
[23:49:43] [PASSED] One page, with coherent DMA mappings enabled
[23:49:43] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[23:49:43] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[23:49:43] [PASSED] ttm_pool_alloc_order_caching_match
[23:49:43] [PASSED] ttm_pool_alloc_caching_mismatch
[23:49:43] [PASSED] ttm_pool_alloc_order_mismatch
[23:49:43] [PASSED] ttm_pool_free_dma_alloc
[23:49:43] [PASSED] ttm_pool_free_no_dma_alloc
[23:49:43] [PASSED] ttm_pool_fini_basic
[23:49:43] ==================== [PASSED] ttm_pool =====================
[23:49:43] ================ ttm_resource (8 subtests) =================
[23:49:43] ================= ttm_resource_init_basic =================
[23:49:43] [PASSED] Init resource in TTM_PL_SYSTEM
[23:49:43] [PASSED] Init resource in TTM_PL_VRAM
[23:49:43] [PASSED] Init resource in a private placement
[23:49:43] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[23:49:43] ============= [PASSED] ttm_resource_init_basic =============
[23:49:43] [PASSED] ttm_resource_init_pinned
[23:49:43] [PASSED] ttm_resource_fini_basic
[23:49:43] [PASSED] ttm_resource_manager_init_basic
[23:49:43] [PASSED] ttm_resource_manager_usage_basic
[23:49:43] [PASSED] ttm_resource_manager_set_used_basic
[23:49:43] [PASSED] ttm_sys_man_alloc_basic
[23:49:43] [PASSED] ttm_sys_man_free_basic
[23:49:43] ================== [PASSED] ttm_resource ===================
[23:49:43] =================== ttm_tt (15 subtests) ===================
[23:49:43] ==================== ttm_tt_init_basic ====================
[23:49:43] [PASSED] Page-aligned size
[23:49:43] [PASSED] Extra pages requested
[23:49:43] ================ [PASSED] ttm_tt_init_basic ================
[23:49:43] [PASSED] ttm_tt_init_misaligned
[23:49:43] [PASSED] ttm_tt_fini_basic
[23:49:43] [PASSED] ttm_tt_fini_sg
[23:49:43] [PASSED] ttm_tt_fini_shmem
[23:49:43] [PASSED] ttm_tt_create_basic
[23:49:43] [PASSED] ttm_tt_create_invalid_bo_type
[23:49:43] [PASSED] ttm_tt_create_ttm_exists
[23:49:43] [PASSED] ttm_tt_create_failed
[23:49:43] [PASSED] ttm_tt_destroy_basic
[23:49:43] [PASSED] ttm_tt_populate_null_ttm
[23:49:43] [PASSED] ttm_tt_populate_populated_ttm
[23:49:43] [PASSED] ttm_tt_unpopulate_basic
[23:49:43] [PASSED] ttm_tt_unpopulate_empty_ttm
[23:49:43] [PASSED] ttm_tt_swapin_basic
[23:49:43] ===================== [PASSED] ttm_tt ======================
[23:49:43] =================== ttm_bo (14 subtests) ===================
[23:49:43] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[23:49:43] [PASSED] Cannot be interrupted and sleeps
[23:49:43] [PASSED] Cannot be interrupted, locks straight away
[23:49:43] [PASSED] Can be interrupted, sleeps
[23:49:43] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[23:49:43] [PASSED] ttm_bo_reserve_locked_no_sleep
[23:49:43] [PASSED] ttm_bo_reserve_no_wait_ticket
[23:49:43] [PASSED] ttm_bo_reserve_double_resv
[23:49:43] [PASSED] ttm_bo_reserve_interrupted
[23:49:43] [PASSED] ttm_bo_reserve_deadlock
[23:49:43] [PASSED] ttm_bo_unreserve_basic
[23:49:43] [PASSED] ttm_bo_unreserve_pinned
[23:49:43] [PASSED] ttm_bo_unreserve_bulk
[23:49:43] [PASSED] ttm_bo_fini_basic
[23:49:43] [PASSED] ttm_bo_fini_shared_resv
[23:49:43] [PASSED] ttm_bo_pin_basic
[23:49:43] [PASSED] ttm_bo_pin_unpin_resource
[23:49:43] [PASSED] ttm_bo_multiple_pin_one_unpin
[23:49:43] ===================== [PASSED] ttm_bo ======================
[23:49:43] ============== ttm_bo_validate (21 subtests) ===============
[23:49:43] ============== ttm_bo_init_reserved_sys_man ===============
[23:49:43] [PASSED] Buffer object for userspace
[23:49:43] [PASSED] Kernel buffer object
[23:49:43] [PASSED] Shared buffer object
[23:49:43] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[23:49:43] ============== ttm_bo_init_reserved_mock_man ==============
[23:49:43] [PASSED] Buffer object for userspace
[23:49:43] [PASSED] Kernel buffer object
[23:49:43] [PASSED] Shared buffer object
[23:49:43] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[23:49:43] [PASSED] ttm_bo_init_reserved_resv
[23:49:43] ================== ttm_bo_validate_basic ==================
[23:49:43] [PASSED] Buffer object for userspace
[23:49:43] [PASSED] Kernel buffer object
[23:49:43] [PASSED] Shared buffer object
[23:49:43] ============== [PASSED] ttm_bo_validate_basic ==============
[23:49:43] [PASSED] ttm_bo_validate_invalid_placement
[23:49:43] ============= ttm_bo_validate_same_placement ==============
[23:49:43] [PASSED] System manager
[23:49:43] [PASSED] VRAM manager
[23:49:43] ========= [PASSED] ttm_bo_validate_same_placement ==========
[23:49:43] [PASSED] ttm_bo_validate_failed_alloc
[23:49:43] [PASSED] ttm_bo_validate_pinned
[23:49:43] [PASSED] ttm_bo_validate_busy_placement
[23:49:43] ================ ttm_bo_validate_multihop =================
[23:49:43] [PASSED] Buffer object for userspace
[23:49:43] [PASSED] Kernel buffer object
[23:49:43] [PASSED] Shared buffer object
[23:49:43] ============ [PASSED] ttm_bo_validate_multihop =============
[23:49:43] ========== ttm_bo_validate_no_placement_signaled ==========
[23:49:43] [PASSED] Buffer object in system domain, no page vector
[23:49:43] [PASSED] Buffer object in system domain with an existing page vector
[23:49:43] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[23:49:43] ======== ttm_bo_validate_no_placement_not_signaled ========
[23:49:43] [PASSED] Buffer object for userspace
[23:49:43] [PASSED] Kernel buffer object
[23:49:43] [PASSED] Shared buffer object
[23:49:43] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[23:49:43] [PASSED] ttm_bo_validate_move_fence_signaled
[23:49:43] ========= ttm_bo_validate_move_fence_not_signaled =========
[23:49:43] [PASSED] Waits for GPU
[23:49:43] [PASSED] Tries to lock straight away
[23:49:43] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[23:49:43] [PASSED] ttm_bo_validate_happy_evict
[23:49:43] [PASSED] ttm_bo_validate_all_pinned_evict
[23:49:43] [PASSED] ttm_bo_validate_allowed_only_evict
[23:49:43] [PASSED] ttm_bo_validate_deleted_evict
[23:49:43] [PASSED] ttm_bo_validate_busy_domain_evict
[23:49:43] [PASSED] ttm_bo_validate_evict_gutting
[23:49:43] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[23:49:43] ================= [PASSED] ttm_bo_validate =================
[23:49:43] ============================================================
[23:49:43] Testing complete. Ran 101 tests: passed: 101
[23:49:43] Elapsed time: 11.257s total, 1.643s configuring, 9.398s building, 0.181s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 14+ messages in thread
* ✗ CI.checksparse: warning for Fix dma-fence-array ordering
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (9 preceding siblings ...)
2025-10-27 23:49 ` ✓ CI.KUnit: success " Patchwork
@ 2025-10-28 0:05 ` Patchwork
2025-10-28 0:32 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-10-28 8:06 ` ✗ Xe.CI.Full: " Patchwork
12 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2025-10-28 0:05 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
== Series Details ==
Series: Fix dma-fence-array ordering
URL : https://patchwork.freedesktop.org/series/156613/
State : warning
== Summary ==
+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast de43fe70c436c359e7478a5532d873f87357cb4e
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/drm_drv.c:449:6: warning: context imbalance in 'drm_dev_enter' - different lock contexts for basic block
+drivers/gpu/drm/drm_drv.c: note: in included file (through include/linux/notifier.h, arch/x86/include/asm/uprobes.h, include/linux/uprobes.h, include/linux/mm_types.h, include/linux/mmzone.h, include/linux/gfp.h, ...):
+drivers/gpu/drm/drm_plane.c:213:24: warning: Using plain integer as NULL pointer
+drivers/gpu/drm/i915/display/intel_alpm.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_cdclk.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2071:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2071:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2071:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_hotplug.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+drivers/gpu/drm/i915/gt/intel_reset.c:1569:12: warning: context imbalance in '_intel_gt_reset_lock' - different lock contexts for basic block
+drivers/gpu/drm/i915/gt/intel_sseu.c:598:17: error: too long token expansion
+drivers/gpu/drm/i915/i915_active.c:1062:16: warning: context imbalance in '__i915_active_fence_set' - different lock contexts for basic block
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: expected struct list_head const *list
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: got struct list_head [noderef] __rcu *pos
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/i915/i915_gpu_error.c:692:3: warning: symbol 'guc_hw_reg_state' was not declared. Should it be static?
+drivers/gpu/drm/i915/i915_irq.c:465:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:465:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:473:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:473:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:478:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:478:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:478:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:516:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:516:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:524:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:524:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:529:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:529:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:529:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:573:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:573:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:576:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:576:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:580:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:580:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:587:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:587:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:587:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:587:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/intel_uncore.c:1929:1: warning: context imbalance in 'fwtable_read8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1930:1: warning: context imbalance in 'fwtable_read16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1931:1: warning: context imbalance in 'fwtable_read32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1932:1: warning: context imbalance in 'fwtable_read64' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1997:1: warning: context imbalance in 'gen6_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1998:1: warning: context imbalance in 'gen6_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1999:1: warning: context imbalance in 'gen6_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2019:1: warning: context imbalance in 'fwtable_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2020:1: warning: context imbalance in 'fwtable_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2021:1: warning: context imbalance in 'fwtable_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_wakeref.c:146:19: warning: context imbalance in 'wakeref_auto_timeout' - unexpected unlock
+drivers/gpu/drm/ttm/ttm_bo.c:1198:31: warning: symbol 'ttm_swap_ops' was not declared. Should it be static?
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38: expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38: got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38: expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38: got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38: expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38: got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28: expected void volatile [noderef] __iomem *addr
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28: got void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28: warning: incorrect type in argument 1 (different address spaces)
+./include/linux/srcu.h:389:9: warning: context imbalance in 'drm_dev_exit' - unexpected unlock
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 14+ messages in thread
* ✗ Xe.CI.BAT: failure for Fix dma-fence-array ordering
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (10 preceding siblings ...)
2025-10-28 0:05 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-10-28 0:32 ` Patchwork
2025-10-28 8:06 ` ✗ Xe.CI.Full: " Patchwork
12 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2025-10-28 0:32 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1674 bytes --]
== Series Details ==
Series: Fix dma-fence-array ordering
URL : https://patchwork.freedesktop.org/series/156613/
State : failure
== Summary ==
CI Bug Log - changes from xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e_BAT -> xe-pw-156613v1_BAT
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-156613v1_BAT absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-156613v1_BAT, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (13 -> 13)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-156613v1_BAT:
### IGT changes ###
#### Possible regressions ####
* igt@xe_waitfence@abstime:
- bat-dg2-oem2: [PASS][1] -> [TIMEOUT][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/bat-dg2-oem2/igt@xe_waitfence@abstime.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/bat-dg2-oem2/igt@xe_waitfence@abstime.html
Build changes
-------------
* Linux: xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e -> xe-pw-156613v1
IGT_8597: 8597
xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e: de43fe70c436c359e7478a5532d873f87357cb4e
xe-pw-156613v1: 156613v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/index.html
[-- Attachment #2: Type: text/html, Size: 2259 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* ✗ Xe.CI.Full: failure for Fix dma-fence-array ordering
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
` (11 preceding siblings ...)
2025-10-28 0:32 ` ✗ Xe.CI.BAT: failure " Patchwork
@ 2025-10-28 8:06 ` Patchwork
12 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2025-10-28 8:06 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 50806 bytes --]
== Series Details ==
Series: Fix dma-fence-array ordering
URL : https://patchwork.freedesktop.org/series/156613/
State : failure
== Summary ==
CI Bug Log - changes from xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e_FULL -> xe-pw-156613v1_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-156613v1_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-156613v1_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-156613v1_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_flip@modeset-vs-vblank-race@b-dp4:
- shard-dg2-set2: [PASS][1] -> [INCOMPLETE][2] +1 other test incomplete
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-dg2-432/igt@kms_flip@modeset-vs-vblank-race@b-dp4.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-463/igt@kms_flip@modeset-vs-vblank-race@b-dp4.html
Known issues
------------
Here are the changes found in xe-pw-156613v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@4-tiled-32bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][3] ([Intel XE#316]) +1 other test skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
- shard-lnl: NOTRUN -> [SKIP][4] ([Intel XE#1407]) +1 other test skip
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
- shard-adlp: [PASS][5] -> [DMESG-FAIL][6] ([Intel XE#4543])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-adlp-2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-adlp-2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][7] ([Intel XE#1124]) +2 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-lnl: NOTRUN -> [SKIP][8] ([Intel XE#1124]) +4 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
- shard-lnl: NOTRUN -> [SKIP][9] ([Intel XE#2191])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
* igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
- shard-bmg: [PASS][10] -> [SKIP][11] ([Intel XE#2314] / [Intel XE#2894])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-5/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
* igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p:
- shard-dg2-set2: NOTRUN -> [SKIP][12] ([Intel XE#2191])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
- shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#1512])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
* igt@kms_bw@linear-tiling-3-displays-1920x1080p:
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#367])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_bw@linear-tiling-3-displays-1920x1080p.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][15] ([Intel XE#455] / [Intel XE#787]) +3 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#3432]) +1 other test skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#2669]) +3 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][18] ([Intel XE#2907])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#787]) +13 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-432/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs@pipe-c-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#2887]) +4 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_chamelium_audio@dp-audio-edid:
- shard-bmg: NOTRUN -> [SKIP][21] ([Intel XE#2252])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-2/igt@kms_chamelium_audio@dp-audio-edid.html
* igt@kms_chamelium_color@ctm-max:
- shard-lnl: NOTRUN -> [SKIP][22] ([Intel XE#306])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_chamelium_color@ctm-max.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- shard-dg2-set2: NOTRUN -> [SKIP][23] ([Intel XE#373]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-432/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
- shard-lnl: NOTRUN -> [SKIP][24] ([Intel XE#373]) +3 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-dg2-set2: NOTRUN -> [SKIP][25] ([Intel XE#307])
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_content_protection@dp-mst-type-0.html
- shard-lnl: NOTRUN -> [SKIP][26] ([Intel XE#307])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_content_protection@legacy@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][27] ([Intel XE#1178])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-8/igt@kms_content_protection@legacy@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#1424]) +2 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
- shard-lnl: NOTRUN -> [SKIP][29] ([Intel XE#309]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
- shard-bmg: [PASS][30] -> [SKIP][31] ([Intel XE#2291]) +1 other test skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
* igt@kms_cursor_legacy@flip-vs-cursor-toggle:
- shard-bmg: [PASS][32] -> [DMESG-WARN][33] ([Intel XE#5354])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
* igt@kms_dp_aux_dev:
- shard-bmg: [PASS][34] -> [SKIP][35] ([Intel XE#3009])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-1/igt@kms_dp_aux_dev.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_dp_aux_dev.html
* igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
- shard-lnl: NOTRUN -> [SKIP][36] ([Intel XE#1421]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
* igt@kms_flip@2x-nonexisting-fb:
- shard-bmg: [PASS][37] -> [SKIP][38] ([Intel XE#2316]) +5 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-1/igt@kms_flip@2x-nonexisting-fb.html
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_flip@2x-nonexisting-fb.html
* igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a3:
- shard-bmg: NOTRUN -> [INCOMPLETE][39] ([Intel XE#2049] / [Intel XE#2597])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-5/igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a3.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-dg2-set2: NOTRUN -> [SKIP][40] ([Intel XE#455]) +3 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][41] ([Intel XE#1401]) +2 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][42] ([Intel XE#1397] / [Intel XE#1745])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][43] ([Intel XE#1397])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
- shard-lnl: NOTRUN -> [SKIP][44] ([Intel XE#1401] / [Intel XE#1745]) +2 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][45] ([Intel XE#6312])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary:
- shard-dg2-set2: NOTRUN -> [SKIP][46] ([Intel XE#651]) +3 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-432/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt:
- shard-lnl: NOTRUN -> [SKIP][47] ([Intel XE#656]) +20 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-msflip-blt:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#651]) +6 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][49] ([Intel XE#6312]) +1 other test skip
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][50] ([Intel XE#653]) +5 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-rte:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#2313])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-1p-rte.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-bmg: [PASS][52] -> [SKIP][53] ([Intel XE#3012])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-5/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][54] ([Intel XE#2927])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_joiner@invalid-modeset-ultra-joiner.html
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#2927])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-lnl: NOTRUN -> [SKIP][56] ([Intel XE#356])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c:
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#2763]) +7 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c.html
* igt@kms_pm_rpm@dpms-non-lpsp:
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#1439] / [Intel XE#3141])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_pm_rpm@dpms-non-lpsp.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][59] ([Intel XE#1406] / [Intel XE#1489]) +1 other test skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][60] ([Intel XE#1406] / [Intel XE#2893]) +2 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_psr2_sf@pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr@fbc-psr-sprite-plane-move:
- shard-dg2-set2: NOTRUN -> [SKIP][61] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +2 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_psr@fbc-psr-sprite-plane-move.html
* igt@kms_psr@fbc-psr2-basic@edp-1:
- shard-lnl: NOTRUN -> [SKIP][62] ([Intel XE#1406] / [Intel XE#4609])
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_psr@fbc-psr2-basic@edp-1.html
* igt@kms_psr@pr-basic:
- shard-lnl: NOTRUN -> [SKIP][63] ([Intel XE#1406]) +2 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_psr@pr-basic.html
* igt@kms_rotation_crc@sprite-rotation-270:
- shard-lnl: NOTRUN -> [SKIP][64] ([Intel XE#3414] / [Intel XE#3904])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_rotation_crc@sprite-rotation-270.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-lnl: NOTRUN -> [SKIP][65] ([Intel XE#1435])
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_vblank@query-forked-busy-hang:
- shard-bmg: NOTRUN -> [INCOMPLETE][66] ([Intel XE#4488]) +1 other test incomplete
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-2/igt@kms_vblank@query-forked-busy-hang.html
* igt@kms_vrr@lobf:
- shard-dg2-set2: NOTRUN -> [SKIP][67] ([Intel XE#2168])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_vrr@lobf.html
* igt@kms_vrr@seamless-rr-switch-drrs:
- shard-lnl: NOTRUN -> [SKIP][68] ([Intel XE#1499]) +1 other test skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@kms_vrr@seamless-rr-switch-drrs.html
* igt@xe_eudebug@basic-connect:
- shard-lnl: NOTRUN -> [SKIP][69] ([Intel XE#4837]) +6 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_eudebug@basic-connect.html
* igt@xe_eudebug_online@single-step-one:
- shard-dg2-set2: NOTRUN -> [SKIP][70] ([Intel XE#4837]) +3 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-432/igt@xe_eudebug_online@single-step-one.html
* igt@xe_evict@evict-beng-cm-threads-small-multi-vm:
- shard-lnl: NOTRUN -> [SKIP][71] ([Intel XE#688]) +3 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_evict@evict-beng-cm-threads-small-multi-vm.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][72] ([Intel XE#1392]) +3 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
* igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-rebind-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][73] ([Intel XE#288]) +3 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-rebind-imm.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-comp-multi-vma:
- shard-lnl: NOTRUN -> [SKIP][74] ([Intel XE#6196])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-comp-multi-vma.html
* igt@xe_exec_system_allocator@process-many-mmap-prefetch:
- shard-bmg: [PASS][75] -> [WARN][76] ([Intel XE#5786])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@xe_exec_system_allocator@process-many-mmap-prefetch.html
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-8/igt@xe_exec_system_allocator@process-many-mmap-prefetch.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-free-huge:
- shard-lnl: NOTRUN -> [SKIP][77] ([Intel XE#4943]) +13 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-free-huge.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-stride-malloc-prefetch:
- shard-dg2-set2: NOTRUN -> [SKIP][78] ([Intel XE#4915]) +72 other tests skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-malloc-prefetch.html
* igt@xe_live_ktest@xe_eudebug:
- shard-lnl: NOTRUN -> [SKIP][79] ([Intel XE#2833])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_live_ktest@xe_eudebug.html
* igt@xe_oa@mmio-triggered-reports-read:
- shard-dg2-set2: NOTRUN -> [SKIP][80] ([Intel XE#6032])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@xe_oa@mmio-triggered-reports-read.html
* igt@xe_pat@pat-index-xelp:
- shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#977])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_pat@pat-index-xelp.html
* igt@xe_pm@d3cold-mmap-system:
- shard-lnl: NOTRUN -> [SKIP][82] ([Intel XE#2284] / [Intel XE#366])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_pm@d3cold-mmap-system.html
* igt@xe_pm@s4-exec-after:
- shard-lnl: NOTRUN -> [FAIL][83] ([Intel XE#6406])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_pm@s4-exec-after.html
* igt@xe_pmu@all-fn-engine-activity-load:
- shard-lnl: NOTRUN -> [SKIP][84] ([Intel XE#4650])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_pmu@all-fn-engine-activity-load.html
* igt@xe_query@multigpu-query-uc-fw-version-huc:
- shard-dg2-set2: NOTRUN -> [SKIP][85] ([Intel XE#944])
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@xe_query@multigpu-query-uc-fw-version-huc.html
- shard-lnl: NOTRUN -> [SKIP][86] ([Intel XE#944]) +2 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_query@multigpu-query-uc-fw-version-huc.html
* igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling:
- shard-lnl: NOTRUN -> [SKIP][87] ([Intel XE#4130])
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html
* igt@xe_sriov_vram@vf-access-after-resize-up:
- shard-dg2-set2: NOTRUN -> [SKIP][88] ([Intel XE#6318])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@xe_sriov_vram@vf-access-after-resize-up.html
- shard-lnl: NOTRUN -> [SKIP][89] ([Intel XE#6376])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_sriov_vram@vf-access-after-resize-up.html
#### Possible fixes ####
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-dg2-set2: [INCOMPLETE][90] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) -> [PASS][91] +2 other tests pass
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6:
- shard-dg2-set2: [INCOMPLETE][92] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) -> [PASS][93]
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-bmg: [SKIP][94] ([Intel XE#2291]) -> [PASS][95] +2 other tests pass
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-8/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-bmg: [SKIP][96] ([Intel XE#2316]) -> [PASS][97] +2 other tests pass
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-1/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip@basic-flip-vs-dpms:
- shard-adlp: [DMESG-WARN][98] ([Intel XE#4543]) -> [PASS][99] +5 other tests pass
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-adlp-2/igt@kms_flip@basic-flip-vs-dpms.html
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-adlp-8/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_flip@flip-vs-expired-vblank@b-edp1:
- shard-lnl: [FAIL][100] ([Intel XE#301]) -> [PASS][101] +1 other test pass
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
* igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a3:
- shard-bmg: [INCOMPLETE][102] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][103]
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a3.html
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-5/igt@kms_flip@flip-vs-suspend-interruptible@b-hdmi-a3.html
* igt@kms_flip@flip-vs-suspend@b-hdmi-a1:
- shard-adlp: [DMESG-WARN][104] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][105] +8 other tests pass
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-adlp-6/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-adlp-6/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend@d-dp4:
- shard-dg2-set2: [INCOMPLETE][106] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][107] +1 other test pass
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-dg2-434/igt@kms_flip@flip-vs-suspend@d-dp4.html
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-466/igt@kms_flip@flip-vs-suspend@d-dp4.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-bmg: [SKIP][108] ([Intel XE#4596]) -> [PASS][109]
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-none.html
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-8/igt@kms_plane_multiple@2x-tiling-none.html
* igt@xe_exec_system_allocator@many-stride-malloc-prefetch:
- shard-bmg: [WARN][110] ([Intel XE#5786]) -> [PASS][111]
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-8/igt@xe_exec_system_allocator@many-stride-malloc-prefetch.html
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-8/igt@xe_exec_system_allocator@many-stride-malloc-prefetch.html
* igt@xe_gt_freq@freq_fixed_idle:
- shard-dg2-set2: [FAIL][112] ([Intel XE#6407]) -> [PASS][113]
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-dg2-432/igt@xe_gt_freq@freq_fixed_idle.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-dg2-436/igt@xe_gt_freq@freq_fixed_idle.html
* igt@xe_pm@s2idle-basic:
- shard-adlp: [DMESG-WARN][114] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4504]) -> [PASS][115]
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-adlp-8/igt@xe_pm@s2idle-basic.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-adlp-8/igt@xe_pm@s2idle-basic.html
#### Warnings ####
* igt@kms_content_protection@legacy:
- shard-bmg: [SKIP][116] ([Intel XE#2341]) -> [FAIL][117] ([Intel XE#1178])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@kms_content_protection@legacy.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-8/igt@kms_content_protection@legacy.html
* igt@kms_flip@flip-vs-panning-vs-hang@d-hdmi-a1:
- shard-adlp: [TIMEOUT][118] ([Intel XE#4543]) -> [DMESG-WARN][119] ([Intel XE#4543]) +1 other test dmesg-warn
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-adlp-1/igt@kms_flip@flip-vs-panning-vs-hang@d-hdmi-a1.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-adlp-4/igt@kms_flip@flip-vs-panning-vs-hang@d-hdmi-a1.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render:
- shard-bmg: [SKIP][120] ([Intel XE#2312]) -> [SKIP][121] ([Intel XE#2311]) +8 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][122] ([Intel XE#5390]) -> [SKIP][123] ([Intel XE#2312]) +1 other test skip
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen:
- shard-bmg: [SKIP][124] ([Intel XE#2312]) -> [SKIP][125] ([Intel XE#5390]) +3 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][126] ([Intel XE#2311]) -> [SKIP][127] ([Intel XE#2312]) +11 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt:
- shard-bmg: [SKIP][128] ([Intel XE#2313]) -> [SKIP][129] ([Intel XE#2312]) +10 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render:
- shard-bmg: [SKIP][130] ([Intel XE#2312]) -> [SKIP][131] ([Intel XE#2313]) +7 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-bmg: [SKIP][132] ([Intel XE#4596]) -> [SKIP][133] ([Intel XE#5021])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-y.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-1/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][134] ([Intel XE#2509]) -> [SKIP][135] ([Intel XE#2426])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
- shard-adlp: [ABORT][136] ([Intel XE#5530]) -> [ABORT][137] ([Intel XE#5466] / [Intel XE#5530])
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-adlp-1/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-adlp-2/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
- shard-bmg: [ABORT][138] ([Intel XE#4917] / [Intel XE#5466] / [Intel XE#5530]) -> [ABORT][139] ([Intel XE#5466] / [Intel XE#5530])
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-8/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-8/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
* igt@xe_module_load@load:
- shard-lnl: ([PASS][140], [PASS][141], [PASS][142], [PASS][143], [PASS][144], [DMESG-WARN][145], [PASS][146], [PASS][147], [PASS][148], [PASS][149], [PASS][150], [PASS][151], [PASS][152], [PASS][153], [PASS][154], [PASS][155], [PASS][156], [PASS][157], [PASS][158], [PASS][159], [PASS][160], [PASS][161], [PASS][162], [PASS][163]) ([Intel XE#6295]) -> ([PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179], [PASS][180], [PASS][181], [SKIP][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189]) ([Intel XE#378])
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-5/igt@xe_module_load@load.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-5/igt@xe_module_load@load.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-5/igt@xe_module_load@load.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-4/igt@xe_module_load@load.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-3/igt@xe_module_load@load.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-4/igt@xe_module_load@load.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-1/igt@xe_module_load@load.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-4/igt@xe_module_load@load.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-4/igt@xe_module_load@load.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-1/igt@xe_module_load@load.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-3/igt@xe_module_load@load.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-3/igt@xe_module_load@load.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-8/igt@xe_module_load@load.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-8/igt@xe_module_load@load.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-7/igt@xe_module_load@load.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-8/igt@xe_module_load@load.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-2/igt@xe_module_load@load.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-2/igt@xe_module_load@load.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-2/igt@xe_module_load@load.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-1/igt@xe_module_load@load.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-7/igt@xe_module_load@load.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-7/igt@xe_module_load@load.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-7/igt@xe_module_load@load.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-lnl-1/igt@xe_module_load@load.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-4/igt@xe_module_load@load.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-4/igt@xe_module_load@load.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-4/igt@xe_module_load@load.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-1/igt@xe_module_load@load.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-7/igt@xe_module_load@load.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-1/igt@xe_module_load@load.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-1/igt@xe_module_load@load.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-3/igt@xe_module_load@load.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-3/igt@xe_module_load@load.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-3/igt@xe_module_load@load.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-3/igt@xe_module_load@load.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-7/igt@xe_module_load@load.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-1/igt@xe_module_load@load.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-5/igt@xe_module_load@load.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-7/igt@xe_module_load@load.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-5/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-5/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-2/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-8/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-lnl-5/igt@xe_module_load@load.html
* igt@xe_pmu@fn-engine-activity-sched-if-idle@engine-drm_xe_engine_class_video_enhance1:
- shard-bmg: [ABORT][190] ([Intel XE#3970]) -> [DMESG-WARN][191] ([Intel XE#3876] / [Intel XE#3970]) +1 other test dmesg-warn
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e/shard-bmg-4/igt@xe_pmu@fn-engine-activity-sched-if-idle@engine-drm_xe_engine_class_video_enhance1.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/shard-bmg-3/igt@xe_pmu@fn-engine-activity-sched-if-idle@engine-drm_xe_engine_class_video_enhance1.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/356
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4488
[Intel XE#4504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4504
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4917
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
[Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354
[Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
[Intel XE#5466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5466
[Intel XE#5530]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5530
[Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
[Intel XE#6032]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6032
[Intel XE#6196]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6196
[Intel XE#6295]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6295
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6318]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6318
[Intel XE#6376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6376
[Intel XE#6406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6406
[Intel XE#6407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6407
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
Build changes
-------------
* Linux: xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e -> xe-pw-156613v1
IGT_8597: 8597
xe-3994-de43fe70c436c359e7478a5532d873f87357cb4e: de43fe70c436c359e7478a5532d873f87357cb4e
xe-pw-156613v1: 156613v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156613v1/index.html
[-- Attachment #2: Type: text/html, Size: 57630 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-10-28 8:06 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
2025-10-27 21:42 ` [CI 1/8] drm/xe: Add last fence attachment to TLB invalidation job queues Matthew Brost
2025-10-27 21:42 ` [CI 2/8] drm/xe: Decouple bind queue last fence from TLB invalidations Matthew Brost
2025-10-27 21:42 ` [CI 3/8] drm/xe: Do not wait on TLB invalidations in page fault binds Matthew Brost
2025-10-27 21:42 ` [CI 4/8] drm/xe: Don't allow in fences on zero batch exec or zero binds Matthew Brost
2025-10-27 21:42 ` [CI 5/8] drm/xe: Remove last fence dependecy check from binds Matthew Brost
2025-10-27 21:42 ` [CI 6/8] workqueue: Add ordered workqueue Matthew Brost
2025-10-27 21:42 ` [CI 7/8] dma-buf: Fix dma-fence-array signaling ordering Matthew Brost
2025-10-27 21:42 ` [CI 8/8] dma-buf: Fix dma-fence-chain " Matthew Brost
2025-10-27 23:48 ` ✗ CI.checkpatch: warning for Fix dma-fence-array ordering Patchwork
2025-10-27 23:49 ` ✓ CI.KUnit: success " Patchwork
2025-10-28 0:05 ` ✗ CI.checksparse: warning " Patchwork
2025-10-28 0:32 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-10-28 8:06 ` ✗ Xe.CI.Full: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox