* [CI] Two-pass MMU notifier for CI only
@ 2025-08-21 13:21 Thomas Hellström
2025-08-21 14:03 ` ✗ CI.checkpatch: warning for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Thomas Hellström @ 2025-08-21 13:21 UTC (permalink / raw)
To: intel-xe
Squashed commit of the following:
commit 44b594b3bbbdd454dcab9e499b5275aa1c9f0109
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:10 2025 -0700
drm/xe: Implement two pass MMU notifiers for SVM
Implement two-pass MMU notifiers for SVM, enabling multiple VMs or
devices with GPU mappings to pipeline costly TLB invalidations by
issuing them in the first pass and waiting for completion in the second.
v1:
- Adjust naming.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit c783c6dabdab4ed92085e4fc0bed2689cf9249ba
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:10 2025 -0700
drm/xe: Add fences argument to xe_vm_range_tilemask_tlb_invalidation
Introduce a fences argument to xe_vm_range_tilemask_tlb_invalidation,
allowing callers to provide fences and defer waiting to a later point.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit 9a5708c3ccd3f99102a29888eeff4fac3e5ec574
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:09 2025 -0700
drm/xe: Skip waiting on unarmed fences in xe_gt_tlb_invalidation_fence_wait
Avoids unnecessary waits when the TLB invalidation fence has not been
armed, simplifying caller logic in cases where the fence status is
uncertain.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit 55d8d77c804087e5fad1b5ca8d2e1d8ce816b646
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:08 2025 -0700
drm/gpusvm: Add drm_gpusvm_in_notifier_* helpers
Abstract drm_gpusvm_in_notifier_lock/unlock with helpers. Intended usage
is a client side 2nd pass of a MMU notifier.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit 087aed38ceaee2daef97acd816fde538bd53b74e
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:07 2025 -0700
drm/gpusvm, drm/xe: Update GPU SVM / Xe to twopass MMU notifier
Update GPU SVM and Xe to use two-pass MMU notifiers, enabling pipelined
TLB invalidations across VMs or multiple devices.
The driver-side (Xe) implementation is not yet implemented.
v1:
- Update function naming and comments.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit e43edf1f7e1a8fbe97157c10d0d9ec97aa7ba6e1
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Sat Aug 9 15:35:06 2025 +0200
mm/mmu_notifier: Allow two-pass struct mmu_interval_notifiers
GPU use-cases for mmu_interval_notifiers with hmm often involve
starting a gpu operation and then waiting for it to complete.
These operations are typically context preemption or TLB flushing.
With single-pass notifiers per GPU this doesn't scale in
multi-gpu scenarios. In those scenarios we'd want to first start
preemption- or TLB flushing on all GPUs and as a second pass wait
for them to complete.
One can do this on per-driver basis multiplexing per-driver
notifiers but that would mean sharing the notifier "user" lock
across all GPUs and that doesn't scale well either, so adding support
for multi-pass in the core appears to be the right choice.
Implement two-pass capability in the mmu_interval_notifier. Use a
linked list for the final passes to minimize the impact for
use-cases that don't need the multi-pass functionality by avoiding
a second interval tree walk, and to be able to easily pass data
between the two passes.
v1:
- Restrict to two passes (Jason Gunthorpe)
- Improve on documentation (Jason Gunthorpe)
- Improve on function naming (Alistair Popple)
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Dave Airlie <airlied@gmail.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: <dri-devel@lists.freedesktop.org>
Cc: <linux-mm@kvack.org>
Cc: <linux-kernel@vger.kernel.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
drivers/gpu/drm/drm_gpusvm.c | 17 +++--
drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h | 3 +-
drivers/gpu/drm/xe/xe_svm.c | 83 +++++++++++++++++----
drivers/gpu/drm/xe/xe_vm.c | 26 ++++---
drivers/gpu/drm/xe/xe_vm.h | 6 +-
include/drm/drm_gpusvm.h | 33 ++++++--
include/linux/mmu_notifier.h | 42 +++++++++++
mm/mmu_notifier.c | 63 +++++++++++++---
8 files changed, 223 insertions(+), 50 deletions(-)
diff --git a/drivers/gpu/drm/drm_gpusvm.c b/drivers/gpu/drm/drm_gpusvm.c
index e2a9a6ae1d54..7c0d04fd0e8e 100644
--- a/drivers/gpu/drm/drm_gpusvm.c
+++ b/drivers/gpu/drm/drm_gpusvm.c
@@ -317,10 +317,12 @@ drm_gpusvm_range_find(struct drm_gpusvm_notifier *notifier, unsigned long start,
EXPORT_SYMBOL_GPL(drm_gpusvm_range_find);
/**
- * drm_gpusvm_notifier_invalidate() - Invalidate a GPU SVM notifier.
+ * drm_gpusvm_notifier_invalidate_start() - Invalidate a GPU SVM notifier,
+ * fist pass.
* @mni: Pointer to the mmu_interval_notifier structure.
* @mmu_range: Pointer to the mmu_notifier_range structure.
* @cur_seq: Current sequence number.
+ * @final: First pass of MMU notifier
*
* This function serves as a generic MMU notifier for GPU SVM. It sets the MMU
* notifier sequence number and calls the driver invalidate vfunc under
@@ -329,9 +331,10 @@ EXPORT_SYMBOL_GPL(drm_gpusvm_range_find);
* Return: true if the operation succeeds, false otherwise.
*/
static bool
-drm_gpusvm_notifier_invalidate(struct mmu_interval_notifier *mni,
- const struct mmu_notifier_range *mmu_range,
- unsigned long cur_seq)
+drm_gpusvm_notifier_invalidate_start(struct mmu_interval_notifier *mni,
+ const struct mmu_notifier_range *mmu_range,
+ unsigned long cur_seq,
+ struct mmu_interval_notifier_finish **final)
{
struct drm_gpusvm_notifier *notifier =
container_of(mni, typeof(*notifier), notifier);
@@ -342,7 +345,7 @@ drm_gpusvm_notifier_invalidate(struct mmu_interval_notifier *mni,
down_write(&gpusvm->notifier_lock);
mmu_interval_set_seq(mni, cur_seq);
- gpusvm->ops->invalidate(gpusvm, notifier, mmu_range);
+ gpusvm->ops->invalidate_start(gpusvm, notifier, mmu_range, final);
up_write(&gpusvm->notifier_lock);
return true;
@@ -352,7 +355,7 @@ drm_gpusvm_notifier_invalidate(struct mmu_interval_notifier *mni,
* drm_gpusvm_notifier_ops - MMU interval notifier operations for GPU SVM
*/
static const struct mmu_interval_notifier_ops drm_gpusvm_notifier_ops = {
- .invalidate = drm_gpusvm_notifier_invalidate,
+ .invalidate_start = drm_gpusvm_notifier_invalidate_start,
};
/**
@@ -383,7 +386,7 @@ int drm_gpusvm_init(struct drm_gpusvm *gpusvm,
const struct drm_gpusvm_ops *ops,
const unsigned long *chunk_sizes, int num_chunks)
{
- if (!ops->invalidate || !num_chunks)
+ if (!ops->invalidate_start || !num_chunks)
return -EINVAL;
gpusvm->name = name;
diff --git a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
index f7f0f2eaf4b5..c6d4398d3429 100644
--- a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
+++ b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
@@ -34,7 +34,8 @@ void xe_gt_tlb_invalidation_fence_signal(struct xe_gt_tlb_invalidation_fence *fe
static inline void
xe_gt_tlb_invalidation_fence_wait(struct xe_gt_tlb_invalidation_fence *fence)
{
- dma_fence_wait(&fence->base, false);
+ if (fence->seqno)
+ dma_fence_wait(&fence->base, false);
}
#endif /* _XE_GT_TLB_INVALIDATION_ */
diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index e35c6d4def20..a278c9dc5306 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -144,15 +144,8 @@ xe_svm_range_notifier_event_begin(struct xe_vm *vm, struct drm_gpusvm_range *r,
* invalidations spanning multiple ranges.
*/
for_each_tile(tile, xe, id)
- if (xe_pt_zap_ptes_range(tile, vm, range)) {
+ if (xe_pt_zap_ptes_range(tile, vm, range))
tile_mask |= BIT(id);
- /*
- * WRITE_ONCE pairs with READ_ONCE in
- * xe_vm_has_valid_gpu_mapping()
- */
- WRITE_ONCE(range->tile_invalidated,
- range->tile_invalidated | BIT(id));
- }
return tile_mask;
}
@@ -161,23 +154,69 @@ static void
xe_svm_range_notifier_event_end(struct xe_vm *vm, struct drm_gpusvm_range *r,
const struct mmu_notifier_range *mmu_range)
{
+ struct xe_svm_range *range = to_xe_range(r);
struct drm_gpusvm_ctx ctx = { .in_notifier = true, };
xe_svm_assert_in_notifier(vm);
+ /*
+ * WRITE_ONCE pairs with READ_ONCE in xe_vm_has_valid_gpu_mapping()
+ */
+ WRITE_ONCE(range->tile_invalidated, range->tile_present);
+
drm_gpusvm_range_unmap_pages(&vm->svm.gpusvm, r, &ctx);
if (!xe_vm_is_closed(vm) && mmu_range->event == MMU_NOTIFY_UNMAP)
xe_svm_garbage_collector_add_range(vm, to_xe_range(r),
mmu_range);
}
-static void xe_svm_invalidate(struct drm_gpusvm *gpusvm,
- struct drm_gpusvm_notifier *notifier,
- const struct mmu_notifier_range *mmu_range)
+struct xe_svm_invalidate_finish {
+ struct drm_gpusvm *gpusvm;
+ struct drm_gpusvm_notifier *notifier;
+#define XE_SVM_INVALIDATE_FENCE_COUNT \
+ (XE_MAX_TILES_PER_DEVICE * XE_MAX_GT_PER_TILE)
+ struct xe_gt_tlb_invalidation_fence fences[XE_SVM_INVALIDATE_FENCE_COUNT];
+ struct mmu_interval_notifier_finish f;
+};
+
+static void
+xe_svm_invalidate_finish(struct mmu_interval_notifier_finish *final,
+ const struct mmu_notifier_range *mmu_range,
+ unsigned long cur_seq)
+{
+ struct xe_svm_invalidate_finish *xe_final = container_of(final, typeof(*xe_final), f);
+ struct drm_gpusvm *gpusvm = xe_final->gpusvm;
+ struct drm_gpusvm_notifier *notifier = xe_final->notifier;
+ struct drm_gpusvm_range *r = NULL;
+ struct xe_vm *vm = gpusvm_to_vm(gpusvm);
+ u64 adj_start = mmu_range->start, adj_end = mmu_range->end;
+ int id;
+
+ /* Adjust invalidation to notifier boundaries */
+ adj_start = max(drm_gpusvm_notifier_start(notifier), adj_start);
+ adj_end = min(drm_gpusvm_notifier_end(notifier), adj_end);
+
+ for (id = 0; id < XE_SVM_INVALIDATE_FENCE_COUNT; ++id)
+ xe_gt_tlb_invalidation_fence_wait(&xe_final->fences[id]);
+
+ drm_gpusvm_in_notifier_lock(gpusvm);
+ drm_gpusvm_for_each_range(r, notifier, adj_start, adj_end)
+ xe_svm_range_notifier_event_end(vm, r, mmu_range);
+ drm_gpusvm_in_notifier_unlock(gpusvm);
+
+ kfree(xe_final);
+}
+
+static void xe_svm_invalidate_start(struct drm_gpusvm *gpusvm,
+ struct drm_gpusvm_notifier *notifier,
+ const struct mmu_notifier_range *mmu_range,
+ struct mmu_interval_notifier_finish **final)
{
struct xe_vm *vm = gpusvm_to_vm(gpusvm);
struct xe_device *xe = vm->xe;
struct drm_gpusvm_range *r, *first;
+ struct xe_svm_invalidate_finish *xe_final = NULL;
+ struct xe_gt_tlb_invalidation_fence *fences = NULL;
u64 adj_start = mmu_range->start, adj_end = mmu_range->end;
u8 tile_mask = 0;
long err;
@@ -225,13 +264,25 @@ static void xe_svm_invalidate(struct drm_gpusvm *gpusvm,
xe_device_wmb(xe);
- err = xe_vm_range_tilemask_tlb_invalidation(vm, adj_start, adj_end, tile_mask);
+ xe_final = kzalloc(sizeof(*xe_final), GFP_NOWAIT);
+ if (xe_final) {
+ xe_final->gpusvm = gpusvm;
+ xe_final->notifier = notifier;
+ xe_final->f.finish = xe_svm_invalidate_finish;
+ fences = xe_final->fences;
+ *final = &xe_final->f;
+ }
+
+ err = xe_vm_range_tilemask_tlb_invalidation(vm, fences, adj_start,
+ adj_end, tile_mask);
WARN_ON_ONCE(err);
range_notifier_event_end:
- r = first;
- drm_gpusvm_for_each_range(r, notifier, adj_start, adj_end)
- xe_svm_range_notifier_event_end(vm, r, mmu_range);
+ if (!xe_final) {
+ r = first;
+ drm_gpusvm_for_each_range(r, notifier, adj_start, adj_end)
+ xe_svm_range_notifier_event_end(vm, r, mmu_range);
+ }
}
static int __xe_svm_garbage_collector(struct xe_vm *vm,
@@ -553,7 +604,7 @@ static const struct drm_pagemap_devmem_ops dpagemap_devmem_ops = {
static const struct drm_gpusvm_ops gpusvm_ops = {
.range_alloc = xe_svm_range_alloc,
.range_free = xe_svm_range_free,
- .invalidate = xe_svm_invalidate,
+ .invalidate_start = xe_svm_invalidate_start,
};
static const unsigned long fault_chunk_sizes[] = {
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index f35d69c0b4c6..e30c60158bd4 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -3878,6 +3878,7 @@ void xe_vm_unlock(struct xe_vm *vm)
* xe_vm_range_tilemask_tlb_invalidation - Issue a TLB invalidation on this tilemask for an
* address range
* @vm: The VM
+ * @fences: Caller provided fences, caller owns waiting if non-NULL
* @start: start address
* @end: end address
* @tile_mask: mask for which gt's issue tlb invalidation
@@ -3886,10 +3887,12 @@ void xe_vm_unlock(struct xe_vm *vm)
*
* Returns 0 for success, negative error code otherwise.
*/
-int xe_vm_range_tilemask_tlb_invalidation(struct xe_vm *vm, u64 start,
- u64 end, u8 tile_mask)
+int xe_vm_range_tilemask_tlb_invalidation(struct xe_vm *vm,
+ struct xe_gt_tlb_invalidation_fence *fences,
+ u64 start, u64 end, u8 tile_mask)
{
struct xe_gt_tlb_invalidation_fence fence[XE_MAX_TILES_PER_DEVICE * XE_MAX_GT_PER_TILE];
+ struct xe_gt_tlb_invalidation_fence *__fence = fences ?: fence;
struct xe_tile *tile;
u32 fence_id = 0;
u8 id;
@@ -3901,37 +3904,41 @@ int xe_vm_range_tilemask_tlb_invalidation(struct xe_vm *vm, u64 start,
for_each_tile(tile, vm->xe, id) {
if (tile_mask & BIT(id)) {
xe_gt_tlb_invalidation_fence_init(tile->primary_gt,
- &fence[fence_id], true);
+ __fence, true);
err = xe_gt_tlb_invalidation_range(tile->primary_gt,
- &fence[fence_id],
+ __fence,
start,
end,
vm->usm.asid);
if (err)
goto wait;
++fence_id;
+ ++__fence;
if (!tile->media_gt)
continue;
xe_gt_tlb_invalidation_fence_init(tile->media_gt,
- &fence[fence_id], true);
+ __fence, true);
err = xe_gt_tlb_invalidation_range(tile->media_gt,
- &fence[fence_id],
+ __fence,
start,
end,
vm->usm.asid);
if (err)
goto wait;
++fence_id;
+ ++__fence;
}
}
wait:
- for (id = 0; id < fence_id; ++id)
- xe_gt_tlb_invalidation_fence_wait(&fence[id]);
+ if (!fences) {
+ for (id = 0; id < fence_id; ++id)
+ xe_gt_tlb_invalidation_fence_wait(&fence[id]);
+ }
return err;
}
@@ -3990,7 +3997,8 @@ int xe_vm_invalidate_vma(struct xe_vma *vma)
xe_device_wmb(xe);
- ret = xe_vm_range_tilemask_tlb_invalidation(xe_vma_vm(vma), xe_vma_start(vma),
+ ret = xe_vm_range_tilemask_tlb_invalidation(xe_vma_vm(vma), NULL,
+ xe_vma_start(vma),
xe_vma_end(vma), tile_mask);
/* WRITE_ONCE pairs with READ_ONCE in xe_vm_has_valid_gpu_mapping() */
diff --git a/drivers/gpu/drm/xe/xe_vm.h b/drivers/gpu/drm/xe/xe_vm.h
index 2f213737c7e5..0b08b22e3bb3 100644
--- a/drivers/gpu/drm/xe/xe_vm.h
+++ b/drivers/gpu/drm/xe/xe_vm.h
@@ -22,6 +22,7 @@ struct dma_fence;
struct xe_exec_queue;
struct xe_file;
+struct xe_gt_tlb_invalidation_fence;
struct xe_sync_entry;
struct xe_svm_range;
struct drm_exec;
@@ -228,8 +229,9 @@ struct dma_fence *xe_vm_range_rebind(struct xe_vm *vm,
struct dma_fence *xe_vm_range_unbind(struct xe_vm *vm,
struct xe_svm_range *range);
-int xe_vm_range_tilemask_tlb_invalidation(struct xe_vm *vm, u64 start,
- u64 end, u8 tile_mask);
+int xe_vm_range_tilemask_tlb_invalidation(struct xe_vm *vm,
+ struct xe_gt_tlb_invalidation_fence *fences,
+ u64 start, u64 end, u8 tile_mask);
int xe_vm_invalidate_vma(struct xe_vma *vma);
diff --git a/include/drm/drm_gpusvm.h b/include/drm/drm_gpusvm.h
index 0e336148309d..9757a04d1de2 100644
--- a/include/drm/drm_gpusvm.h
+++ b/include/drm/drm_gpusvm.h
@@ -63,17 +63,20 @@ struct drm_gpusvm_ops {
void (*range_free)(struct drm_gpusvm_range *range);
/**
- * @invalidate: Invalidate GPU SVM notifier (required)
+ * @invalidate_start: Invalidate first pass GPU SVM notifier (required)
* @gpusvm: Pointer to the GPU SVM
* @notifier: Pointer to the GPU SVM notifier
* @mmu_range: Pointer to the mmu_notifier_range structure
+ * @final: Final pass of MMU notifier, optionally populated by the driver side
+ * if a final pass of MMU notifier is desired
*
* Invalidate the GPU page tables. It can safely walk the notifier range
* RB tree/list in this function. Called while holding the notifier lock.
*/
- void (*invalidate)(struct drm_gpusvm *gpusvm,
- struct drm_gpusvm_notifier *notifier,
- const struct mmu_notifier_range *mmu_range);
+ void (*invalidate_start)(struct drm_gpusvm *gpusvm,
+ struct drm_gpusvm_notifier *notifier,
+ const struct mmu_notifier_range *mmu_range,
+ struct mmu_interval_notifier_finish **final);
};
/**
@@ -314,7 +317,7 @@ void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range,
#endif
/**
- * drm_gpusvm_notifier_lock() - Lock GPU SVM notifier
+ * drm_gpusvm_notifier_lock() - Lock GPU SVM notifier, client side
* @gpusvm__: Pointer to the GPU SVM structure.
*
* Abstract client usage GPU SVM notifier lock, take lock
@@ -323,7 +326,7 @@ void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range,
down_read(&(gpusvm__)->notifier_lock)
/**
- * drm_gpusvm_notifier_unlock() - Unlock GPU SVM notifier
+ * drm_gpusvm_notifier_unlock() - Unlock GPU SVM notifier, client side
* @gpusvm__: Pointer to the GPU SVM structure.
*
* Abstract client usage GPU SVM notifier lock, drop lock
@@ -331,6 +334,24 @@ void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range,
#define drm_gpusvm_notifier_unlock(gpusvm__) \
up_read(&(gpusvm__)->notifier_lock)
+/**
+ * drm_gpusvm_in_notifier_lock() - Lock GPU SVM notifier, in notifier
+ * @gpusvm__: Pointer to the GPU SVM structure.
+ *
+ * Abstract in notifier (2nd pass) usage GPU SVM notifier lock, take lock
+ */
+#define drm_gpusvm_in_notifier_lock(gpusvm__) \
+ down_write(&(gpusvm__)->notifier_lock)
+
+/**
+ * drm_gpusvm_in_notifier_unlock() - Unlock GPU SVM notifier, in notifier
+ * @gpusvm__: Pointer to the GPU SVM structure.
+ *
+ * Abstract in notifier (2nd pass) GPU SVM notifier lock, drop lock
+ */
+#define drm_gpusvm_in_notifier_unlock(gpusvm__) \
+ up_write(&(gpusvm__)->notifier_lock)
+
/**
* drm_gpusvm_range_start() - GPU SVM range start address
* @range: Pointer to the GPU SVM range
diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h
index d1094c2d5fb6..14cfb3735699 100644
--- a/include/linux/mmu_notifier.h
+++ b/include/linux/mmu_notifier.h
@@ -233,16 +233,58 @@ struct mmu_notifier {
unsigned int users;
};
+/**
+ * struct mmu_interval_notifier_finish - mmu_interval_notifier two-pass abstraction
+ * @link: List link for the notifiers pending pass list
+ *
+ * Allocate, typically using GFP_NOWAIT in the interval notifier's first pass.
+ * If allocation fails (which is not unlikely under memory pressure), fall back
+ * to single-pass operation. Note that with a large number of notifiers
+ * implementing two passes, allocation with GFP_NOWAIT will become increasingly
+ * likely to fail, so consider implementing a small pool instead of using
+ * kmalloc() allocations.
+ *
+ * If the implementation needs to pass data between the two passes,
+ * the recommended way is to embed strct mmu_interval_notifier_finish into a larger
+ * structure that also contains the data needed to be shared. Keep in mind that
+ * a notifier callback can be invoked in parallel, and each invocation needs its
+ * own struct mmu_interval_notifier_finish.
+ */
+struct mmu_interval_notifier_finish {
+ struct list_head link;
+ /**
+ * @finish: Driver callback for the finish pass.
+ * @final: Pointer to the mmu_interval_notifier_finish structure.
+ * @range: The mmu_notifier_range.
+ * @cur_seq: The current sequence set by the first pass.
+ *
+ * Note that there is no error reporting for additional passes.
+ */
+ void (*finish)(struct mmu_interval_notifier_finish *final,
+ const struct mmu_notifier_range *range,
+ unsigned long cur_seq);
+};
+
/**
* struct mmu_interval_notifier_ops
* @invalidate: Upon return the caller must stop using any SPTEs within this
* range. This function can sleep. Return false only if sleeping
* was required but mmu_notifier_range_blockable(range) is false.
+ * @invalidate_start: Similar to @invalidate, but intended for two-pass notifier
+ * callbacks where the callto @invalidate_start is the first
+ * pass and any struct mmu_interval_notifier_finish pointer
+ * returned in the @fini parameter describes the final pass.
+ * If @fini is %NULL on return, then no final pass will be
+ * called.
*/
struct mmu_interval_notifier_ops {
bool (*invalidate)(struct mmu_interval_notifier *interval_sub,
const struct mmu_notifier_range *range,
unsigned long cur_seq);
+ bool (*invalidate_start)(struct mmu_interval_notifier *interval_sub,
+ const struct mmu_notifier_range *range,
+ unsigned long cur_seq,
+ struct mmu_interval_notifier_finish **final);
};
struct mmu_interval_notifier {
diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c
index 8e0125dc0522..fceadcd8ca24 100644
--- a/mm/mmu_notifier.c
+++ b/mm/mmu_notifier.c
@@ -260,6 +260,18 @@ mmu_interval_read_begin(struct mmu_interval_notifier *interval_sub)
}
EXPORT_SYMBOL_GPL(mmu_interval_read_begin);
+static void mn_itree_final_pass(struct list_head *final_passes,
+ const struct mmu_notifier_range *range,
+ unsigned long cur_seq)
+{
+ struct mmu_interval_notifier_finish *f, *next;
+
+ list_for_each_entry_safe(f, next, final_passes, link) {
+ list_del(&f->link);
+ f->finish(f, range, cur_seq);
+ }
+}
+
static void mn_itree_release(struct mmu_notifier_subscriptions *subscriptions,
struct mm_struct *mm)
{
@@ -271,6 +283,7 @@ static void mn_itree_release(struct mmu_notifier_subscriptions *subscriptions,
.end = ULONG_MAX,
};
struct mmu_interval_notifier *interval_sub;
+ LIST_HEAD(final_passes);
unsigned long cur_seq;
bool ret;
@@ -278,11 +291,25 @@ static void mn_itree_release(struct mmu_notifier_subscriptions *subscriptions,
mn_itree_inv_start_range(subscriptions, &range, &cur_seq);
interval_sub;
interval_sub = mn_itree_inv_next(interval_sub, &range)) {
- ret = interval_sub->ops->invalidate(interval_sub, &range,
- cur_seq);
+ if (interval_sub->ops->invalidate_start) {
+ struct mmu_interval_notifier_finish *final = NULL;
+
+ ret = interval_sub->ops->invalidate_start(interval_sub,
+ &range,
+ cur_seq,
+ &final);
+ if (ret && final)
+ list_add_tail(&final->link, &final_passes);
+
+ } else {
+ ret = interval_sub->ops->invalidate(interval_sub,
+ &range,
+ cur_seq);
+ }
WARN_ON(!ret);
}
+ mn_itree_final_pass(&final_passes, &range, cur_seq);
mn_itree_inv_end(subscriptions);
}
@@ -430,7 +457,9 @@ static int mn_itree_invalidate(struct mmu_notifier_subscriptions *subscriptions,
const struct mmu_notifier_range *range)
{
struct mmu_interval_notifier *interval_sub;
+ LIST_HEAD(final_passes);
unsigned long cur_seq;
+ int err = 0;
for (interval_sub =
mn_itree_inv_start_range(subscriptions, range, &cur_seq);
@@ -438,23 +467,39 @@ static int mn_itree_invalidate(struct mmu_notifier_subscriptions *subscriptions,
interval_sub = mn_itree_inv_next(interval_sub, range)) {
bool ret;
- ret = interval_sub->ops->invalidate(interval_sub, range,
- cur_seq);
+ if (interval_sub->ops->invalidate_start) {
+ struct mmu_interval_notifier_finish *final = NULL;
+
+ ret = interval_sub->ops->invalidate_start(interval_sub,
+ range,
+ cur_seq,
+ &final);
+ if (ret && final)
+ list_add_tail(&final->link, &final_passes);
+
+ } else {
+ ret = interval_sub->ops->invalidate(interval_sub,
+ range,
+ cur_seq);
+ }
if (!ret) {
if (WARN_ON(mmu_notifier_range_blockable(range)))
continue;
- goto out_would_block;
+ err = -EAGAIN;
+ break;
}
}
- return 0;
-out_would_block:
+ mn_itree_final_pass(&final_passes, range, cur_seq);
+
/*
* On -EAGAIN the non-blocking caller is not allowed to call
* invalidate_range_end()
*/
- mn_itree_inv_end(subscriptions);
- return -EAGAIN;
+ if (err)
+ mn_itree_inv_end(subscriptions);
+
+ return err;
}
static int mn_hlist_invalidate_range_start(
--
2.50.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* ✗ CI.checkpatch: warning for Two-pass MMU notifier for CI only
2025-08-21 13:21 [CI] Two-pass MMU notifier for CI only Thomas Hellström
@ 2025-08-21 14:03 ` Patchwork
2025-08-21 14:04 ` ✓ CI.KUnit: success " Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2025-08-21 14:03 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: Two-pass MMU notifier for CI only
URL : https://patchwork.freedesktop.org/series/153295/
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
553439844b6500767ce8aef522cfe9fbb7ece541
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 49590a511db67bc312cec103811fb56f20adae2a
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Thu Aug 21 15:21:14 2025 +0200
Two-pass MMU notifier for CI only
Squashed commit of the following:
commit 44b594b3bbbdd454dcab9e499b5275aa1c9f0109
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:10 2025 -0700
drm/xe: Implement two pass MMU notifiers for SVM
Implement two-pass MMU notifiers for SVM, enabling multiple VMs or
devices with GPU mappings to pipeline costly TLB invalidations by
issuing them in the first pass and waiting for completion in the second.
v1:
- Adjust naming.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit c783c6dabdab4ed92085e4fc0bed2689cf9249ba
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:10 2025 -0700
drm/xe: Add fences argument to xe_vm_range_tilemask_tlb_invalidation
Introduce a fences argument to xe_vm_range_tilemask_tlb_invalidation,
allowing callers to provide fences and defer waiting to a later point.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit 9a5708c3ccd3f99102a29888eeff4fac3e5ec574
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:09 2025 -0700
drm/xe: Skip waiting on unarmed fences in xe_gt_tlb_invalidation_fence_wait
Avoids unnecessary waits when the TLB invalidation fence has not been
armed, simplifying caller logic in cases where the fence status is
uncertain.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit 55d8d77c804087e5fad1b5ca8d2e1d8ce816b646
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:08 2025 -0700
drm/gpusvm: Add drm_gpusvm_in_notifier_* helpers
Abstract drm_gpusvm_in_notifier_lock/unlock with helpers. Intended usage
is a client side 2nd pass of a MMU notifier.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit 087aed38ceaee2daef97acd816fde538bd53b74e
Author: Matthew Brost <matthew.brost@intel.com>
Date: Thu Aug 7 22:27:07 2025 -0700
drm/gpusvm, drm/xe: Update GPU SVM / Xe to twopass MMU notifier
Update GPU SVM and Xe to use two-pass MMU notifiers, enabling pipelined
TLB invalidations across VMs or multiple devices.
The driver-side (Xe) implementation is not yet implemented.
v1:
- Update function naming and comments.
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
commit e43edf1f7e1a8fbe97157c10d0d9ec97aa7ba6e1
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Sat Aug 9 15:35:06 2025 +0200
mm/mmu_notifier: Allow two-pass struct mmu_interval_notifiers
GPU use-cases for mmu_interval_notifiers with hmm often involve
starting a gpu operation and then waiting for it to complete.
These operations are typically context preemption or TLB flushing.
With single-pass notifiers per GPU this doesn't scale in
multi-gpu scenarios. In those scenarios we'd want to first start
preemption- or TLB flushing on all GPUs and as a second pass wait
for them to complete.
One can do this on per-driver basis multiplexing per-driver
notifiers but that would mean sharing the notifier "user" lock
across all GPUs and that doesn't scale well either, so adding support
for multi-pass in the core appears to be the right choice.
Implement two-pass capability in the mmu_interval_notifier. Use a
linked list for the final passes to minimize the impact for
use-cases that don't need the multi-pass functionality by avoiding
a second interval tree walk, and to be able to easily pass data
between the two passes.
v1:
- Restrict to two passes (Jason Gunthorpe)
- Improve on documentation (Jason Gunthorpe)
- Improve on function naming (Alistair Popple)
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Dave Airlie <airlied@gmail.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: <dri-devel@lists.freedesktop.org>
Cc: <linux-mm@kvack.org>
Cc: <linux-kernel@vger.kernel.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
+ /mt/dim checkpatch 16e133c7e6922a9f224b272a48ac172cf06e3408 drm-intel
49590a511db6 Two-pass MMU notifier for CI only
-:11: WARNING:UNKNOWN_COMMIT_ID: Unknown commit id '44b594b3bbbdd454dcab9e499b5275aa1c9f0109', maybe rebased or not pulled?
#11:
commit 44b594b3bbbdd454dcab9e499b5275aa1c9f0109
-:19: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#19:
issuing them in the first pass and waiting for completion in the second.
-:24: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#24:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:35: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#35:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:35: WARNING:BAD_SIGN_OFF: Duplicate signature
#35:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:47: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#47:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:47: WARNING:BAD_SIGN_OFF: Duplicate signature
#47:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:58: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#58:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:58: WARNING:BAD_SIGN_OFF: Duplicate signature
#58:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:74: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#74:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:74: WARNING:BAD_SIGN_OFF: Duplicate signature
#74:
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
-:107: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#107:
Cc: Jason Gunthorpe <jgg@ziepe.ca>
-:108: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#108:
Cc: Andrew Morton <akpm@linux-foundation.org>
-:109: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#109:
Cc: Simona Vetter <simona.vetter@ffwll.ch>
-:110: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#110:
Cc: Dave Airlie <airlied@gmail.com>
-:111: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#111:
Cc: Alistair Popple <apopple@nvidia.com>
-:112: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#112:
Cc: <dri-devel@lists.freedesktop.org>
-:113: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#113:
Cc: <linux-mm@kvack.org>
-:114: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#114:
Cc: <linux-kernel@vger.kernel.org>
-:116: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#116:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
total: 0 errors, 20 warnings, 0 checks, 508 lines checked
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✓ CI.KUnit: success for Two-pass MMU notifier for CI only
2025-08-21 13:21 [CI] Two-pass MMU notifier for CI only Thomas Hellström
2025-08-21 14:03 ` ✗ CI.checkpatch: warning for " Patchwork
@ 2025-08-21 14:04 ` Patchwork
2025-08-21 14:43 ` ✓ Xe.CI.BAT: " Patchwork
2025-08-22 12:38 ` ✗ Xe.CI.Full: failure " Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2025-08-21 14:04 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: Two-pass MMU notifier for CI only
URL : https://patchwork.freedesktop.org/series/153295/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[14:03:33] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[14:03:37] 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
[14:04:06] Starting KUnit Kernel (1/1)...
[14:04:06] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[14:04:07] ================== guc_buf (11 subtests) ===================
[14:04:07] [PASSED] test_smallest
[14:04:07] [PASSED] test_largest
[14:04:07] [PASSED] test_granular
[14:04:07] [PASSED] test_unique
[14:04:07] [PASSED] test_overlap
[14:04:07] [PASSED] test_reusable
[14:04:07] [PASSED] test_too_big
[14:04:07] [PASSED] test_flush
[14:04:07] [PASSED] test_lookup
[14:04:07] [PASSED] test_data
[14:04:07] [PASSED] test_class
[14:04:07] ===================== [PASSED] guc_buf =====================
[14:04:07] =================== guc_dbm (7 subtests) ===================
[14:04:07] [PASSED] test_empty
[14:04:07] [PASSED] test_default
[14:04:07] ======================== test_size ========================
[14:04:07] [PASSED] 4
[14:04:07] [PASSED] 8
[14:04:07] [PASSED] 32
[14:04:07] [PASSED] 256
[14:04:07] ==================== [PASSED] test_size ====================
[14:04:07] ======================= test_reuse ========================
[14:04:07] [PASSED] 4
[14:04:07] [PASSED] 8
[14:04:07] [PASSED] 32
[14:04:07] [PASSED] 256
[14:04:07] =================== [PASSED] test_reuse ====================
[14:04:07] =================== test_range_overlap ====================
[14:04:07] [PASSED] 4
[14:04:07] [PASSED] 8
[14:04:07] [PASSED] 32
[14:04:07] [PASSED] 256
[14:04:07] =============== [PASSED] test_range_overlap ================
[14:04:07] =================== test_range_compact ====================
[14:04:07] [PASSED] 4
[14:04:07] [PASSED] 8
[14:04:07] [PASSED] 32
[14:04:07] [PASSED] 256
[14:04:07] =============== [PASSED] test_range_compact ================
[14:04:07] ==================== test_range_spare =====================
[14:04:07] [PASSED] 4
[14:04:07] [PASSED] 8
[14:04:07] [PASSED] 32
[14:04:07] [PASSED] 256
[14:04:07] ================ [PASSED] test_range_spare =================
[14:04:07] ===================== [PASSED] guc_dbm =====================
[14:04:07] =================== guc_idm (6 subtests) ===================
[14:04:07] [PASSED] bad_init
[14:04:07] [PASSED] no_init
[14:04:07] [PASSED] init_fini
[14:04:07] [PASSED] check_used
[14:04:07] [PASSED] check_quota
[14:04:07] [PASSED] check_all
[14:04:07] ===================== [PASSED] guc_idm =====================
[14:04:07] ================== no_relay (3 subtests) ===================
[14:04:07] [PASSED] xe_drops_guc2pf_if_not_ready
[14:04:07] [PASSED] xe_drops_guc2vf_if_not_ready
[14:04:07] [PASSED] xe_rejects_send_if_not_ready
[14:04:07] ==================== [PASSED] no_relay =====================
[14:04:07] ================== pf_relay (14 subtests) ==================
[14:04:07] [PASSED] pf_rejects_guc2pf_too_short
[14:04:07] [PASSED] pf_rejects_guc2pf_too_long
[14:04:07] [PASSED] pf_rejects_guc2pf_no_payload
[14:04:07] [PASSED] pf_fails_no_payload
[14:04:07] [PASSED] pf_fails_bad_origin
[14:04:07] [PASSED] pf_fails_bad_type
[14:04:07] [PASSED] pf_txn_reports_error
[14:04:07] [PASSED] pf_txn_sends_pf2guc
[14:04:07] [PASSED] pf_sends_pf2guc
[14:04:07] [SKIPPED] pf_loopback_nop
[14:04:07] [SKIPPED] pf_loopback_echo
[14:04:07] [SKIPPED] pf_loopback_fail
[14:04:07] [SKIPPED] pf_loopback_busy
[14:04:07] [SKIPPED] pf_loopback_retry
[14:04:07] ==================== [PASSED] pf_relay =====================
[14:04:07] ================== vf_relay (3 subtests) ===================
[14:04:07] [PASSED] vf_rejects_guc2vf_too_short
[14:04:07] [PASSED] vf_rejects_guc2vf_too_long
[14:04:07] [PASSED] vf_rejects_guc2vf_no_payload
[14:04:07] ==================== [PASSED] vf_relay =====================
[14:04:07] ===================== lmtt (1 subtest) =====================
[14:04:07] ======================== test_ops =========================
[14:04:07] [PASSED] 2-level
[14:04:07] [PASSED] multi-level
[14:04:07] ==================== [PASSED] test_ops =====================
[14:04:07] ====================== [PASSED] lmtt =======================
[14:04:07] ================= pf_service (11 subtests) =================
[14:04:07] [PASSED] pf_negotiate_any
[14:04:07] [PASSED] pf_negotiate_base_match
[14:04:07] [PASSED] pf_negotiate_base_newer
[14:04:07] [PASSED] pf_negotiate_base_next
[14:04:07] [SKIPPED] pf_negotiate_base_older
[14:04:07] [PASSED] pf_negotiate_base_prev
[14:04:07] [PASSED] pf_negotiate_latest_match
[14:04:07] [PASSED] pf_negotiate_latest_newer
[14:04:07] [PASSED] pf_negotiate_latest_next
[14:04:07] [SKIPPED] pf_negotiate_latest_older
[14:04:07] [SKIPPED] pf_negotiate_latest_prev
[14:04:07] =================== [PASSED] pf_service ====================
[14:04:07] =================== xe_mocs (2 subtests) ===================
[14:04:07] ================ xe_live_mocs_kernel_kunit ================
[14:04:07] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[14:04:07] ================ xe_live_mocs_reset_kunit =================
[14:04:07] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[14:04:07] ==================== [SKIPPED] xe_mocs =====================
[14:04:07] ================= xe_migrate (2 subtests) ==================
[14:04:07] ================= xe_migrate_sanity_kunit =================
[14:04:07] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[14:04:07] ================== xe_validate_ccs_kunit ==================
[14:04:07] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[14:04:07] =================== [SKIPPED] xe_migrate ===================
[14:04:07] ================== xe_dma_buf (1 subtest) ==================
[14:04:07] ==================== xe_dma_buf_kunit =====================
[14:04:07] ================ [SKIPPED] xe_dma_buf_kunit ================
[14:04:07] =================== [SKIPPED] xe_dma_buf ===================
[14:04:07] ================= xe_bo_shrink (1 subtest) =================
[14:04:07] =================== xe_bo_shrink_kunit ====================
[14:04:07] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[14:04:07] ================== [SKIPPED] xe_bo_shrink ==================
[14:04:07] ==================== xe_bo (2 subtests) ====================
[14:04:07] ================== xe_ccs_migrate_kunit ===================
[14:04:07] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[14:04:07] ==================== xe_bo_evict_kunit ====================
[14:04:07] =============== [SKIPPED] xe_bo_evict_kunit ================
[14:04:07] ===================== [SKIPPED] xe_bo ======================
[14:04:07] ==================== args (11 subtests) ====================
[14:04:07] [PASSED] count_args_test
[14:04:07] [PASSED] call_args_example
[14:04:07] [PASSED] call_args_test
[14:04:07] [PASSED] drop_first_arg_example
[14:04:07] [PASSED] drop_first_arg_test
[14:04:07] [PASSED] first_arg_example
[14:04:07] [PASSED] first_arg_test
[14:04:07] [PASSED] last_arg_example
[14:04:07] [PASSED] last_arg_test
[14:04:07] [PASSED] pick_arg_example
[14:04:07] [PASSED] sep_comma_example
[14:04:07] ====================== [PASSED] args =======================
[14:04:07] =================== xe_pci (3 subtests) ====================
[14:04:07] ==================== check_graphics_ip ====================
[14:04:07] [PASSED] 12.70 Xe_LPG
[14:04:07] [PASSED] 12.71 Xe_LPG
[14:04:07] [PASSED] 12.74 Xe_LPG+
[14:04:07] [PASSED] 20.01 Xe2_HPG
[14:04:07] [PASSED] 20.02 Xe2_HPG
[14:04:07] [PASSED] 20.04 Xe2_LPG
[14:04:07] [PASSED] 30.00 Xe3_LPG
[14:04:07] [PASSED] 30.01 Xe3_LPG
[14:04:07] [PASSED] 30.03 Xe3_LPG
[14:04:07] ================ [PASSED] check_graphics_ip ================
[14:04:07] ===================== check_media_ip ======================
[14:04:07] [PASSED] 13.00 Xe_LPM+
[14:04:07] [PASSED] 13.01 Xe2_HPM
[14:04:07] [PASSED] 20.00 Xe2_LPM
[14:04:07] [PASSED] 30.00 Xe3_LPM
[14:04:07] [PASSED] 30.02 Xe3_LPM
[14:04:07] ================= [PASSED] check_media_ip ==================
[14:04:07] ================= check_platform_gt_count =================
[14:04:07] [PASSED] 0x9A60 (TIGERLAKE)
[14:04:07] [PASSED] 0x9A68 (TIGERLAKE)
[14:04:07] [PASSED] 0x9A70 (TIGERLAKE)
[14:04:07] [PASSED] 0x9A40 (TIGERLAKE)
[14:04:07] [PASSED] 0x9A49 (TIGERLAKE)
[14:04:07] [PASSED] 0x9A59 (TIGERLAKE)
[14:04:07] [PASSED] 0x9A78 (TIGERLAKE)
[14:04:07] [PASSED] 0x9AC0 (TIGERLAKE)
[14:04:07] [PASSED] 0x9AC9 (TIGERLAKE)
[14:04:07] [PASSED] 0x9AD9 (TIGERLAKE)
[14:04:07] [PASSED] 0x9AF8 (TIGERLAKE)
[14:04:07] [PASSED] 0x4C80 (ROCKETLAKE)
[14:04:07] [PASSED] 0x4C8A (ROCKETLAKE)
[14:04:07] [PASSED] 0x4C8B (ROCKETLAKE)
[14:04:07] [PASSED] 0x4C8C (ROCKETLAKE)
[14:04:07] [PASSED] 0x4C90 (ROCKETLAKE)
[14:04:07] [PASSED] 0x4C9A (ROCKETLAKE)
[14:04:07] [PASSED] 0x4680 (ALDERLAKE_S)
[14:04:07] [PASSED] 0x4682 (ALDERLAKE_S)
[14:04:07] [PASSED] 0x4688 (ALDERLAKE_S)
[14:04:07] [PASSED] 0x468A (ALDERLAKE_S)
[14:04:07] [PASSED] 0x468B (ALDERLAKE_S)
[14:04:07] [PASSED] 0x4690 (ALDERLAKE_S)
[14:04:07] [PASSED] 0x4692 (ALDERLAKE_S)
[14:04:07] [PASSED] 0x4693 (ALDERLAKE_S)
[14:04:07] [PASSED] 0x46A0 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46A1 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46A2 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46A3 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46A6 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46A8 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46AA (ALDERLAKE_P)
[14:04:07] [PASSED] 0x462A (ALDERLAKE_P)
[14:04:07] [PASSED] 0x4626 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x4628 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46B0 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46B1 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46B2 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46B3 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46C0 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46C1 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46C2 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46C3 (ALDERLAKE_P)
[14:04:07] [PASSED] 0x46D0 (ALDERLAKE_N)
[14:04:07] [PASSED] 0x46D1 (ALDERLAKE_N)
[14:04:07] [PASSED] 0x46D2 (ALDERLAKE_N)
[14:04:07] [PASSED] 0x46D3 (ALDERLAKE_N)
[14:04:07] [PASSED] 0x46D4 (ALDERLAKE_N)
[14:04:07] [PASSED] 0xA721 (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA7A1 (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA7A9 (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA7AC (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA7AD (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA720 (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA7A0 (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA7A8 (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA7AA (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA7AB (ALDERLAKE_P)
[14:04:07] [PASSED] 0xA780 (ALDERLAKE_S)
[14:04:07] [PASSED] 0xA781 (ALDERLAKE_S)
[14:04:07] [PASSED] 0xA782 (ALDERLAKE_S)
[14:04:07] [PASSED] 0xA783 (ALDERLAKE_S)
[14:04:07] [PASSED] 0xA788 (ALDERLAKE_S)
[14:04:07] [PASSED] 0xA789 (ALDERLAKE_S)
[14:04:07] [PASSED] 0xA78A (ALDERLAKE_S)
[14:04:07] [PASSED] 0xA78B (ALDERLAKE_S)
[14:04:07] [PASSED] 0x4905 (DG1)
[14:04:07] [PASSED] 0x4906 (DG1)
[14:04:07] [PASSED] 0x4907 (DG1)
[14:04:07] [PASSED] 0x4908 (DG1)
[14:04:07] [PASSED] 0x4909 (DG1)
[14:04:07] [PASSED] 0x56C0 (DG2)
[14:04:07] [PASSED] 0x56C2 (DG2)
[14:04:07] [PASSED] 0x56C1 (DG2)
[14:04:07] [PASSED] 0x7D51 (METEORLAKE)
[14:04:07] [PASSED] 0x7DD1 (METEORLAKE)
[14:04:07] [PASSED] 0x7D41 (METEORLAKE)
[14:04:07] [PASSED] 0x7D67 (METEORLAKE)
[14:04:07] [PASSED] 0xB640 (METEORLAKE)
[14:04:07] [PASSED] 0x56A0 (DG2)
[14:04:07] [PASSED] 0x56A1 (DG2)
[14:04:07] [PASSED] 0x56A2 (DG2)
[14:04:07] [PASSED] 0x56BE (DG2)
[14:04:07] [PASSED] 0x56BF (DG2)
[14:04:07] [PASSED] 0x5690 (DG2)
[14:04:07] [PASSED] 0x5691 (DG2)
[14:04:07] [PASSED] 0x5692 (DG2)
[14:04:07] [PASSED] 0x56A5 (DG2)
[14:04:07] [PASSED] 0x56A6 (DG2)
[14:04:07] [PASSED] 0x56B0 (DG2)
[14:04:07] [PASSED] 0x56B1 (DG2)
[14:04:07] [PASSED] 0x56BA (DG2)
[14:04:07] [PASSED] 0x56BB (DG2)
[14:04:07] [PASSED] 0x56BC (DG2)
[14:04:07] [PASSED] 0x56BD (DG2)
[14:04:07] [PASSED] 0x5693 (DG2)
[14:04:07] [PASSED] 0x5694 (DG2)
[14:04:07] [PASSED] 0x5695 (DG2)
[14:04:07] [PASSED] 0x56A3 (DG2)
[14:04:07] [PASSED] 0x56A4 (DG2)
[14:04:07] [PASSED] 0x56B2 (DG2)
[14:04:07] [PASSED] 0x56B3 (DG2)
[14:04:07] [PASSED] 0x5696 (DG2)
[14:04:07] [PASSED] 0x5697 (DG2)
[14:04:07] [PASSED] 0xB69 (PVC)
[14:04:07] [PASSED] 0xB6E (PVC)
[14:04:07] [PASSED] 0xBD4 (PVC)
[14:04:07] [PASSED] 0xBD5 (PVC)
[14:04:07] [PASSED] 0xBD6 (PVC)
[14:04:07] [PASSED] 0xBD7 (PVC)
[14:04:07] [PASSED] 0xBD8 (PVC)
[14:04:07] [PASSED] 0xBD9 (PVC)
[14:04:07] [PASSED] 0xBDA (PVC)
[14:04:07] [PASSED] 0xBDB (PVC)
[14:04:07] [PASSED] 0xBE0 (PVC)
[14:04:07] [PASSED] 0xBE1 (PVC)
[14:04:07] [PASSED] 0xBE5 (PVC)
[14:04:07] [PASSED] 0x7D40 (METEORLAKE)
[14:04:07] [PASSED] 0x7D45 (METEORLAKE)
[14:04:07] [PASSED] 0x7D55 (METEORLAKE)
[14:04:07] [PASSED] 0x7D60 (METEORLAKE)
[14:04:07] [PASSED] 0x7DD5 (METEORLAKE)
[14:04:07] [PASSED] 0x6420 (LUNARLAKE)
[14:04:07] [PASSED] 0x64A0 (LUNARLAKE)
[14:04:07] [PASSED] 0x64B0 (LUNARLAKE)
[14:04:07] [PASSED] 0xE202 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE209 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE20B (BATTLEMAGE)
[14:04:07] [PASSED] 0xE20C (BATTLEMAGE)
[14:04:07] [PASSED] 0xE20D (BATTLEMAGE)
[14:04:07] [PASSED] 0xE210 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE211 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE212 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE216 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE220 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE221 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE222 (BATTLEMAGE)
[14:04:07] [PASSED] 0xE223 (BATTLEMAGE)
[14:04:07] [PASSED] 0xB080 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB081 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB082 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB083 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB084 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB085 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB086 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB087 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB08F (PANTHERLAKE)
[14:04:07] [PASSED] 0xB090 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB0A0 (PANTHERLAKE)
[14:04:07] [PASSED] 0xB0B0 (PANTHERLAKE)
[14:04:07] [PASSED] 0xFD80 (PANTHERLAKE)
[14:04:07] [PASSED] 0xFD81 (PANTHERLAKE)
[14:04:07] ============= [PASSED] check_platform_gt_count =============
[14:04:07] ===================== [PASSED] xe_pci ======================
[14:04:07] =================== xe_rtp (2 subtests) ====================
[14:04:07] =============== xe_rtp_process_to_sr_tests ================
[14:04:07] [PASSED] coalesce-same-reg
[14:04:07] [PASSED] no-match-no-add
[14:04:07] [PASSED] match-or
[14:04:07] [PASSED] match-or-xfail
[14:04:07] [PASSED] no-match-no-add-multiple-rules
[14:04:07] [PASSED] two-regs-two-entries
[14:04:07] [PASSED] clr-one-set-other
[14:04:07] [PASSED] set-field
[14:04:07] [PASSED] conflict-duplicate
[14:04:07] [PASSED] conflict-not-disjoint
[14:04:07] [PASSED] conflict-reg-type
[14:04:07] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[14:04:07] ================== xe_rtp_process_tests ===================
[14:04:07] [PASSED] active1
[14:04:07] [PASSED] active2
[14:04:07] [PASSED] active-inactive
[14:04:07] [PASSED] inactive-active
[14:04:07] [PASSED] inactive-1st_or_active-inactive
[14:04:07] [PASSED] inactive-2nd_or_active-inactive
[14:04:07] [PASSED] inactive-last_or_active-inactive
[14:04:07] [PASSED] inactive-no_or_active-inactive
[14:04:07] ============== [PASSED] xe_rtp_process_tests ===============
[14:04:07] ===================== [PASSED] xe_rtp ======================
[14:04:07] ==================== xe_wa (1 subtest) =====================
[14:04:07] ======================== xe_wa_gt =========================
[14:04:07] [PASSED] TIGERLAKE (B0)
[14:04:07] [PASSED] DG1 (A0)
[14:04:07] [PASSED] DG1 (B0)
[14:04:07] [PASSED] ALDERLAKE_S (A0)
[14:04:07] [PASSED] ALDERLAKE_S (B0)
[14:04:07] [PASSED] ALDERLAKE_S (C0)
[14:04:07] [PASSED] ALDERLAKE_S (D0)
[14:04:07] [PASSED] ALDERLAKE_P (A0)
[14:04:07] [PASSED] ALDERLAKE_P (B0)
[14:04:07] [PASSED] ALDERLAKE_P (C0)
[14:04:07] [PASSED] ALDERLAKE_S_RPLS (D0)
[14:04:07] [PASSED] ALDERLAKE_P_RPLU (E0)
[14:04:07] [PASSED] DG2_G10 (C0)
[14:04:07] [PASSED] DG2_G11 (B1)
[14:04:07] [PASSED] DG2_G12 (A1)
[14:04:07] [PASSED] METEORLAKE (g:A0, m:A0)
[14:04:07] [PASSED] METEORLAKE (g:A0, m:A0)
[14:04:07] [PASSED] METEORLAKE (g:A0, m:A0)
[14:04:07] [PASSED] LUNARLAKE (g:A0, m:A0)
[14:04:07] [PASSED] LUNARLAKE (g:B0, m:A0)
stty: 'standard input': Inappropriate ioctl for device
[14:04:07] [PASSED] BATTLEMAGE (g:A0, m:A1)
[14:04:07] ==================== [PASSED] xe_wa_gt =====================
[14:04:07] ====================== [PASSED] xe_wa ======================
[14:04:07] ============================================================
[14:04:07] Testing complete. Ran 297 tests: passed: 281, skipped: 16
[14:04:07] Elapsed time: 33.891s total, 4.261s configuring, 29.263s building, 0.336s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[14:04:07] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[14:04:09] 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
[14:04:32] Starting KUnit Kernel (1/1)...
[14:04:32] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[14:04:32] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[14:04:32] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[14:04:32] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[14:04:32] =========== drm_validate_clone_mode (2 subtests) ===========
[14:04:32] ============== drm_test_check_in_clone_mode ===============
[14:04:32] [PASSED] in_clone_mode
[14:04:32] [PASSED] not_in_clone_mode
[14:04:32] ========== [PASSED] drm_test_check_in_clone_mode ===========
[14:04:32] =============== drm_test_check_valid_clones ===============
[14:04:32] [PASSED] not_in_clone_mode
[14:04:32] [PASSED] valid_clone
[14:04:32] [PASSED] invalid_clone
[14:04:32] =========== [PASSED] drm_test_check_valid_clones ===========
[14:04:32] ============= [PASSED] drm_validate_clone_mode =============
[14:04:32] ============= drm_validate_modeset (1 subtest) =============
[14:04:32] [PASSED] drm_test_check_connector_changed_modeset
[14:04:32] ============== [PASSED] drm_validate_modeset ===============
[14:04:32] ====== drm_test_bridge_get_current_state (2 subtests) ======
[14:04:32] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[14:04:32] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[14:04:32] ======== [PASSED] drm_test_bridge_get_current_state ========
[14:04:32] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[14:04:32] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[14:04:32] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[14:04:32] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[14:04:32] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[14:04:32] ============== drm_bridge_alloc (2 subtests) ===============
[14:04:32] [PASSED] drm_test_drm_bridge_alloc_basic
[14:04:32] [PASSED] drm_test_drm_bridge_alloc_get_put
[14:04:32] ================ [PASSED] drm_bridge_alloc =================
[14:04:32] ================== drm_buddy (7 subtests) ==================
[14:04:32] [PASSED] drm_test_buddy_alloc_limit
[14:04:32] [PASSED] drm_test_buddy_alloc_optimistic
[14:04:32] [PASSED] drm_test_buddy_alloc_pessimistic
[14:04:32] [PASSED] drm_test_buddy_alloc_pathological
[14:04:32] [PASSED] drm_test_buddy_alloc_contiguous
[14:04:32] [PASSED] drm_test_buddy_alloc_clear
[14:04:32] [PASSED] drm_test_buddy_alloc_range_bias
[14:04:32] ==================== [PASSED] drm_buddy ====================
[14:04:32] ============= drm_cmdline_parser (40 subtests) =============
[14:04:32] [PASSED] drm_test_cmdline_force_d_only
[14:04:32] [PASSED] drm_test_cmdline_force_D_only_dvi
[14:04:32] [PASSED] drm_test_cmdline_force_D_only_hdmi
[14:04:32] [PASSED] drm_test_cmdline_force_D_only_not_digital
[14:04:32] [PASSED] drm_test_cmdline_force_e_only
[14:04:32] [PASSED] drm_test_cmdline_res
[14:04:32] [PASSED] drm_test_cmdline_res_vesa
[14:04:32] [PASSED] drm_test_cmdline_res_vesa_rblank
[14:04:32] [PASSED] drm_test_cmdline_res_rblank
[14:04:32] [PASSED] drm_test_cmdline_res_bpp
[14:04:32] [PASSED] drm_test_cmdline_res_refresh
[14:04:32] [PASSED] drm_test_cmdline_res_bpp_refresh
[14:04:32] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[14:04:32] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[14:04:32] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[14:04:32] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[14:04:32] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[14:04:32] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[14:04:32] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[14:04:32] [PASSED] drm_test_cmdline_res_margins_force_on
[14:04:32] [PASSED] drm_test_cmdline_res_vesa_margins
[14:04:32] [PASSED] drm_test_cmdline_name
[14:04:32] [PASSED] drm_test_cmdline_name_bpp
[14:04:32] [PASSED] drm_test_cmdline_name_option
[14:04:32] [PASSED] drm_test_cmdline_name_bpp_option
[14:04:32] [PASSED] drm_test_cmdline_rotate_0
[14:04:32] [PASSED] drm_test_cmdline_rotate_90
[14:04:32] [PASSED] drm_test_cmdline_rotate_180
[14:04:32] [PASSED] drm_test_cmdline_rotate_270
[14:04:32] [PASSED] drm_test_cmdline_hmirror
[14:04:32] [PASSED] drm_test_cmdline_vmirror
[14:04:32] [PASSED] drm_test_cmdline_margin_options
[14:04:32] [PASSED] drm_test_cmdline_multiple_options
[14:04:32] [PASSED] drm_test_cmdline_bpp_extra_and_option
[14:04:32] [PASSED] drm_test_cmdline_extra_and_option
[14:04:32] [PASSED] drm_test_cmdline_freestanding_options
[14:04:32] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[14:04:32] [PASSED] drm_test_cmdline_panel_orientation
[14:04:32] ================ drm_test_cmdline_invalid =================
[14:04:32] [PASSED] margin_only
[14:04:32] [PASSED] interlace_only
[14:04:32] [PASSED] res_missing_x
[14:04:32] [PASSED] res_missing_y
[14:04:32] [PASSED] res_bad_y
[14:04:32] [PASSED] res_missing_y_bpp
[14:04:32] [PASSED] res_bad_bpp
[14:04:32] [PASSED] res_bad_refresh
[14:04:32] [PASSED] res_bpp_refresh_force_on_off
[14:04:32] [PASSED] res_invalid_mode
[14:04:32] [PASSED] res_bpp_wrong_place_mode
[14:04:32] [PASSED] name_bpp_refresh
[14:04:32] [PASSED] name_refresh
[14:04:32] [PASSED] name_refresh_wrong_mode
[14:04:32] [PASSED] name_refresh_invalid_mode
[14:04:32] [PASSED] rotate_multiple
[14:04:32] [PASSED] rotate_invalid_val
[14:04:32] [PASSED] rotate_truncated
[14:04:32] [PASSED] invalid_option
[14:04:32] [PASSED] invalid_tv_option
[14:04:32] [PASSED] truncated_tv_option
[14:04:32] ============ [PASSED] drm_test_cmdline_invalid =============
[14:04:32] =============== drm_test_cmdline_tv_options ===============
[14:04:32] [PASSED] NTSC
[14:04:32] [PASSED] NTSC_443
[14:04:32] [PASSED] NTSC_J
[14:04:32] [PASSED] PAL
[14:04:32] [PASSED] PAL_M
[14:04:32] [PASSED] PAL_N
[14:04:32] [PASSED] SECAM
[14:04:32] [PASSED] MONO_525
[14:04:32] [PASSED] MONO_625
[14:04:32] =========== [PASSED] drm_test_cmdline_tv_options ===========
[14:04:32] =============== [PASSED] drm_cmdline_parser ================
[14:04:32] ========== drmm_connector_hdmi_init (20 subtests) ==========
[14:04:32] [PASSED] drm_test_connector_hdmi_init_valid
[14:04:32] [PASSED] drm_test_connector_hdmi_init_bpc_8
[14:04:32] [PASSED] drm_test_connector_hdmi_init_bpc_10
[14:04:32] [PASSED] drm_test_connector_hdmi_init_bpc_12
[14:04:32] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[14:04:32] [PASSED] drm_test_connector_hdmi_init_bpc_null
[14:04:32] [PASSED] drm_test_connector_hdmi_init_formats_empty
[14:04:32] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[14:04:32] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[14:04:32] [PASSED] supported_formats=0x9 yuv420_allowed=1
[14:04:32] [PASSED] supported_formats=0x9 yuv420_allowed=0
[14:04:32] [PASSED] supported_formats=0x3 yuv420_allowed=1
[14:04:32] [PASSED] supported_formats=0x3 yuv420_allowed=0
[14:04:32] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[14:04:32] [PASSED] drm_test_connector_hdmi_init_null_ddc
[14:04:32] [PASSED] drm_test_connector_hdmi_init_null_product
[14:04:32] [PASSED] drm_test_connector_hdmi_init_null_vendor
[14:04:32] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[14:04:32] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[14:04:32] [PASSED] drm_test_connector_hdmi_init_product_valid
[14:04:32] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[14:04:32] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[14:04:32] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[14:04:32] ========= drm_test_connector_hdmi_init_type_valid =========
[14:04:32] [PASSED] HDMI-A
[14:04:32] [PASSED] HDMI-B
[14:04:32] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[14:04:32] ======== drm_test_connector_hdmi_init_type_invalid ========
[14:04:32] [PASSED] Unknown
[14:04:32] [PASSED] VGA
[14:04:32] [PASSED] DVI-I
[14:04:32] [PASSED] DVI-D
[14:04:32] [PASSED] DVI-A
[14:04:32] [PASSED] Composite
[14:04:32] [PASSED] SVIDEO
[14:04:32] [PASSED] LVDS
[14:04:32] [PASSED] Component
[14:04:32] [PASSED] DIN
[14:04:32] [PASSED] DP
[14:04:32] [PASSED] TV
[14:04:32] [PASSED] eDP
[14:04:32] [PASSED] Virtual
[14:04:32] [PASSED] DSI
[14:04:32] [PASSED] DPI
[14:04:32] [PASSED] Writeback
[14:04:32] [PASSED] SPI
[14:04:32] [PASSED] USB
[14:04:32] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[14:04:32] ============ [PASSED] drmm_connector_hdmi_init =============
[14:04:32] ============= drmm_connector_init (3 subtests) =============
[14:04:32] [PASSED] drm_test_drmm_connector_init
[14:04:32] [PASSED] drm_test_drmm_connector_init_null_ddc
[14:04:32] ========= drm_test_drmm_connector_init_type_valid =========
[14:04:32] [PASSED] Unknown
[14:04:32] [PASSED] VGA
[14:04:32] [PASSED] DVI-I
[14:04:32] [PASSED] DVI-D
[14:04:32] [PASSED] DVI-A
[14:04:32] [PASSED] Composite
[14:04:32] [PASSED] SVIDEO
[14:04:32] [PASSED] LVDS
[14:04:32] [PASSED] Component
[14:04:32] [PASSED] DIN
[14:04:32] [PASSED] DP
[14:04:32] [PASSED] HDMI-A
[14:04:32] [PASSED] HDMI-B
[14:04:32] [PASSED] TV
[14:04:32] [PASSED] eDP
[14:04:32] [PASSED] Virtual
[14:04:32] [PASSED] DSI
[14:04:32] [PASSED] DPI
[14:04:32] [PASSED] Writeback
[14:04:32] [PASSED] SPI
[14:04:32] [PASSED] USB
[14:04:32] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[14:04:32] =============== [PASSED] drmm_connector_init ===============
[14:04:32] ========= drm_connector_dynamic_init (6 subtests) ==========
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_init
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_init_properties
[14:04:32] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[14:04:32] [PASSED] Unknown
[14:04:32] [PASSED] VGA
[14:04:32] [PASSED] DVI-I
[14:04:32] [PASSED] DVI-D
[14:04:32] [PASSED] DVI-A
[14:04:32] [PASSED] Composite
[14:04:32] [PASSED] SVIDEO
[14:04:32] [PASSED] LVDS
[14:04:32] [PASSED] Component
[14:04:32] [PASSED] DIN
[14:04:32] [PASSED] DP
[14:04:32] [PASSED] HDMI-A
[14:04:32] [PASSED] HDMI-B
[14:04:32] [PASSED] TV
[14:04:32] [PASSED] eDP
[14:04:32] [PASSED] Virtual
[14:04:32] [PASSED] DSI
[14:04:32] [PASSED] DPI
[14:04:32] [PASSED] Writeback
[14:04:32] [PASSED] SPI
[14:04:32] [PASSED] USB
[14:04:32] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[14:04:32] ======== drm_test_drm_connector_dynamic_init_name =========
[14:04:32] [PASSED] Unknown
[14:04:32] [PASSED] VGA
[14:04:32] [PASSED] DVI-I
[14:04:32] [PASSED] DVI-D
[14:04:32] [PASSED] DVI-A
[14:04:32] [PASSED] Composite
[14:04:32] [PASSED] SVIDEO
[14:04:32] [PASSED] LVDS
[14:04:32] [PASSED] Component
[14:04:32] [PASSED] DIN
[14:04:32] [PASSED] DP
[14:04:32] [PASSED] HDMI-A
[14:04:32] [PASSED] HDMI-B
[14:04:32] [PASSED] TV
[14:04:32] [PASSED] eDP
[14:04:32] [PASSED] Virtual
[14:04:32] [PASSED] DSI
[14:04:32] [PASSED] DPI
[14:04:32] [PASSED] Writeback
[14:04:32] [PASSED] SPI
[14:04:32] [PASSED] USB
[14:04:32] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[14:04:32] =========== [PASSED] drm_connector_dynamic_init ============
[14:04:32] ==== drm_connector_dynamic_register_early (4 subtests) =====
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[14:04:32] ====== [PASSED] drm_connector_dynamic_register_early =======
[14:04:32] ======= drm_connector_dynamic_register (7 subtests) ========
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[14:04:32] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[14:04:32] ========= [PASSED] drm_connector_dynamic_register ==========
[14:04:32] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[14:04:32] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[14:04:32] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[14:04:32] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[14:04:32] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[14:04:32] ========== drm_test_get_tv_mode_from_name_valid ===========
[14:04:32] [PASSED] NTSC
[14:04:32] [PASSED] NTSC-443
[14:04:32] [PASSED] NTSC-J
[14:04:32] [PASSED] PAL
[14:04:32] [PASSED] PAL-M
[14:04:32] [PASSED] PAL-N
[14:04:32] [PASSED] SECAM
[14:04:32] [PASSED] Mono
[14:04:32] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[14:04:32] [PASSED] drm_test_get_tv_mode_from_name_truncated
[14:04:32] ============ [PASSED] drm_get_tv_mode_from_name ============
[14:04:32] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[14:04:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[14:04:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[14:04:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[14:04:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[14:04:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[14:04:32] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[14:04:32] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[14:04:32] [PASSED] VIC 96
[14:04:32] [PASSED] VIC 97
[14:04:32] [PASSED] VIC 101
[14:04:32] [PASSED] VIC 102
[14:04:32] [PASSED] VIC 106
[14:04:32] [PASSED] VIC 107
[14:04:32] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[14:04:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[14:04:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[14:04:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[14:04:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[14:04:32] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[14:04:32] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[14:04:32] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[14:04:32] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[14:04:32] [PASSED] Automatic
[14:04:32] [PASSED] Full
[14:04:32] [PASSED] Limited 16:235
[14:04:32] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[14:04:32] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[14:04:32] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[14:04:32] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[14:04:32] === drm_test_drm_hdmi_connector_get_output_format_name ====
[14:04:32] [PASSED] RGB
[14:04:32] [PASSED] YUV 4:2:0
[14:04:32] [PASSED] YUV 4:2:2
[14:04:32] [PASSED] YUV 4:4:4
[14:04:32] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[14:04:32] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[14:04:32] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[14:04:32] ============= drm_damage_helper (21 subtests) ==============
[14:04:32] [PASSED] drm_test_damage_iter_no_damage
[14:04:32] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[14:04:32] [PASSED] drm_test_damage_iter_no_damage_src_moved
[14:04:32] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[14:04:32] [PASSED] drm_test_damage_iter_no_damage_not_visible
[14:04:32] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[14:04:32] [PASSED] drm_test_damage_iter_no_damage_no_fb
[14:04:32] [PASSED] drm_test_damage_iter_simple_damage
[14:04:32] [PASSED] drm_test_damage_iter_single_damage
[14:04:32] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[14:04:32] [PASSED] drm_test_damage_iter_single_damage_outside_src
[14:04:32] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[14:04:32] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[14:04:32] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[14:04:32] [PASSED] drm_test_damage_iter_single_damage_src_moved
[14:04:32] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[14:04:32] [PASSED] drm_test_damage_iter_damage
[14:04:32] [PASSED] drm_test_damage_iter_damage_one_intersect
[14:04:32] [PASSED] drm_test_damage_iter_damage_one_outside
[14:04:32] [PASSED] drm_test_damage_iter_damage_src_moved
[14:04:32] [PASSED] drm_test_damage_iter_damage_not_visible
[14:04:32] ================ [PASSED] drm_damage_helper ================
[14:04:32] ============== drm_dp_mst_helper (3 subtests) ==============
[14:04:32] ============== drm_test_dp_mst_calc_pbn_mode ==============
[14:04:32] [PASSED] Clock 154000 BPP 30 DSC disabled
[14:04:32] [PASSED] Clock 234000 BPP 30 DSC disabled
[14:04:32] [PASSED] Clock 297000 BPP 24 DSC disabled
[14:04:32] [PASSED] Clock 332880 BPP 24 DSC enabled
[14:04:32] [PASSED] Clock 324540 BPP 24 DSC enabled
[14:04:32] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[14:04:32] ============== drm_test_dp_mst_calc_pbn_div ===============
[14:04:32] [PASSED] Link rate 2000000 lane count 4
[14:04:32] [PASSED] Link rate 2000000 lane count 2
[14:04:32] [PASSED] Link rate 2000000 lane count 1
[14:04:32] [PASSED] Link rate 1350000 lane count 4
[14:04:32] [PASSED] Link rate 1350000 lane count 2
[14:04:32] [PASSED] Link rate 1350000 lane count 1
[14:04:32] [PASSED] Link rate 1000000 lane count 4
[14:04:32] [PASSED] Link rate 1000000 lane count 2
[14:04:32] [PASSED] Link rate 1000000 lane count 1
[14:04:32] [PASSED] Link rate 810000 lane count 4
[14:04:32] [PASSED] Link rate 810000 lane count 2
[14:04:32] [PASSED] Link rate 810000 lane count 1
[14:04:32] [PASSED] Link rate 540000 lane count 4
[14:04:32] [PASSED] Link rate 540000 lane count 2
[14:04:32] [PASSED] Link rate 540000 lane count 1
[14:04:32] [PASSED] Link rate 270000 lane count 4
[14:04:32] [PASSED] Link rate 270000 lane count 2
[14:04:32] [PASSED] Link rate 270000 lane count 1
[14:04:32] [PASSED] Link rate 162000 lane count 4
[14:04:32] [PASSED] Link rate 162000 lane count 2
[14:04:32] [PASSED] Link rate 162000 lane count 1
[14:04:32] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[14:04:32] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[14:04:32] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[14:04:32] [PASSED] DP_POWER_UP_PHY with port number
[14:04:32] [PASSED] DP_POWER_DOWN_PHY with port number
[14:04:32] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[14:04:32] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[14:04:32] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[14:04:32] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[14:04:32] [PASSED] DP_QUERY_PAYLOAD with port number
[14:04:32] [PASSED] DP_QUERY_PAYLOAD with VCPI
[14:04:32] [PASSED] DP_REMOTE_DPCD_READ with port number
[14:04:32] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[14:04:32] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[14:04:32] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[14:04:32] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[14:04:32] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[14:04:32] [PASSED] DP_REMOTE_I2C_READ with port number
[14:04:32] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[14:04:32] [PASSED] DP_REMOTE_I2C_READ with transactions array
[14:04:32] [PASSED] DP_REMOTE_I2C_WRITE with port number
[14:04:32] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[14:04:32] [PASSED] DP_REMOTE_I2C_WRITE with data array
[14:04:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[14:04:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[14:04:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[14:04:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[14:04:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[14:04:32] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[14:04:32] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[14:04:32] ================ [PASSED] drm_dp_mst_helper ================
[14:04:32] ================== drm_exec (7 subtests) ===================
[14:04:32] [PASSED] sanitycheck
[14:04:32] [PASSED] test_lock
[14:04:32] [PASSED] test_lock_unlock
[14:04:32] [PASSED] test_duplicates
[14:04:32] [PASSED] test_prepare
[14:04:32] [PASSED] test_prepare_array
[14:04:32] [PASSED] test_multiple_loops
[14:04:32] ==================== [PASSED] drm_exec =====================
[14:04:32] =========== drm_format_helper_test (17 subtests) ===========
[14:04:32] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[14:04:32] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[14:04:32] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[14:04:32] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[14:04:32] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[14:04:32] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[14:04:32] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[14:04:32] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[14:04:32] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[14:04:32] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[14:04:32] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[14:04:32] ============== drm_test_fb_xrgb8888_to_mono ===============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[14:04:32] ==================== drm_test_fb_swab =====================
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ================ [PASSED] drm_test_fb_swab =================
[14:04:32] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[14:04:32] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[14:04:32] [PASSED] single_pixel_source_buffer
[14:04:32] [PASSED] single_pixel_clip_rectangle
[14:04:32] [PASSED] well_known_colors
[14:04:32] [PASSED] destination_pitch
[14:04:32] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[14:04:32] ================= drm_test_fb_clip_offset =================
[14:04:32] [PASSED] pass through
[14:04:32] [PASSED] horizontal offset
[14:04:32] [PASSED] vertical offset
[14:04:32] [PASSED] horizontal and vertical offset
[14:04:32] [PASSED] horizontal offset (custom pitch)
[14:04:32] [PASSED] vertical offset (custom pitch)
[14:04:32] [PASSED] horizontal and vertical offset (custom pitch)
[14:04:32] ============= [PASSED] drm_test_fb_clip_offset =============
[14:04:32] =================== drm_test_fb_memcpy ====================
[14:04:32] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[14:04:32] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[14:04:32] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[14:04:32] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[14:04:32] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[14:04:32] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[14:04:32] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[14:04:32] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[14:04:32] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[14:04:32] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[14:04:32] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[14:04:32] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[14:04:32] =============== [PASSED] drm_test_fb_memcpy ================
[14:04:32] ============= [PASSED] drm_format_helper_test ==============
[14:04:32] ================= drm_format (18 subtests) =================
[14:04:32] [PASSED] drm_test_format_block_width_invalid
[14:04:32] [PASSED] drm_test_format_block_width_one_plane
[14:04:32] [PASSED] drm_test_format_block_width_two_plane
[14:04:32] [PASSED] drm_test_format_block_width_three_plane
[14:04:32] [PASSED] drm_test_format_block_width_tiled
[14:04:32] [PASSED] drm_test_format_block_height_invalid
[14:04:32] [PASSED] drm_test_format_block_height_one_plane
[14:04:32] [PASSED] drm_test_format_block_height_two_plane
[14:04:32] [PASSED] drm_test_format_block_height_three_plane
[14:04:32] [PASSED] drm_test_format_block_height_tiled
[14:04:32] [PASSED] drm_test_format_min_pitch_invalid
[14:04:32] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[14:04:32] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[14:04:32] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[14:04:32] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[14:04:32] [PASSED] drm_test_format_min_pitch_two_plane
[14:04:32] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[14:04:32] [PASSED] drm_test_format_min_pitch_tiled
[14:04:32] =================== [PASSED] drm_format ====================
[14:04:32] ============== drm_framebuffer (10 subtests) ===============
[14:04:32] ========== drm_test_framebuffer_check_src_coords ==========
[14:04:32] [PASSED] Success: source fits into fb
[14:04:32] [PASSED] Fail: overflowing fb with x-axis coordinate
[14:04:32] [PASSED] Fail: overflowing fb with y-axis coordinate
[14:04:32] [PASSED] Fail: overflowing fb with source width
[14:04:32] [PASSED] Fail: overflowing fb with source height
[14:04:32] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[14:04:32] [PASSED] drm_test_framebuffer_cleanup
[14:04:32] =============== drm_test_framebuffer_create ===============
[14:04:32] [PASSED] ABGR8888 normal sizes
[14:04:32] [PASSED] ABGR8888 max sizes
[14:04:32] [PASSED] ABGR8888 pitch greater than min required
[14:04:32] [PASSED] ABGR8888 pitch less than min required
[14:04:32] [PASSED] ABGR8888 Invalid width
[14:04:32] [PASSED] ABGR8888 Invalid buffer handle
[14:04:32] [PASSED] No pixel format
[14:04:32] [PASSED] ABGR8888 Width 0
[14:04:32] [PASSED] ABGR8888 Height 0
[14:04:32] [PASSED] ABGR8888 Out of bound height * pitch combination
[14:04:32] [PASSED] ABGR8888 Large buffer offset
[14:04:32] [PASSED] ABGR8888 Buffer offset for inexistent plane
[14:04:32] [PASSED] ABGR8888 Invalid flag
[14:04:32] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[14:04:32] [PASSED] ABGR8888 Valid buffer modifier
[14:04:32] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[14:04:32] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[14:04:32] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[14:04:32] [PASSED] NV12 Normal sizes
[14:04:32] [PASSED] NV12 Max sizes
[14:04:32] [PASSED] NV12 Invalid pitch
[14:04:32] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[14:04:32] [PASSED] NV12 different modifier per-plane
[14:04:32] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[14:04:32] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[14:04:32] [PASSED] NV12 Modifier for inexistent plane
[14:04:32] [PASSED] NV12 Handle for inexistent plane
[14:04:32] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[14:04:32] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[14:04:32] [PASSED] YVU420 Normal sizes
[14:04:32] [PASSED] YVU420 Max sizes
[14:04:32] [PASSED] YVU420 Invalid pitch
[14:04:32] [PASSED] YVU420 Different pitches
[14:04:32] [PASSED] YVU420 Different buffer offsets/pitches
[14:04:32] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[14:04:32] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[14:04:32] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[14:04:32] [PASSED] YVU420 Valid modifier
[14:04:32] [PASSED] YVU420 Different modifiers per plane
[14:04:32] [PASSED] YVU420 Modifier for inexistent plane
[14:04:32] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[14:04:32] [PASSED] X0L2 Normal sizes
[14:04:32] [PASSED] X0L2 Max sizes
[14:04:32] [PASSED] X0L2 Invalid pitch
[14:04:32] [PASSED] X0L2 Pitch greater than minimum required
[14:04:32] [PASSED] X0L2 Handle for inexistent plane
[14:04:32] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[14:04:32] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[14:04:32] [PASSED] X0L2 Valid modifier
[14:04:32] [PASSED] X0L2 Modifier for inexistent plane
[14:04:32] =========== [PASSED] drm_test_framebuffer_create ===========
[14:04:32] [PASSED] drm_test_framebuffer_free
[14:04:32] [PASSED] drm_test_framebuffer_init
[14:04:32] [PASSED] drm_test_framebuffer_init_bad_format
[14:04:32] [PASSED] drm_test_framebuffer_init_dev_mismatch
[14:04:32] [PASSED] drm_test_framebuffer_lookup
[14:04:32] [PASSED] drm_test_framebuffer_lookup_inexistent
[14:04:32] [PASSED] drm_test_framebuffer_modifiers_not_supported
[14:04:32] ================= [PASSED] drm_framebuffer =================
[14:04:32] ================ drm_gem_shmem (8 subtests) ================
[14:04:32] [PASSED] drm_gem_shmem_test_obj_create
[14:04:32] [PASSED] drm_gem_shmem_test_obj_create_private
[14:04:32] [PASSED] drm_gem_shmem_test_pin_pages
[14:04:32] [PASSED] drm_gem_shmem_test_vmap
[14:04:32] [PASSED] drm_gem_shmem_test_get_pages_sgt
[14:04:32] [PASSED] drm_gem_shmem_test_get_sg_table
[14:04:32] [PASSED] drm_gem_shmem_test_madvise
[14:04:32] [PASSED] drm_gem_shmem_test_purge
[14:04:32] ================== [PASSED] drm_gem_shmem ==================
[14:04:32] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[14:04:32] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[14:04:32] [PASSED] Automatic
[14:04:32] [PASSED] Full
[14:04:32] [PASSED] Limited 16:235
[14:04:32] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[14:04:32] [PASSED] drm_test_check_disable_connector
[14:04:32] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[14:04:32] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[14:04:32] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[14:04:32] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[14:04:32] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[14:04:32] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[14:04:32] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[14:04:32] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[14:04:32] [PASSED] drm_test_check_output_bpc_dvi
[14:04:32] [PASSED] drm_test_check_output_bpc_format_vic_1
[14:04:32] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[14:04:32] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[14:04:32] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[14:04:32] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[14:04:32] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[14:04:32] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[14:04:32] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[14:04:32] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[14:04:32] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[14:04:32] [PASSED] drm_test_check_broadcast_rgb_value
[14:04:32] [PASSED] drm_test_check_bpc_8_value
[14:04:32] [PASSED] drm_test_check_bpc_10_value
[14:04:32] [PASSED] drm_test_check_bpc_12_value
[14:04:32] [PASSED] drm_test_check_format_value
[14:04:32] [PASSED] drm_test_check_tmds_char_value
[14:04:32] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[14:04:32] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[14:04:32] [PASSED] drm_test_check_mode_valid
[14:04:32] [PASSED] drm_test_check_mode_valid_reject
[14:04:32] [PASSED] drm_test_check_mode_valid_reject_rate
[14:04:32] [PASSED] drm_test_check_mode_valid_reject_max_clock
[14:04:32] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[14:04:32] ================= drm_managed (2 subtests) =================
[14:04:32] [PASSED] drm_test_managed_release_action
[14:04:32] [PASSED] drm_test_managed_run_action
[14:04:32] =================== [PASSED] drm_managed ===================
[14:04:32] =================== drm_mm (6 subtests) ====================
[14:04:32] [PASSED] drm_test_mm_init
[14:04:32] [PASSED] drm_test_mm_debug
[14:04:32] [PASSED] drm_test_mm_align32
[14:04:32] [PASSED] drm_test_mm_align64
[14:04:32] [PASSED] drm_test_mm_lowest
[14:04:32] [PASSED] drm_test_mm_highest
[14:04:32] ===================== [PASSED] drm_mm ======================
[14:04:32] ============= drm_modes_analog_tv (5 subtests) =============
[14:04:32] [PASSED] drm_test_modes_analog_tv_mono_576i
[14:04:32] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[14:04:32] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[14:04:32] [PASSED] drm_test_modes_analog_tv_pal_576i
[14:04:32] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[14:04:32] =============== [PASSED] drm_modes_analog_tv ===============
[14:04:32] ============== drm_plane_helper (2 subtests) ===============
[14:04:32] =============== drm_test_check_plane_state ================
[14:04:32] [PASSED] clipping_simple
[14:04:32] [PASSED] clipping_rotate_reflect
[14:04:32] [PASSED] positioning_simple
[14:04:32] [PASSED] upscaling
[14:04:32] [PASSED] downscaling
[14:04:32] [PASSED] rounding1
[14:04:32] [PASSED] rounding2
[14:04:32] [PASSED] rounding3
[14:04:32] [PASSED] rounding4
[14:04:32] =========== [PASSED] drm_test_check_plane_state ============
[14:04:32] =========== drm_test_check_invalid_plane_state ============
[14:04:32] [PASSED] positioning_invalid
[14:04:32] [PASSED] upscaling_invalid
[14:04:32] [PASSED] downscaling_invalid
[14:04:32] ======= [PASSED] drm_test_check_invalid_plane_state ========
[14:04:32] ================ [PASSED] drm_plane_helper =================
[14:04:32] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[14:04:32] ====== drm_test_connector_helper_tv_get_modes_check =======
[14:04:32] [PASSED] None
[14:04:32] [PASSED] PAL
[14:04:32] [PASSED] NTSC
[14:04:32] [PASSED] Both, NTSC Default
[14:04:32] [PASSED] Both, PAL Default
[14:04:32] [PASSED] Both, NTSC Default, with PAL on command-line
[14:04:32] [PASSED] Both, PAL Default, with NTSC on command-line
[14:04:32] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[14:04:32] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[14:04:32] ================== drm_rect (9 subtests) ===================
[14:04:32] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[14:04:32] [PASSED] drm_test_rect_clip_scaled_not_clipped
[14:04:32] [PASSED] drm_test_rect_clip_scaled_clipped
[14:04:32] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[14:04:32] ================= drm_test_rect_intersect =================
[14:04:32] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[14:04:32] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[14:04:32] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[14:04:32] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[14:04:32] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[14:04:32] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[14:04:32] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[14:04:32] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[14:04:32] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[14:04:32] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[14:04:32] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[14:04:32] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[14:04:32] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[14:04:32] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[14:04:32] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[14:04:32] ============= [PASSED] drm_test_rect_intersect =============
[14:04:32] ================ drm_test_rect_calc_hscale ================
[14:04:32] [PASSED] normal use
[14:04:32] [PASSED] out of max range
[14:04:32] [PASSED] out of min range
[14:04:32] [PASSED] zero dst
[14:04:32] [PASSED] negative src
[14:04:32] [PASSED] negative dst
[14:04:32] ============ [PASSED] drm_test_rect_calc_hscale ============
[14:04:32] ================ drm_test_rect_calc_vscale ================
[14:04:32] [PASSED] normal use
[14:04:32] [PASSED] out of max range
[14:04:32] [PASSED] out of min range
[14:04:32] [PASSED] zero dst
[14:04:32] [PASSED] negative src
[14:04:32] [PASSED] negative dst
[14:04:32] ============ [PASSED] drm_test_rect_calc_vscale ============
[14:04:32] ================== drm_test_rect_rotate ===================
[14:04:32] [PASSED] reflect-x
[14:04:32] [PASSED] reflect-y
[14:04:32] [PASSED] rotate-0
[14:04:32] [PASSED] rotate-90
[14:04:32] [PASSED] rotate-180
[14:04:32] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[14:04:32] ============== [PASSED] drm_test_rect_rotate ===============
[14:04:32] ================ drm_test_rect_rotate_inv =================
[14:04:32] [PASSED] reflect-x
[14:04:32] [PASSED] reflect-y
[14:04:32] [PASSED] rotate-0
[14:04:32] [PASSED] rotate-90
[14:04:32] [PASSED] rotate-180
[14:04:32] [PASSED] rotate-270
[14:04:32] ============ [PASSED] drm_test_rect_rotate_inv =============
[14:04:32] ==================== [PASSED] drm_rect =====================
[14:04:32] ============ drm_sysfb_modeset_test (1 subtest) ============
[14:04:32] ============ drm_test_sysfb_build_fourcc_list =============
[14:04:32] [PASSED] no native formats
[14:04:32] [PASSED] XRGB8888 as native format
[14:04:32] [PASSED] remove duplicates
[14:04:32] [PASSED] convert alpha formats
[14:04:32] [PASSED] random formats
[14:04:32] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[14:04:32] ============= [PASSED] drm_sysfb_modeset_test ==============
[14:04:32] ============================================================
[14:04:32] Testing complete. Ran 616 tests: passed: 616
[14:04:32] Elapsed time: 25.285s total, 1.771s configuring, 23.295s building, 0.182s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[14:04:32] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[14:04:34] 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
[14:04:42] Starting KUnit Kernel (1/1)...
[14:04:42] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[14:04:42] ================= ttm_device (5 subtests) ==================
[14:04:42] [PASSED] ttm_device_init_basic
[14:04:42] [PASSED] ttm_device_init_multiple
[14:04:42] [PASSED] ttm_device_fini_basic
[14:04:42] [PASSED] ttm_device_init_no_vma_man
[14:04:42] ================== ttm_device_init_pools ==================
[14:04:42] [PASSED] No DMA allocations, no DMA32 required
[14:04:42] [PASSED] DMA allocations, DMA32 required
[14:04:42] [PASSED] No DMA allocations, DMA32 required
[14:04:42] [PASSED] DMA allocations, no DMA32 required
[14:04:42] ============== [PASSED] ttm_device_init_pools ==============
[14:04:42] =================== [PASSED] ttm_device ====================
[14:04:42] ================== ttm_pool (8 subtests) ===================
[14:04:42] ================== ttm_pool_alloc_basic ===================
[14:04:42] [PASSED] One page
[14:04:42] [PASSED] More than one page
[14:04:42] [PASSED] Above the allocation limit
[14:04:42] [PASSED] One page, with coherent DMA mappings enabled
[14:04:42] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[14:04:42] ============== [PASSED] ttm_pool_alloc_basic ===============
[14:04:42] ============== ttm_pool_alloc_basic_dma_addr ==============
[14:04:42] [PASSED] One page
[14:04:42] [PASSED] More than one page
[14:04:42] [PASSED] Above the allocation limit
[14:04:42] [PASSED] One page, with coherent DMA mappings enabled
[14:04:42] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[14:04:42] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[14:04:42] [PASSED] ttm_pool_alloc_order_caching_match
[14:04:42] [PASSED] ttm_pool_alloc_caching_mismatch
[14:04:42] [PASSED] ttm_pool_alloc_order_mismatch
[14:04:42] [PASSED] ttm_pool_free_dma_alloc
[14:04:42] [PASSED] ttm_pool_free_no_dma_alloc
[14:04:42] [PASSED] ttm_pool_fini_basic
[14:04:42] ==================== [PASSED] ttm_pool =====================
[14:04:42] ================ ttm_resource (8 subtests) =================
[14:04:42] ================= ttm_resource_init_basic =================
[14:04:42] [PASSED] Init resource in TTM_PL_SYSTEM
[14:04:42] [PASSED] Init resource in TTM_PL_VRAM
[14:04:42] [PASSED] Init resource in a private placement
[14:04:42] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[14:04:42] ============= [PASSED] ttm_resource_init_basic =============
[14:04:42] [PASSED] ttm_resource_init_pinned
[14:04:42] [PASSED] ttm_resource_fini_basic
[14:04:42] [PASSED] ttm_resource_manager_init_basic
[14:04:42] [PASSED] ttm_resource_manager_usage_basic
[14:04:42] [PASSED] ttm_resource_manager_set_used_basic
[14:04:42] [PASSED] ttm_sys_man_alloc_basic
[14:04:42] [PASSED] ttm_sys_man_free_basic
[14:04:42] ================== [PASSED] ttm_resource ===================
[14:04:42] =================== ttm_tt (15 subtests) ===================
[14:04:42] ==================== ttm_tt_init_basic ====================
[14:04:42] [PASSED] Page-aligned size
[14:04:42] [PASSED] Extra pages requested
[14:04:42] ================ [PASSED] ttm_tt_init_basic ================
[14:04:42] [PASSED] ttm_tt_init_misaligned
[14:04:42] [PASSED] ttm_tt_fini_basic
[14:04:42] [PASSED] ttm_tt_fini_sg
[14:04:42] [PASSED] ttm_tt_fini_shmem
[14:04:42] [PASSED] ttm_tt_create_basic
[14:04:42] [PASSED] ttm_tt_create_invalid_bo_type
[14:04:42] [PASSED] ttm_tt_create_ttm_exists
[14:04:42] [PASSED] ttm_tt_create_failed
[14:04:42] [PASSED] ttm_tt_destroy_basic
[14:04:42] [PASSED] ttm_tt_populate_null_ttm
[14:04:42] [PASSED] ttm_tt_populate_populated_ttm
[14:04:42] [PASSED] ttm_tt_unpopulate_basic
[14:04:42] [PASSED] ttm_tt_unpopulate_empty_ttm
[14:04:42] [PASSED] ttm_tt_swapin_basic
[14:04:42] ===================== [PASSED] ttm_tt ======================
[14:04:42] =================== ttm_bo (14 subtests) ===================
[14:04:42] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[14:04:42] [PASSED] Cannot be interrupted and sleeps
[14:04:42] [PASSED] Cannot be interrupted, locks straight away
[14:04:42] [PASSED] Can be interrupted, sleeps
[14:04:42] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[14:04:42] [PASSED] ttm_bo_reserve_locked_no_sleep
[14:04:42] [PASSED] ttm_bo_reserve_no_wait_ticket
[14:04:42] [PASSED] ttm_bo_reserve_double_resv
[14:04:42] [PASSED] ttm_bo_reserve_interrupted
[14:04:42] [PASSED] ttm_bo_reserve_deadlock
[14:04:42] [PASSED] ttm_bo_unreserve_basic
[14:04:42] [PASSED] ttm_bo_unreserve_pinned
[14:04:42] [PASSED] ttm_bo_unreserve_bulk
[14:04:42] [PASSED] ttm_bo_put_basic
[14:04:42] [PASSED] ttm_bo_put_shared_resv
[14:04:42] [PASSED] ttm_bo_pin_basic
[14:04:42] [PASSED] ttm_bo_pin_unpin_resource
[14:04:42] [PASSED] ttm_bo_multiple_pin_one_unpin
[14:04:42] ===================== [PASSED] ttm_bo ======================
[14:04:42] ============== ttm_bo_validate (21 subtests) ===============
[14:04:42] ============== ttm_bo_init_reserved_sys_man ===============
[14:04:42] [PASSED] Buffer object for userspace
[14:04:42] [PASSED] Kernel buffer object
[14:04:42] [PASSED] Shared buffer object
[14:04:42] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[14:04:42] ============== ttm_bo_init_reserved_mock_man ==============
[14:04:42] [PASSED] Buffer object for userspace
[14:04:42] [PASSED] Kernel buffer object
[14:04:42] [PASSED] Shared buffer object
[14:04:42] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[14:04:42] [PASSED] ttm_bo_init_reserved_resv
[14:04:42] ================== ttm_bo_validate_basic ==================
[14:04:42] [PASSED] Buffer object for userspace
[14:04:42] [PASSED] Kernel buffer object
[14:04:42] [PASSED] Shared buffer object
[14:04:42] ============== [PASSED] ttm_bo_validate_basic ==============
[14:04:42] [PASSED] ttm_bo_validate_invalid_placement
[14:04:42] ============= ttm_bo_validate_same_placement ==============
[14:04:42] [PASSED] System manager
[14:04:42] [PASSED] VRAM manager
[14:04:42] ========= [PASSED] ttm_bo_validate_same_placement ==========
[14:04:42] [PASSED] ttm_bo_validate_failed_alloc
[14:04:42] [PASSED] ttm_bo_validate_pinned
[14:04:42] [PASSED] ttm_bo_validate_busy_placement
[14:04:42] ================ ttm_bo_validate_multihop =================
[14:04:42] [PASSED] Buffer object for userspace
[14:04:42] [PASSED] Kernel buffer object
[14:04:42] [PASSED] Shared buffer object
[14:04:42] ============ [PASSED] ttm_bo_validate_multihop =============
[14:04:42] ========== ttm_bo_validate_no_placement_signaled ==========
[14:04:42] [PASSED] Buffer object in system domain, no page vector
[14:04:42] [PASSED] Buffer object in system domain with an existing page vector
[14:04:42] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[14:04:42] ======== ttm_bo_validate_no_placement_not_signaled ========
[14:04:42] [PASSED] Buffer object for userspace
[14:04:42] [PASSED] Kernel buffer object
[14:04:42] [PASSED] Shared buffer object
[14:04:42] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[14:04:42] [PASSED] ttm_bo_validate_move_fence_signaled
[14:04:42] ========= ttm_bo_validate_move_fence_not_signaled =========
[14:04:42] [PASSED] Waits for GPU
[14:04:42] [PASSED] Tries to lock straight away
[14:04:42] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[14:04:42] [PASSED] ttm_bo_validate_happy_evict
[14:04:42] [PASSED] ttm_bo_validate_all_pinned_evict
[14:04:42] [PASSED] ttm_bo_validate_allowed_only_evict
[14:04:42] [PASSED] ttm_bo_validate_deleted_evict
[14:04:42] [PASSED] ttm_bo_validate_busy_domain_evict
[14:04:42] [PASSED] ttm_bo_validate_evict_gutting
[14:04:42] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[14:04:42] ================= [PASSED] ttm_bo_validate =================
[14:04:42] ============================================================
[14:04:42] Testing complete. Ran 101 tests: passed: 101
[14:04:42] Elapsed time: 9.769s total, 1.651s configuring, 7.902s building, 0.186s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✓ Xe.CI.BAT: success for Two-pass MMU notifier for CI only
2025-08-21 13:21 [CI] Two-pass MMU notifier for CI only Thomas Hellström
2025-08-21 14:03 ` ✗ CI.checkpatch: warning for " Patchwork
2025-08-21 14:04 ` ✓ CI.KUnit: success " Patchwork
@ 2025-08-21 14:43 ` Patchwork
2025-08-22 12:38 ` ✗ Xe.CI.Full: failure " Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2025-08-21 14:43 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 2615 bytes --]
== Series Details ==
Series: Two-pass MMU notifier for CI only
URL : https://patchwork.freedesktop.org/series/153295/
State : success
== Summary ==
CI Bug Log - changes from xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408_BAT -> xe-pw-153295v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (11 -> 11)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-153295v1_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_flip@basic-plain-flip@d-edp1:
- bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#4543])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/bat-adlp-7/igt@kms_flip@basic-plain-flip@d-edp1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/bat-adlp-7/igt@kms_flip@basic-plain-flip@d-edp1.html
#### Possible fixes ####
* igt@kms_flip@basic-flip-vs-wf_vblank:
- bat-adlp-7: [DMESG-WARN][3] ([Intel XE#4543]) -> [PASS][4] +2 other tests pass
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank.html
* igt@xe_vm@bind-execqueues-independent:
- {bat-ptl-2}: [FAIL][5] ([Intel XE#5783]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/bat-ptl-2/igt@xe_vm@bind-execqueues-independent.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/bat-ptl-2/igt@xe_vm@bind-execqueues-independent.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#5783]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5783
Build changes
-------------
* IGT: IGT_8501 -> IGT_8503
* Linux: xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408 -> xe-pw-153295v1
IGT_8501: 87027eb34ac38b8217351eeaa021aeae847b6b61 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8503: 8503
xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408: 16e133c7e6922a9f224b272a48ac172cf06e3408
xe-pw-153295v1: 153295v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/index.html
[-- Attachment #2: Type: text/html, Size: 3336 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✗ Xe.CI.Full: failure for Two-pass MMU notifier for CI only
2025-08-21 13:21 [CI] Two-pass MMU notifier for CI only Thomas Hellström
` (2 preceding siblings ...)
2025-08-21 14:43 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-08-22 12:38 ` Patchwork
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2025-08-22 12:38 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 42393 bytes --]
== Series Details ==
Series: Two-pass MMU notifier for CI only
URL : https://patchwork.freedesktop.org/series/153295/
State : failure
== Summary ==
CI Bug Log - changes from xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408_FULL -> xe-pw-153295v1_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-153295v1_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-153295v1_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-153295v1_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@xe_exec_fault_mode@many-userptr-rebind:
- shard-lnl: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-lnl-4/igt@xe_exec_fault_mode@many-userptr-rebind.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-4/igt@xe_exec_fault_mode@many-userptr-rebind.html
Known issues
------------
Here are the changes found in xe-pw-153295v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
- shard-lnl: [PASS][3] -> [FAIL][4] ([Intel XE#911]) +3 other tests fail
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-lnl-5/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-8/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
* igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1:
- shard-lnl: NOTRUN -> [FAIL][5] ([Intel XE#911]) +3 other tests fail
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-4/igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1.html
* igt@kms_async_flips@crc-atomic@pipe-d-hdmi-a-1:
- shard-adlp: [PASS][6] -> [FAIL][7] ([Intel XE#3884]) +1 other test fail
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-2/igt@kms_async_flips@crc-atomic@pipe-d-hdmi-a-1.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-2/igt@kms_async_flips@crc-atomic@pipe-d-hdmi-a-1.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][8] ([Intel XE#1407])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-3/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-16bpp-rotate-180:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#1124]) +2 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-adlp: [PASS][10] -> [DMESG-FAIL][11] ([Intel XE#4543]) +15 other tests dmesg-fail
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-9/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-lnl: NOTRUN -> [SKIP][12] ([Intel XE#1124]) +3 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-3/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
- shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#2191])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-1/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs:
- shard-bmg: NOTRUN -> [SKIP][14] ([Intel XE#2887]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-2/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#2669]) +3 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-5/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-2:
- shard-dg2-set2: NOTRUN -> [SKIP][16] ([Intel XE#787]) +111 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-432/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#2887]) +5 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: [PASS][18] -> [INCOMPLETE][19] ([Intel XE#3862]) +1 other test incomplete
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [PASS][20] -> [INCOMPLETE][21] ([Intel XE#3862])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-dg2-435/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-432/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
- shard-lnl: NOTRUN -> [SKIP][22] ([Intel XE#3432])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-5/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-2:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][23] ([Intel XE#3862])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-432/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-d-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][24] ([Intel XE#455] / [Intel XE#787]) +16 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-d-dp-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][25] ([Intel XE#2705] / [Intel XE#4212]) +1 other test incomplete
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4.html
* igt@kms_cdclk@mode-transition@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][26] ([Intel XE#4417]) +3 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-463/igt@kms_cdclk@mode-transition@pipe-d-dp-4.html
* igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#373]) +1 other test skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-8/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x512:
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#2321])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-3/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-lnl: NOTRUN -> [SKIP][29] ([Intel XE#309]) +2 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-4/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
- shard-bmg: [PASS][30] -> [SKIP][31] ([Intel XE#2291]) +2 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-7/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [PASS][32] -> [FAIL][33] ([Intel XE#4633])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-8/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-8/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@single-bo:
- shard-bmg: [PASS][34] -> [DMESG-WARN][35] ([Intel XE#5354]) +1 other test dmesg-warn
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-3/igt@kms_cursor_legacy@single-bo.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-1/igt@kms_cursor_legacy@single-bo.html
* igt@kms_dp_aux_dev:
- shard-bmg: [PASS][36] -> [SKIP][37] ([Intel XE#3009])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-7/igt@kms_dp_aux_dev.html
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_dp_aux_dev.html
* igt@kms_feature_discovery@display-2x:
- shard-bmg: [PASS][38] -> [SKIP][39] ([Intel XE#2373])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-7/igt@kms_feature_discovery@display-2x.html
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_feature_discovery@display-2x.html
* igt@kms_flip@2x-dpms-vs-vblank-race:
- shard-lnl: NOTRUN -> [SKIP][40] ([Intel XE#1421]) +2 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-5/igt@kms_flip@2x-dpms-vs-vblank-race.html
- shard-bmg: NOTRUN -> [SKIP][41] ([Intel XE#2316])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_flip@2x-dpms-vs-vblank-race.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible:
- shard-bmg: [PASS][42] -> [SKIP][43] ([Intel XE#2316]) +4 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-5/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
* igt@kms_flip@bo-too-big-interruptible@a-edp1:
- shard-lnl: NOTRUN -> [TIMEOUT][44] ([Intel XE#1504] / [Intel XE#5737]) +1 other test timeout
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-8/igt@kms_flip@bo-too-big-interruptible@a-edp1.html
* igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
- shard-adlp: [PASS][45] -> [DMESG-WARN][46] ([Intel XE#4543]) +8 other tests dmesg-warn
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-4/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-3/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
* igt@kms_flip@flip-vs-rmfb-interruptible:
- shard-adlp: [PASS][47] -> [DMESG-WARN][48] ([Intel XE#4543] / [Intel XE#5208])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-8/igt@kms_flip@flip-vs-rmfb-interruptible.html
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-6/igt@kms_flip@flip-vs-rmfb-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1:
- shard-adlp: [PASS][49] -> [DMESG-WARN][50] ([Intel XE#2953] / [Intel XE#4173]) +3 other tests dmesg-warn
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend@c-hdmi-a6:
- shard-dg2-set2: [PASS][51] -> [INCOMPLETE][52] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-dg2-463/igt@kms_flip@flip-vs-suspend@c-hdmi-a6.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-435/igt@kms_flip@flip-vs-suspend@c-hdmi-a6.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#2311])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-onoff:
- shard-lnl: NOTRUN -> [SKIP][54] ([Intel XE#651]) +3 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-1/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#656]) +7 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-5/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][56] ([Intel XE#651])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt:
- shard-bmg: NOTRUN -> [SKIP][57] ([Intel XE#2313])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
- shard-dg2-set2: NOTRUN -> [SKIP][58] ([Intel XE#653]) +1 other test skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
* igt@kms_hdr@static-toggle-dpms:
- shard-bmg: [PASS][59] -> [SKIP][60] ([Intel XE#1503])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-3/igt@kms_hdr@static-toggle-dpms.html
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_pm_dc@dc5-psr:
- shard-lnl: [PASS][61] -> [FAIL][62] ([Intel XE#718])
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-lnl-1/igt@kms_pm_dc@dc5-psr.html
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-5/igt@kms_pm_dc@dc5-psr.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][63] ([Intel XE#4608] / [Intel XE#5899]) +3 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-3/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-b-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][64] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#5899]) +1 other test skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-2/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr@fbc-psr2-sprite-blt@edp-1:
- shard-lnl: NOTRUN -> [SKIP][65] ([Intel XE#4609] / [Intel XE#5899])
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-3/igt@kms_psr@fbc-psr2-sprite-blt@edp-1.html
* igt@kms_psr@pr-sprite-render:
- shard-lnl: NOTRUN -> [SKIP][66] ([Intel XE#1406] / [Intel XE#5899]) +1 other test skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-4/igt@kms_psr@pr-sprite-render.html
* igt@kms_psr@psr2-cursor-blt:
- shard-bmg: NOTRUN -> [SKIP][67] ([Intel XE#2234] / [Intel XE#2850] / [Intel XE#5899]) +1 other test skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_psr@psr2-cursor-blt.html
- shard-lnl: NOTRUN -> [SKIP][68] ([Intel XE#5784] / [Intel XE#5899]) +2 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-3/igt@kms_psr@psr2-cursor-blt.html
* igt@kms_rotation_crc@bad-tiling:
- shard-lnl: NOTRUN -> [SKIP][69] ([Intel XE#3414] / [Intel XE#3904])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-7/igt@kms_rotation_crc@bad-tiling.html
- shard-bmg: NOTRUN -> [SKIP][70] ([Intel XE#3414] / [Intel XE#3904])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-1/igt@kms_rotation_crc@bad-tiling.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-lnl: NOTRUN -> [SKIP][71] ([Intel XE#1091] / [Intel XE#2849])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-2/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
* igt@xe_eudebug@basic-client:
- shard-dg2-set2: NOTRUN -> [SKIP][72] ([Intel XE#4837])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-436/igt@xe_eudebug@basic-client.html
* igt@xe_eudebug@basic-connect:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#4837]) +4 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-4/igt@xe_eudebug@basic-connect.html
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#4837])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@xe_eudebug@basic-connect.html
* igt@xe_evict@evict-small-cm:
- shard-lnl: NOTRUN -> [SKIP][75] ([Intel XE#688]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-8/igt@xe_evict@evict-small-cm.html
* igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap:
- shard-dg2-set2: [PASS][76] -> [SKIP][77] ([Intel XE#1392]) +3 other tests skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-dg2-433/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
* igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race:
- shard-lnl: NOTRUN -> [SKIP][78] ([Intel XE#1392])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-4/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race.html
* igt@xe_exec_fault_mode@many-execqueues-invalid-userptr-fault:
- shard-adlp: NOTRUN -> [SKIP][79] ([Intel XE#288] / [Intel XE#5561])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-9/igt@xe_exec_fault_mode@many-execqueues-invalid-userptr-fault.html
- shard-dg2-set2: NOTRUN -> [SKIP][80] ([Intel XE#288]) +3 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-434/igt@xe_exec_fault_mode@many-execqueues-invalid-userptr-fault.html
* igt@xe_exec_reset@parallel-gt-reset:
- shard-dg2-set2: [PASS][81] -> [DMESG-WARN][82] ([Intel XE#3876])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-dg2-433/igt@xe_exec_reset@parallel-gt-reset.html
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-435/igt@xe_exec_reset@parallel-gt-reset.html
* igt@xe_exec_system_allocator@once-large-mmap-free-huge-nomemset:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#4943]) +1 other test skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-5/igt@xe_exec_system_allocator@once-large-mmap-free-huge-nomemset.html
* igt@xe_exec_system_allocator@process-many-mmap-huge-nomemset:
- shard-lnl: NOTRUN -> [SKIP][84] ([Intel XE#4943]) +4 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-1/igt@xe_exec_system_allocator@process-many-mmap-huge-nomemset.html
* igt@xe_exec_system_allocator@threads-many-large-mmap-remap-eocheck:
- shard-adlp: NOTRUN -> [SKIP][85] ([Intel XE#4915]) +1 other test skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-1/igt@xe_exec_system_allocator@threads-many-large-mmap-remap-eocheck.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-race-nomemset:
- shard-dg2-set2: NOTRUN -> [SKIP][86] ([Intel XE#4915]) +12 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-435/igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-race-nomemset.html
* igt@xe_exec_threads@threads-hang-shared-vm-userptr-invalidate:
- shard-adlp: [PASS][87] -> [DMESG-FAIL][88] ([Intel XE#3876]) +1 other test dmesg-fail
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-3/igt@xe_exec_threads@threads-hang-shared-vm-userptr-invalidate.html
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-6/igt@xe_exec_threads@threads-hang-shared-vm-userptr-invalidate.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- shard-lnl: NOTRUN -> [SKIP][89] ([Intel XE#2229])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-4/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
* igt@xe_pmu@fn-engine-activity-sched-if-idle:
- shard-bmg: [PASS][90] -> [DMESG-WARN][91] ([Intel XE#3876])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-4/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
#### Possible fixes ####
* igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y:
- shard-adlp: [DMESG-WARN][92] ([Intel XE#4543]) -> [PASS][93] +21 other tests pass
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-9/igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-6/igt@kms_async_flips@async-flip-with-page-flip-events-tiled@pipe-b-hdmi-a-1-y.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-adlp: [DMESG-FAIL][94] ([Intel XE#4543]) -> [PASS][95] +7 other tests pass
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-4/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-8/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-bmg: [SKIP][96] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][97]
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-1/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-bmg: [SKIP][98] ([Intel XE#2316]) -> [PASS][99]
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@kms_flip@2x-flip-vs-expired-vblank.html
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-8/igt@kms_flip@2x-flip-vs-expired-vblank.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-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
- shard-adlp: [DMESG-FAIL][102] ([Intel XE#4543] / [Intel XE#4921]) -> [PASS][103] +1 other test pass
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-9/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-bmg: [SKIP][104] ([Intel XE#3012]) -> [PASS][105]
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@kms_joiner@basic-force-big-joiner.html
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-7/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_mmap_write_crc@main:
- shard-lnl: [ABORT][106] ([Intel XE#5902]) -> [PASS][107] +1 other test pass
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-lnl-5/igt@kms_mmap_write_crc@main.html
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-8/igt@kms_mmap_write_crc@main.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-bmg: [SKIP][108] ([Intel XE#4596]) -> [PASS][109]
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-4.html
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-2/igt@kms_plane_multiple@2x-tiling-4.html
* igt@kms_pm_dc@dc6-dpms:
- shard-lnl: [FAIL][110] ([Intel XE#718]) -> [PASS][111] +1 other test pass
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-lnl-5/igt@kms_pm_dc@dc6-dpms.html
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-1/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_vblank@ts-continuation-dpms-suspend:
- shard-adlp: [DMESG-WARN][112] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][113] +3 other tests pass
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-9/igt@kms_vblank@ts-continuation-dpms-suspend.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-6/igt@kms_vblank@ts-continuation-dpms-suspend.html
* igt@kms_vrr@cmrr@pipe-a-edp-1:
- shard-lnl: [FAIL][114] ([Intel XE#4459]) -> [PASS][115] +1 other test pass
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-lnl-7/igt@kms_vrr@cmrr@pipe-a-edp-1.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-1/igt@kms_vrr@cmrr@pipe-a-edp-1.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-dg2-set2: [SKIP][116] ([Intel XE#1392]) -> [PASS][117] +7 other tests pass
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-463/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-rebind-imm:
- shard-lnl: [FAIL][118] -> [PASS][119]
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-lnl-2/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-rebind-imm.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-lnl-8/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-rebind-imm.html
* igt@xe_exec_fault_mode@many-execqueues-userptr-rebind-imm:
- shard-bmg: [FAIL][120] -> [PASS][121]
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-2/igt@xe_exec_fault_mode@many-execqueues-userptr-rebind-imm.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-2/igt@xe_exec_fault_mode@many-execqueues-userptr-rebind-imm.html
* igt@xe_exec_threads@threads-hang-userptr-rebind:
- shard-dg2-set2: [DMESG-WARN][122] ([Intel XE#3876]) -> [PASS][123]
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-dg2-434/igt@xe_exec_threads@threads-hang-userptr-rebind.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-432/igt@xe_exec_threads@threads-hang-userptr-rebind.html
* igt@xe_exec_threads@threads-mixed-fd-rebind:
- shard-adlp: [DMESG-FAIL][124] ([Intel XE#3876]) -> [PASS][125]
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-9/igt@xe_exec_threads@threads-mixed-fd-rebind.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-2/igt@xe_exec_threads@threads-mixed-fd-rebind.html
* igt@xe_sriov_flr@flr-each-isolation:
- shard-bmg: [FAIL][126] ([Intel XE#5937]) -> [PASS][127]
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-3/igt@xe_sriov_flr@flr-each-isolation.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-5/igt@xe_sriov_flr@flr-each-isolation.html
#### Warnings ####
* igt@kms_content_protection@legacy:
- shard-bmg: [FAIL][128] ([Intel XE#1178]) -> [SKIP][129] ([Intel XE#2341]) +1 other test skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-3/igt@kms_content_protection@legacy.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_content_protection@legacy.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-adlp: [DMESG-WARN][130] ([Intel XE#4543]) -> [DMESG-WARN][131] ([Intel XE#2953] / [Intel XE#4173])
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render:
- shard-bmg: [SKIP][132] ([Intel XE#2312]) -> [SKIP][133] ([Intel XE#2311]) +4 other tests skip
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
- shard-bmg: [SKIP][134] ([Intel XE#5390]) -> [SKIP][135] ([Intel XE#2312]) +3 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][136] ([Intel XE#2312]) -> [SKIP][137] ([Intel XE#5390]) +3 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt:
- shard-bmg: [SKIP][138] ([Intel XE#2311]) -> [SKIP][139] ([Intel XE#2312]) +10 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt:
- shard-bmg: [SKIP][140] ([Intel XE#2312]) -> [SKIP][141] ([Intel XE#2313]) +8 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt:
- shard-bmg: [SKIP][142] ([Intel XE#2313]) -> [SKIP][143] ([Intel XE#2312]) +8 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt.html
* igt@kms_hdr@brightness-with-hdr:
- shard-bmg: [SKIP][144] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][145] ([Intel XE#3544])
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-set2: [SKIP][146] ([Intel XE#362]) -> [SKIP][147] ([Intel XE#1500])
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/shard-dg2-436/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
[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#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#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1504
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[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#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
[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#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
[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#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#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[Intel XE#3884]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3884
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[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#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
[Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
[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#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
[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#4921]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4921
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
[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#5561]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5561
[Intel XE#5737]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5737
[Intel XE#5784]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5784
[Intel XE#5899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5899
[Intel XE#5902]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5902
[Intel XE#5937]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5937
[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#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/911
Build changes
-------------
* IGT: IGT_8501 -> IGT_8503
* Linux: xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408 -> xe-pw-153295v1
IGT_8501: 87027eb34ac38b8217351eeaa021aeae847b6b61 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8503: 8503
xe-3591-16e133c7e6922a9f224b272a48ac172cf06e3408: 16e133c7e6922a9f224b272a48ac172cf06e3408
xe-pw-153295v1: 153295v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153295v1/index.html
[-- Attachment #2: Type: text/html, Size: 48447 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-08-22 12:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-21 13:21 [CI] Two-pass MMU notifier for CI only Thomas Hellström
2025-08-21 14:03 ` ✗ CI.checkpatch: warning for " Patchwork
2025-08-21 14:04 ` ✓ CI.KUnit: success " Patchwork
2025-08-21 14:43 ` ✓ Xe.CI.BAT: " Patchwork
2025-08-22 12:38 ` ✗ Xe.CI.Full: failure " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.