* [PATCH v4 0/2] Enhance SVM stats
@ 2025-08-19 18:53 Matthew Brost
2025-08-19 18:53 ` [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs Matthew Brost
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Matthew Brost @ 2025-08-19 18:53 UTC (permalink / raw)
To: intel-xe
Add ability to clear GT stats and add more SVM stats for profiling.
Scripts should be able to be built on top of stats to breakdown time
spent in parts of the SVM page fault handler, bandwidth of copy engine,
etc... Will help showing concrete performance improvements when
implementing SVM optimizations.
Open suggestions of more stats. Prefetch not considered - can be done in
a follow up.
Scritpt to parse stats for reference: https://pastebin.com/rZZN5sgh
v2:
- Include local changes missed in first rev
v3:
- More stats after putting together script to parse
v4:
- Rebase
Matthew Brost (2):
drm/xe: Add clear_stats GT debugfs
drm/xe: Add more SVM GT stats
drivers/gpu/drm/xe/xe_gt_debugfs.c | 22 +++
drivers/gpu/drm/xe/xe_gt_stats.c | 47 ++++++
drivers/gpu/drm/xe/xe_gt_stats.h | 1 +
drivers/gpu/drm/xe/xe_gt_stats_types.h | 33 +++++
drivers/gpu/drm/xe/xe_svm.c | 194 +++++++++++++++++++++++--
5 files changed, 288 insertions(+), 9 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs
2025-08-19 18:53 [PATCH v4 0/2] Enhance SVM stats Matthew Brost
@ 2025-08-19 18:53 ` Matthew Brost
2025-08-27 8:15 ` Francois Dugast
2025-08-27 16:42 ` Lucas De Marchi
2025-08-19 18:53 ` [PATCH v4 2/2] drm/xe: Add more SVM GT stats Matthew Brost
` (3 subsequent siblings)
4 siblings, 2 replies; 9+ messages in thread
From: Matthew Brost @ 2025-08-19 18:53 UTC (permalink / raw)
To: intel-xe
It helpful to clear GT stats, run a test cases which is being profiled,
and look at the results of the stats from the individual test case. Add
clear_stats GT debugfs entry whih allows the clearing of GT stats.
v4:
- Make clear_stats write only permissions (Himal)
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/gpu/drm/xe/xe_gt_debugfs.c | 22 ++++++++++++++++++++++
drivers/gpu/drm/xe/xe_gt_stats.c | 14 ++++++++++++++
drivers/gpu/drm/xe/xe_gt_stats.h | 1 +
3 files changed, 37 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
index bf3a67b5951c..2cd14b36c75a 100644
--- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
@@ -363,6 +363,27 @@ static ssize_t write_to_gt_call(const char __user *userbuf, size_t count, loff_t
return count;
}
+static void clear_stats(struct xe_gt *gt)
+{
+ xe_gt_stats_clear(gt);
+}
+
+static ssize_t clear_stats_write(struct file *file,
+ const char __user *userbuf,
+ size_t count, loff_t *ppos)
+{
+ struct seq_file *s = file->private_data;
+ struct xe_gt *gt = s->private;
+
+ return write_to_gt_call(userbuf, count, ppos, clear_stats, gt);
+}
+
+static int clear_stats_show(struct seq_file *s, void *unused)
+{
+ return 0;
+}
+DEFINE_SHOW_STORE_ATTRIBUTE(clear_stats);
+
static void force_reset(struct xe_gt *gt)
{
struct xe_device *xe = gt_to_xe(gt);
@@ -448,6 +469,7 @@ void xe_gt_debugfs_register(struct xe_gt *gt)
root->d_inode->i_private = gt;
/* VF safe */
+ debugfs_create_file("clear_stats", 0200, root, gt, &clear_stats_fops);
debugfs_create_file("force_reset", 0600, root, gt, &force_reset_fops);
debugfs_create_file("force_reset_sync", 0600, root, gt, &force_reset_sync_fops);
diff --git a/drivers/gpu/drm/xe/xe_gt_stats.c b/drivers/gpu/drm/xe/xe_gt_stats.c
index 30f942671c2b..7e12fc3759e2 100644
--- a/drivers/gpu/drm/xe/xe_gt_stats.c
+++ b/drivers/gpu/drm/xe/xe_gt_stats.c
@@ -50,3 +50,17 @@ int xe_gt_stats_print_info(struct xe_gt *gt, struct drm_printer *p)
return 0;
}
+
+/**
+ * xe_gt_stats_clear - Clear the GT stats
+ * @gt: GT structure
+ *
+ * This clear (zeros) all the available GT stats.
+ */
+void xe_gt_stats_clear(struct xe_gt *gt)
+{
+ enum xe_gt_stats_id id;
+
+ for (id = 0; id < __XE_GT_STATS_NUM_IDS; ++id)
+ atomic64_set(>->stats.counters[id], 0);
+}
diff --git a/drivers/gpu/drm/xe/xe_gt_stats.h b/drivers/gpu/drm/xe/xe_gt_stats.h
index 38325ef53617..e8aea32bc971 100644
--- a/drivers/gpu/drm/xe/xe_gt_stats.h
+++ b/drivers/gpu/drm/xe/xe_gt_stats.h
@@ -13,6 +13,7 @@ struct drm_printer;
#ifdef CONFIG_DEBUG_FS
int xe_gt_stats_print_info(struct xe_gt *gt, struct drm_printer *p);
+void xe_gt_stats_clear(struct xe_gt *gt);
void xe_gt_stats_incr(struct xe_gt *gt, const enum xe_gt_stats_id id, int incr);
#else
static inline void
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 2/2] drm/xe: Add more SVM GT stats
2025-08-19 18:53 [PATCH v4 0/2] Enhance SVM stats Matthew Brost
2025-08-19 18:53 ` [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs Matthew Brost
@ 2025-08-19 18:53 ` Matthew Brost
2025-08-20 5:23 ` ✓ CI.KUnit: success for Enhance SVM stats Patchwork
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Matthew Brost @ 2025-08-19 18:53 UTC (permalink / raw)
To: intel-xe
Add more SVM GT stats which give visibility to where time is spent in
the SVM page fault handler. Stats include number of faults at a given
size, total SVM page fault time, migration time in us, copy time in us,
copy kb, get pages time in us, and bind time in us. Will help in tuning
SVM for performance.
v2:
- Include local changes
v3:
- Add tlb invalidation + valid page fault + per size copy size stats
v4:
- Ensure gt not NULL when incrementing SVM copy stats
- Normalize stats names
- Use magic macros to generate increment functions for ranges
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Francois Dugast <francois.dugast@intel.com>
---
drivers/gpu/drm/xe/xe_gt_stats.c | 33 +++++
drivers/gpu/drm/xe/xe_gt_stats_types.h | 33 +++++
drivers/gpu/drm/xe/xe_svm.c | 194 +++++++++++++++++++++++--
3 files changed, 251 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt_stats.c b/drivers/gpu/drm/xe/xe_gt_stats.c
index 7e12fc3759e2..2422577e4dee 100644
--- a/drivers/gpu/drm/xe/xe_gt_stats.c
+++ b/drivers/gpu/drm/xe/xe_gt_stats.c
@@ -29,8 +29,41 @@ void xe_gt_stats_incr(struct xe_gt *gt, const enum xe_gt_stats_id id, int incr)
static const char *const stat_description[__XE_GT_STATS_NUM_IDS] = {
"svm_pagefault_count",
"tlb_inval_count",
+ "svm_tlb_inval_count",
+ "svm_tlb_inval_us",
"vma_pagefault_count",
"vma_pagefault_kb",
+ "svm_4K_pagefault_count",
+ "svm_64K_pagefault_count",
+ "svm_2M_pagefault_count",
+ "svm_4K_valid_pagefault_count",
+ "svm_64K_valid_pagefault_count",
+ "svm_2M_valid_pagefault_count",
+ "svm_4K_pagefault_us",
+ "svm_64K_pagefault_us",
+ "svm_2M_pagefault_us",
+ "svm_4K_migrate_count",
+ "svm_64K_migrate_count",
+ "svm_2M_migrate_count",
+ "svm_4K_migrate_us",
+ "svm_64K_migrate_us",
+ "svm_2M_migrate_us",
+ "svm_device_copy_us",
+ "svm_4K_device_copy_us",
+ "svm_64K_device_copy_us",
+ "svm_2M_device_copy_us",
+ "svm_cpu_copy_us",
+ "svm_4K_cpu_copy_us",
+ "svm_64K_cpu_copy_us",
+ "svm_2M_cpu_copy_us",
+ "svm_device_copy_kb",
+ "svm_cpu_copy_kb",
+ "svm_4K_get_pages_us",
+ "svm_64K_get_pages_us",
+ "svm_2M_get_pages_us",
+ "svm_4K_bind_us",
+ "svm_64K_bind_us",
+ "svm_2M_bind_us",
};
/**
diff --git a/drivers/gpu/drm/xe/xe_gt_stats_types.h b/drivers/gpu/drm/xe/xe_gt_stats_types.h
index be3244d7133c..d8348a8de2e1 100644
--- a/drivers/gpu/drm/xe/xe_gt_stats_types.h
+++ b/drivers/gpu/drm/xe/xe_gt_stats_types.h
@@ -9,8 +9,41 @@
enum xe_gt_stats_id {
XE_GT_STATS_ID_SVM_PAGEFAULT_COUNT,
XE_GT_STATS_ID_TLB_INVAL,
+ XE_GT_STATS_ID_SVM_TLB_INVAL_COUNT,
+ XE_GT_STATS_ID_SVM_TLB_INVAL_US,
XE_GT_STATS_ID_VMA_PAGEFAULT_COUNT,
XE_GT_STATS_ID_VMA_PAGEFAULT_KB,
+ XE_GT_STATS_ID_SVM_4K_PAGEFAULT_COUNT,
+ XE_GT_STATS_ID_SVM_64K_PAGEFAULT_COUNT,
+ XE_GT_STATS_ID_SVM_2M_PAGEFAULT_COUNT,
+ XE_GT_STATS_ID_SVM_4K_VALID_PAGEFAULT_COUNT,
+ XE_GT_STATS_ID_SVM_64K_VALID_PAGEFAULT_COUNT,
+ XE_GT_STATS_ID_SVM_2M_VALID_PAGEFAULT_COUNT,
+ XE_GT_STATS_ID_SVM_4K_PAGEFAULT_US,
+ XE_GT_STATS_ID_SVM_64K_PAGEFAULT_US,
+ XE_GT_STATS_ID_SVM_2M_PAGEFAULT_US,
+ XE_GT_STATS_ID_SVM_4K_MIGRATE_COUNT,
+ XE_GT_STATS_ID_SVM_64K_MIGRATE_COUNT,
+ XE_GT_STATS_ID_SVM_2M_MIGRATE_COUNT,
+ XE_GT_STATS_ID_SVM_4K_MIGRATE_US,
+ XE_GT_STATS_ID_SVM_64K_MIGRATE_US,
+ XE_GT_STATS_ID_SVM_2M_MIGRATE_US,
+ XE_GT_STATS_ID_SVM_DEVICE_COPY_US,
+ XE_GT_STATS_ID_SVM_4K_DEVICE_COPY_US,
+ XE_GT_STATS_ID_SVM_64K_DEVICE_COPY_US,
+ XE_GT_STATS_ID_SVM_2M_DEVICE_COPY_US,
+ XE_GT_STATS_ID_SVM_CPU_COPY_US,
+ XE_GT_STATS_ID_SVM_4K_CPU_COPY_US,
+ XE_GT_STATS_ID_SVM_64K_CPU_COPY_US,
+ XE_GT_STATS_ID_SVM_2M_CPU_COPY_US,
+ XE_GT_STATS_ID_SVM_DEVICE_COPY_KB,
+ XE_GT_STATS_ID_SVM_CPU_COPY_KB,
+ XE_GT_STATS_ID_SVM_4K_GET_PAGES_US,
+ XE_GT_STATS_ID_SVM_64K_GET_PAGES_US,
+ XE_GT_STATS_ID_SVM_2M_GET_PAGES_US,
+ XE_GT_STATS_ID_SVM_4K_BIND_US,
+ XE_GT_STATS_ID_SVM_64K_BIND_US,
+ XE_GT_STATS_ID_SVM_2M_BIND_US,
/* must be the last entry */
__XE_GT_STATS_NUM_IDS,
};
diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index e35c6d4def20..748d0ac44dcc 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -6,6 +6,7 @@
#include <drm/drm_drv.h>
#include "xe_bo.h"
+#include "xe_exec_queue_types.h"
#include "xe_gt_stats.h"
#include "xe_gt_tlb_invalidation.h"
#include "xe_migrate.h"
@@ -113,6 +114,11 @@ xe_svm_garbage_collector_add_range(struct xe_vm *vm, struct xe_svm_range *range,
&vm->svm.garbage_collector.work);
}
+static void xe_svm_tlb_inval_count_stats_incr(struct xe_gt *gt)
+{
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_TLB_INVAL_COUNT, 1);
+}
+
static u8
xe_svm_range_notifier_event_begin(struct xe_vm *vm, struct drm_gpusvm_range *r,
const struct mmu_notifier_range *mmu_range,
@@ -145,13 +151,19 @@ xe_svm_range_notifier_event_begin(struct xe_vm *vm, struct drm_gpusvm_range *r,
*/
for_each_tile(tile, xe, id)
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));
+
+ if (!(tile_mask & BIT(id))) {
+ xe_svm_tlb_inval_count_stats_incr(tile->primary_gt);
+ if (tile->media_gt)
+ xe_svm_tlb_inval_count_stats_incr(tile->media_gt);
+ tile_mask |= BIT(id);
+ }
}
return tile_mask;
@@ -171,6 +183,24 @@ xe_svm_range_notifier_event_end(struct xe_vm *vm, struct drm_gpusvm_range *r,
mmu_range);
}
+static s64 xe_svm_stats_ktime_us_delta(ktime_t start)
+{
+ return IS_ENABLED(CONFIG_DEBUG_FS) ?
+ ktime_us_delta(ktime_get(), start) : 0;
+}
+
+static void xe_svm_tlb_inval_us_stats_incr(struct xe_gt *gt, ktime_t start)
+{
+ s64 us_delta = xe_svm_stats_ktime_us_delta(start);
+
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_TLB_INVAL_US, us_delta);
+}
+
+static ktime_t xe_svm_stats_ktime_get(void)
+{
+ return IS_ENABLED(CONFIG_DEBUG_FS) ? ktime_get() : 0;
+}
+
static void xe_svm_invalidate(struct drm_gpusvm *gpusvm,
struct drm_gpusvm_notifier *notifier,
const struct mmu_notifier_range *mmu_range)
@@ -178,8 +208,10 @@ static void xe_svm_invalidate(struct drm_gpusvm *gpusvm,
struct xe_vm *vm = gpusvm_to_vm(gpusvm);
struct xe_device *xe = vm->xe;
struct drm_gpusvm_range *r, *first;
+ struct xe_tile *tile;
+ ktime_t start = xe_svm_stats_ktime_get();
u64 adj_start = mmu_range->start, adj_end = mmu_range->end;
- u8 tile_mask = 0;
+ u8 tile_mask = 0, id;
long err;
xe_svm_assert_in_notifier(vm);
@@ -232,6 +264,13 @@ static void xe_svm_invalidate(struct drm_gpusvm *gpusvm,
r = first;
drm_gpusvm_for_each_range(r, notifier, adj_start, adj_end)
xe_svm_range_notifier_event_end(vm, r, mmu_range);
+ for_each_tile(tile, xe, id) {
+ if (tile_mask & BIT(id)) {
+ xe_svm_tlb_inval_us_stats_incr(tile->primary_gt, start);
+ if (tile->media_gt)
+ xe_svm_tlb_inval_us_stats_incr(tile->media_gt, start);
+ }
+ }
}
static int __xe_svm_garbage_collector(struct xe_vm *vm,
@@ -328,11 +367,66 @@ enum xe_svm_copy_dir {
XE_SVM_COPY_TO_SRAM,
};
+static void xe_svm_copy_kb_stats_incr(struct xe_gt *gt,
+ const enum xe_svm_copy_dir dir,
+ int kb)
+{
+ if (dir == XE_SVM_COPY_TO_VRAM)
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_DEVICE_COPY_KB, kb);
+ else
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_CPU_COPY_KB, kb);
+}
+
+static void xe_svm_copy_us_stats_incr(struct xe_gt *gt,
+ const enum xe_svm_copy_dir dir,
+ unsigned long npages,
+ ktime_t start)
+{
+ s64 us_delta = xe_svm_stats_ktime_us_delta(start);
+
+ if (dir == XE_SVM_COPY_TO_VRAM) {
+ switch (npages) {
+ case 1:
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_4K_DEVICE_COPY_US,
+ us_delta);
+ break;
+ case 16:
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_64K_DEVICE_COPY_US,
+ us_delta);
+ break;
+ case 512:
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_2M_DEVICE_COPY_US,
+ us_delta);
+ break;
+ }
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_DEVICE_COPY_US,
+ us_delta);
+ } else {
+ switch (npages) {
+ case 1:
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_4K_CPU_COPY_US,
+ us_delta);
+ break;
+ case 16:
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_64K_CPU_COPY_US,
+ us_delta);
+ break;
+ case 512:
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_2M_CPU_COPY_US,
+ us_delta);
+ break;
+ }
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_CPU_COPY_US,
+ us_delta);
+ }
+}
+
static int xe_svm_copy(struct page **pages,
struct drm_pagemap_addr *pagemap_addr,
unsigned long npages, const enum xe_svm_copy_dir dir)
{
struct xe_vram_region *vr = NULL;
+ struct xe_gt *gt = NULL;
struct xe_device *xe;
struct dma_fence *fence = NULL;
unsigned long i;
@@ -340,6 +434,7 @@ static int xe_svm_copy(struct page **pages,
u64 vram_addr = XE_VRAM_ADDR_INVALID;
int err = 0, pos = 0;
bool sram = dir == XE_SVM_COPY_TO_SRAM;
+ ktime_t start = xe_svm_stats_ktime_get();
/*
* This flow is complex: it locates physically contiguous device pages,
@@ -366,6 +461,7 @@ static int xe_svm_copy(struct page **pages,
if (!vr && spage) {
vr = page_to_vr(spage);
+ gt = xe_migrate_exec_queue(vr->migrate)->gt;
xe = vr->xe;
}
XE_WARN_ON(spage && page_to_vr(spage) != vr);
@@ -405,6 +501,9 @@ static int xe_svm_copy(struct page **pages,
int incr = (match && last) ? 1 : 0;
if (vram_addr != XE_VRAM_ADDR_INVALID) {
+ xe_svm_copy_kb_stats_incr(gt, dir,
+ (i - pos + incr) *
+ (PAGE_SIZE / SZ_1K));
if (sram) {
vm_dbg(&xe->drm,
"COPY TO SRAM - 0x%016llx -> 0x%016llx, NPAGES=%ld",
@@ -443,6 +542,8 @@ static int xe_svm_copy(struct page **pages,
/* Extra mismatched device page, copy it */
if (!match && last && vram_addr != XE_VRAM_ADDR_INVALID) {
+ xe_svm_copy_kb_stats_incr(gt, dir,
+ (PAGE_SIZE / SZ_1K));
if (sram) {
vm_dbg(&xe->drm,
"COPY TO SRAM - 0x%016llx -> 0x%016llx, NPAGES=%d",
@@ -476,6 +577,14 @@ static int xe_svm_copy(struct page **pages,
dma_fence_put(fence);
}
+ /*
+ * XXX: We can't derive the GT here (or anywhere in this functions, but
+ * compute always uses the primary GT so accumlate stats on the likely
+ * GT of the fault.
+ */
+ if (gt)
+ xe_svm_copy_us_stats_incr(gt, dir, npages, start);
+
return err;
#undef XE_MIGRATE_CHUNK_SIZE
#undef XE_VRAM_ADDR_INVALID
@@ -789,6 +898,55 @@ bool xe_svm_range_needs_migrate_to_vram(struct xe_svm_range *range, struct xe_vm
return true;
}
+#define DECL_SVM_RANGE_COUNT_STATS(elem, stat) \
+static void xe_svm_range_##elem##_count_stats_incr(struct xe_gt *gt, \
+ struct xe_svm_range *range) \
+{ \
+ switch (xe_svm_range_size(range)) { \
+ case SZ_4K: \
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_4K_##stat##_COUNT, 1); \
+ break; \
+ case SZ_64K: \
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_64K_##stat##_COUNT, 1); \
+ break; \
+ case SZ_2M: \
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_2M_##stat##_COUNT, 1); \
+ break; \
+ } \
+} \
+
+DECL_SVM_RANGE_COUNT_STATS(fault, PAGEFAULT)
+DECL_SVM_RANGE_COUNT_STATS(valid_fault, VALID_PAGEFAULT)
+DECL_SVM_RANGE_COUNT_STATS(migrate, MIGRATE)
+
+#define DECL_SVM_RANGE_US_STATS(elem, stat) \
+static void xe_svm_range_##elem##_us_stats_incr(struct xe_gt *gt, \
+ struct xe_svm_range *range, \
+ ktime_t start) \
+{ \
+ s64 us_delta = xe_svm_stats_ktime_us_delta(start); \
+\
+ switch (xe_svm_range_size(range)) { \
+ case SZ_4K: \
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_4K_##stat##_US, \
+ us_delta); \
+ break; \
+ case SZ_64K: \
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_64K_##stat##_US, \
+ us_delta); \
+ break; \
+ case SZ_2M: \
+ xe_gt_stats_incr(gt, XE_GT_STATS_ID_SVM_2M_##stat##_US, \
+ us_delta); \
+ break; \
+ } \
+} \
+
+DECL_SVM_RANGE_US_STATS(migrate, MIGRATE)
+DECL_SVM_RANGE_US_STATS(get_pages, GET_PAGES)
+DECL_SVM_RANGE_US_STATS(bind, BIND)
+DECL_SVM_RANGE_US_STATS(fault, PAGEFAULT)
+
/**
* xe_svm_handle_pagefault() - SVM handle page fault
* @vm: The VM.
@@ -823,6 +981,7 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
struct xe_tile *tile = gt_to_tile(gt);
int migrate_try_count = ctx.devmem_only ? 3 : 1;
ktime_t end = 0;
+ ktime_t start = xe_svm_stats_ktime_get(), bind_start, get_pages_start;
int err;
lockdep_assert_held_write(&vm->lock);
@@ -841,17 +1000,28 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
if (IS_ERR(range))
return PTR_ERR(range);
- if (ctx.devmem_only && !range->base.flags.migrate_devmem)
- return -EACCES;
+ xe_svm_range_fault_count_stats_incr(gt, range);
- if (xe_svm_range_is_valid(range, tile, ctx.devmem_only))
- return 0;
+ if (ctx.devmem_only && !range->base.flags.migrate_devmem) {
+ err = -EACCES;
+ goto out;
+ }
+
+ if (xe_svm_range_is_valid(range, tile, ctx.devmem_only)) {
+ xe_svm_range_valid_fault_count_stats_incr(gt, range);
+ range_debug(range, "PAGE FAULT - VALID");
+ goto out;
+ }
range_debug(range, "PAGE FAULT");
if (--migrate_try_count >= 0 &&
xe_svm_range_needs_migrate_to_vram(range, vma, IS_DGFX(vm->xe))) {
+ ktime_t migrate_start = xe_svm_stats_ktime_get();
+
+ xe_svm_range_migrate_count_stats_incr(gt, range);
err = xe_svm_alloc_vram(tile, range, &ctx);
+ xe_svm_range_migrate_us_stats_incr(gt, range, migrate_start);
ctx.timeslice_ms <<= 1; /* Double timeslice if we have to retry */
if (err) {
if (migrate_try_count || !ctx.devmem_only) {
@@ -868,6 +1038,8 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
}
}
+ get_pages_start = xe_svm_stats_ktime_get();
+
range_debug(range, "GET PAGES");
err = xe_svm_range_get_pages(vm, range, &ctx);
/* Corner where CPU mappings have changed */
@@ -887,11 +1059,13 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
}
if (err) {
range_debug(range, "PAGE FAULT - FAIL PAGE COLLECT");
- goto err_out;
+ goto out;
}
+ xe_svm_range_get_pages_us_stats_incr(gt, range, get_pages_start);
range_debug(range, "PAGE FAULT - BIND");
+ bind_start = xe_svm_stats_ktime_get();
retry_bind:
xe_vm_lock(vm, false);
fence = xe_vm_range_rebind(vm, vma, range, BIT(tile->id));
@@ -905,14 +1079,16 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
}
if (xe_vm_validate_should_retry(NULL, err, &end))
goto retry_bind;
- goto err_out;
+ goto out;
}
xe_vm_unlock(vm);
dma_fence_wait(fence, false);
dma_fence_put(fence);
+ xe_svm_range_bind_us_stats_incr(gt, range, bind_start);
-err_out:
+out:
+ xe_svm_range_fault_us_stats_incr(gt, range, start);
return err;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* ✓ CI.KUnit: success for Enhance SVM stats
2025-08-19 18:53 [PATCH v4 0/2] Enhance SVM stats Matthew Brost
2025-08-19 18:53 ` [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs Matthew Brost
2025-08-19 18:53 ` [PATCH v4 2/2] drm/xe: Add more SVM GT stats Matthew Brost
@ 2025-08-20 5:23 ` Patchwork
2025-08-20 6:00 ` ✓ Xe.CI.BAT: " Patchwork
2025-08-21 1:28 ` ✗ Xe.CI.Full: failure " Patchwork
4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-08-20 5:23 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
== Series Details ==
Series: Enhance SVM stats
URL : https://patchwork.freedesktop.org/series/153167/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[05:22:34] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[05:22:38] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[05:23:07] Starting KUnit Kernel (1/1)...
[05:23:07] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[05:23:07] ================== guc_buf (11 subtests) ===================
[05:23:07] [PASSED] test_smallest
[05:23:07] [PASSED] test_largest
[05:23:07] [PASSED] test_granular
[05:23:07] [PASSED] test_unique
[05:23:07] [PASSED] test_overlap
[05:23:07] [PASSED] test_reusable
[05:23:07] [PASSED] test_too_big
[05:23:07] [PASSED] test_flush
[05:23:07] [PASSED] test_lookup
[05:23:07] [PASSED] test_data
[05:23:07] [PASSED] test_class
[05:23:07] ===================== [PASSED] guc_buf =====================
[05:23:07] =================== guc_dbm (7 subtests) ===================
[05:23:07] [PASSED] test_empty
[05:23:07] [PASSED] test_default
[05:23:07] ======================== test_size ========================
[05:23:07] [PASSED] 4
[05:23:07] [PASSED] 8
[05:23:07] [PASSED] 32
[05:23:07] [PASSED] 256
[05:23:07] ==================== [PASSED] test_size ====================
[05:23:07] ======================= test_reuse ========================
[05:23:07] [PASSED] 4
[05:23:07] [PASSED] 8
[05:23:07] [PASSED] 32
[05:23:07] [PASSED] 256
[05:23:07] =================== [PASSED] test_reuse ====================
[05:23:07] =================== test_range_overlap ====================
[05:23:07] [PASSED] 4
[05:23:07] [PASSED] 8
[05:23:07] [PASSED] 32
[05:23:07] [PASSED] 256
[05:23:07] =============== [PASSED] test_range_overlap ================
[05:23:07] =================== test_range_compact ====================
[05:23:07] [PASSED] 4
[05:23:07] [PASSED] 8
[05:23:07] [PASSED] 32
[05:23:07] [PASSED] 256
[05:23:07] =============== [PASSED] test_range_compact ================
[05:23:07] ==================== test_range_spare =====================
[05:23:07] [PASSED] 4
[05:23:07] [PASSED] 8
[05:23:07] [PASSED] 32
[05:23:07] [PASSED] 256
[05:23:07] ================ [PASSED] test_range_spare =================
[05:23:07] ===================== [PASSED] guc_dbm =====================
[05:23:07] =================== guc_idm (6 subtests) ===================
[05:23:07] [PASSED] bad_init
[05:23:07] [PASSED] no_init
[05:23:07] [PASSED] init_fini
[05:23:07] [PASSED] check_used
[05:23:07] [PASSED] check_quota
[05:23:07] [PASSED] check_all
[05:23:07] ===================== [PASSED] guc_idm =====================
[05:23:07] ================== no_relay (3 subtests) ===================
[05:23:07] [PASSED] xe_drops_guc2pf_if_not_ready
[05:23:07] [PASSED] xe_drops_guc2vf_if_not_ready
[05:23:07] [PASSED] xe_rejects_send_if_not_ready
[05:23:07] ==================== [PASSED] no_relay =====================
[05:23:07] ================== pf_relay (14 subtests) ==================
[05:23:07] [PASSED] pf_rejects_guc2pf_too_short
[05:23:07] [PASSED] pf_rejects_guc2pf_too_long
[05:23:07] [PASSED] pf_rejects_guc2pf_no_payload
[05:23:07] [PASSED] pf_fails_no_payload
[05:23:07] [PASSED] pf_fails_bad_origin
[05:23:07] [PASSED] pf_fails_bad_type
[05:23:07] [PASSED] pf_txn_reports_error
[05:23:07] [PASSED] pf_txn_sends_pf2guc
[05:23:07] [PASSED] pf_sends_pf2guc
[05:23:07] [SKIPPED] pf_loopback_nop
[05:23:07] [SKIPPED] pf_loopback_echo
[05:23:07] [SKIPPED] pf_loopback_fail
[05:23:07] [SKIPPED] pf_loopback_busy
[05:23:07] [SKIPPED] pf_loopback_retry
[05:23:07] ==================== [PASSED] pf_relay =====================
[05:23:07] ================== vf_relay (3 subtests) ===================
[05:23:07] [PASSED] vf_rejects_guc2vf_too_short
[05:23:07] [PASSED] vf_rejects_guc2vf_too_long
[05:23:07] [PASSED] vf_rejects_guc2vf_no_payload
[05:23:07] ==================== [PASSED] vf_relay =====================
[05:23:07] ===================== lmtt (1 subtest) =====================
[05:23:07] ======================== test_ops =========================
[05:23:07] [PASSED] 2-level
[05:23:07] [PASSED] multi-level
[05:23:07] ==================== [PASSED] test_ops =====================
[05:23:07] ====================== [PASSED] lmtt =======================
[05:23:07] ================= pf_service (11 subtests) =================
[05:23:07] [PASSED] pf_negotiate_any
[05:23:07] [PASSED] pf_negotiate_base_match
[05:23:07] [PASSED] pf_negotiate_base_newer
[05:23:07] [PASSED] pf_negotiate_base_next
[05:23:07] [SKIPPED] pf_negotiate_base_older
[05:23:07] [PASSED] pf_negotiate_base_prev
[05:23:07] [PASSED] pf_negotiate_latest_match
[05:23:07] [PASSED] pf_negotiate_latest_newer
[05:23:07] [PASSED] pf_negotiate_latest_next
[05:23:07] [SKIPPED] pf_negotiate_latest_older
[05:23:07] [SKIPPED] pf_negotiate_latest_prev
[05:23:07] =================== [PASSED] pf_service ====================
[05:23:07] =================== xe_mocs (2 subtests) ===================
[05:23:07] ================ xe_live_mocs_kernel_kunit ================
[05:23:07] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[05:23:07] ================ xe_live_mocs_reset_kunit =================
[05:23:07] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[05:23:07] ==================== [SKIPPED] xe_mocs =====================
[05:23:07] ================= xe_migrate (2 subtests) ==================
[05:23:07] ================= xe_migrate_sanity_kunit =================
[05:23:07] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[05:23:07] ================== xe_validate_ccs_kunit ==================
[05:23:07] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[05:23:07] =================== [SKIPPED] xe_migrate ===================
[05:23:07] ================== xe_dma_buf (1 subtest) ==================
[05:23:07] ==================== xe_dma_buf_kunit =====================
[05:23:07] ================ [SKIPPED] xe_dma_buf_kunit ================
[05:23:07] =================== [SKIPPED] xe_dma_buf ===================
[05:23:07] ================= xe_bo_shrink (1 subtest) =================
[05:23:07] =================== xe_bo_shrink_kunit ====================
[05:23:07] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[05:23:07] ================== [SKIPPED] xe_bo_shrink ==================
[05:23:07] ==================== xe_bo (2 subtests) ====================
[05:23:07] ================== xe_ccs_migrate_kunit ===================
[05:23:07] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[05:23:07] ==================== xe_bo_evict_kunit ====================
[05:23:07] =============== [SKIPPED] xe_bo_evict_kunit ================
[05:23:07] ===================== [SKIPPED] xe_bo ======================
[05:23:07] ==================== args (11 subtests) ====================
[05:23:07] [PASSED] count_args_test
[05:23:07] [PASSED] call_args_example
[05:23:07] [PASSED] call_args_test
[05:23:07] [PASSED] drop_first_arg_example
[05:23:07] [PASSED] drop_first_arg_test
[05:23:07] [PASSED] first_arg_example
[05:23:07] [PASSED] first_arg_test
[05:23:07] [PASSED] last_arg_example
[05:23:07] [PASSED] last_arg_test
[05:23:07] [PASSED] pick_arg_example
[05:23:07] [PASSED] sep_comma_example
[05:23:07] ====================== [PASSED] args =======================
[05:23:07] =================== xe_pci (3 subtests) ====================
[05:23:07] ==================== check_graphics_ip ====================
[05:23:07] [PASSED] 12.70 Xe_LPG
[05:23:07] [PASSED] 12.71 Xe_LPG
[05:23:07] [PASSED] 12.74 Xe_LPG+
[05:23:07] [PASSED] 20.01 Xe2_HPG
[05:23:07] [PASSED] 20.02 Xe2_HPG
[05:23:07] [PASSED] 20.04 Xe2_LPG
[05:23:07] [PASSED] 30.00 Xe3_LPG
[05:23:07] [PASSED] 30.01 Xe3_LPG
[05:23:07] [PASSED] 30.03 Xe3_LPG
[05:23:07] ================ [PASSED] check_graphics_ip ================
[05:23:07] ===================== check_media_ip ======================
[05:23:07] [PASSED] 13.00 Xe_LPM+
[05:23:07] [PASSED] 13.01 Xe2_HPM
[05:23:07] [PASSED] 20.00 Xe2_LPM
[05:23:07] [PASSED] 30.00 Xe3_LPM
[05:23:07] [PASSED] 30.02 Xe3_LPM
[05:23:07] ================= [PASSED] check_media_ip ==================
[05:23:07] ================= check_platform_gt_count =================
[05:23:07] [PASSED] 0x9A60 (TIGERLAKE)
[05:23:07] [PASSED] 0x9A68 (TIGERLAKE)
[05:23:07] [PASSED] 0x9A70 (TIGERLAKE)
[05:23:07] [PASSED] 0x9A40 (TIGERLAKE)
[05:23:07] [PASSED] 0x9A49 (TIGERLAKE)
[05:23:07] [PASSED] 0x9A59 (TIGERLAKE)
[05:23:07] [PASSED] 0x9A78 (TIGERLAKE)
[05:23:07] [PASSED] 0x9AC0 (TIGERLAKE)
[05:23:07] [PASSED] 0x9AC9 (TIGERLAKE)
[05:23:07] [PASSED] 0x9AD9 (TIGERLAKE)
[05:23:07] [PASSED] 0x9AF8 (TIGERLAKE)
[05:23:07] [PASSED] 0x4C80 (ROCKETLAKE)
[05:23:07] [PASSED] 0x4C8A (ROCKETLAKE)
[05:23:07] [PASSED] 0x4C8B (ROCKETLAKE)
[05:23:07] [PASSED] 0x4C8C (ROCKETLAKE)
[05:23:07] [PASSED] 0x4C90 (ROCKETLAKE)
[05:23:07] [PASSED] 0x4C9A (ROCKETLAKE)
[05:23:07] [PASSED] 0x4680 (ALDERLAKE_S)
[05:23:07] [PASSED] 0x4682 (ALDERLAKE_S)
[05:23:07] [PASSED] 0x4688 (ALDERLAKE_S)
[05:23:07] [PASSED] 0x468A (ALDERLAKE_S)
[05:23:07] [PASSED] 0x468B (ALDERLAKE_S)
[05:23:07] [PASSED] 0x4690 (ALDERLAKE_S)
[05:23:07] [PASSED] 0x4692 (ALDERLAKE_S)
[05:23:07] [PASSED] 0x4693 (ALDERLAKE_S)
[05:23:07] [PASSED] 0x46A0 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46A1 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46A2 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46A3 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46A6 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46A8 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46AA (ALDERLAKE_P)
[05:23:07] [PASSED] 0x462A (ALDERLAKE_P)
[05:23:07] [PASSED] 0x4626 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x4628 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46B0 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46B1 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46B2 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46B3 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46C0 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46C1 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46C2 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46C3 (ALDERLAKE_P)
[05:23:07] [PASSED] 0x46D0 (ALDERLAKE_N)
[05:23:07] [PASSED] 0x46D1 (ALDERLAKE_N)
[05:23:07] [PASSED] 0x46D2 (ALDERLAKE_N)
[05:23:07] [PASSED] 0x46D3 (ALDERLAKE_N)
[05:23:07] [PASSED] 0x46D4 (ALDERLAKE_N)
[05:23:07] [PASSED] 0xA721 (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA7A1 (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA7A9 (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA7AC (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA7AD (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA720 (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA7A0 (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA7A8 (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA7AA (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA7AB (ALDERLAKE_P)
[05:23:07] [PASSED] 0xA780 (ALDERLAKE_S)
[05:23:07] [PASSED] 0xA781 (ALDERLAKE_S)
[05:23:07] [PASSED] 0xA782 (ALDERLAKE_S)
[05:23:07] [PASSED] 0xA783 (ALDERLAKE_S)
[05:23:07] [PASSED] 0xA788 (ALDERLAKE_S)
[05:23:07] [PASSED] 0xA789 (ALDERLAKE_S)
[05:23:07] [PASSED] 0xA78A (ALDERLAKE_S)
[05:23:07] [PASSED] 0xA78B (ALDERLAKE_S)
[05:23:07] [PASSED] 0x4905 (DG1)
[05:23:07] [PASSED] 0x4906 (DG1)
[05:23:07] [PASSED] 0x4907 (DG1)
[05:23:07] [PASSED] 0x4908 (DG1)
[05:23:07] [PASSED] 0x4909 (DG1)
[05:23:07] [PASSED] 0x56C0 (DG2)
[05:23:07] [PASSED] 0x56C2 (DG2)
[05:23:07] [PASSED] 0x56C1 (DG2)
[05:23:07] [PASSED] 0x7D51 (METEORLAKE)
[05:23:07] [PASSED] 0x7DD1 (METEORLAKE)
[05:23:07] [PASSED] 0x7D41 (METEORLAKE)
[05:23:07] [PASSED] 0x7D67 (METEORLAKE)
[05:23:07] [PASSED] 0xB640 (METEORLAKE)
[05:23:07] [PASSED] 0x56A0 (DG2)
[05:23:07] [PASSED] 0x56A1 (DG2)
[05:23:07] [PASSED] 0x56A2 (DG2)
[05:23:07] [PASSED] 0x56BE (DG2)
[05:23:07] [PASSED] 0x56BF (DG2)
[05:23:07] [PASSED] 0x5690 (DG2)
[05:23:07] [PASSED] 0x5691 (DG2)
[05:23:07] [PASSED] 0x5692 (DG2)
[05:23:07] [PASSED] 0x56A5 (DG2)
[05:23:07] [PASSED] 0x56A6 (DG2)
[05:23:07] [PASSED] 0x56B0 (DG2)
[05:23:07] [PASSED] 0x56B1 (DG2)
[05:23:07] [PASSED] 0x56BA (DG2)
[05:23:07] [PASSED] 0x56BB (DG2)
[05:23:07] [PASSED] 0x56BC (DG2)
[05:23:07] [PASSED] 0x56BD (DG2)
[05:23:07] [PASSED] 0x5693 (DG2)
[05:23:07] [PASSED] 0x5694 (DG2)
[05:23:07] [PASSED] 0x5695 (DG2)
[05:23:07] [PASSED] 0x56A3 (DG2)
[05:23:07] [PASSED] 0x56A4 (DG2)
[05:23:07] [PASSED] 0x56B2 (DG2)
[05:23:07] [PASSED] 0x56B3 (DG2)
[05:23:07] [PASSED] 0x5696 (DG2)
[05:23:07] [PASSED] 0x5697 (DG2)
[05:23:07] [PASSED] 0xB69 (PVC)
[05:23:07] [PASSED] 0xB6E (PVC)
[05:23:07] [PASSED] 0xBD4 (PVC)
[05:23:07] [PASSED] 0xBD5 (PVC)
[05:23:07] [PASSED] 0xBD6 (PVC)
[05:23:07] [PASSED] 0xBD7 (PVC)
[05:23:07] [PASSED] 0xBD8 (PVC)
[05:23:07] [PASSED] 0xBD9 (PVC)
[05:23:07] [PASSED] 0xBDA (PVC)
[05:23:07] [PASSED] 0xBDB (PVC)
[05:23:07] [PASSED] 0xBE0 (PVC)
[05:23:07] [PASSED] 0xBE1 (PVC)
[05:23:07] [PASSED] 0xBE5 (PVC)
[05:23:07] [PASSED] 0x7D40 (METEORLAKE)
[05:23:07] [PASSED] 0x7D45 (METEORLAKE)
[05:23:07] [PASSED] 0x7D55 (METEORLAKE)
[05:23:07] [PASSED] 0x7D60 (METEORLAKE)
[05:23:07] [PASSED] 0x7DD5 (METEORLAKE)
[05:23:07] [PASSED] 0x6420 (LUNARLAKE)
[05:23:07] [PASSED] 0x64A0 (LUNARLAKE)
[05:23:07] [PASSED] 0x64B0 (LUNARLAKE)
[05:23:07] [PASSED] 0xE202 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE209 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE20B (BATTLEMAGE)
[05:23:07] [PASSED] 0xE20C (BATTLEMAGE)
[05:23:07] [PASSED] 0xE20D (BATTLEMAGE)
[05:23:07] [PASSED] 0xE210 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE211 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE212 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE216 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE220 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE221 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE222 (BATTLEMAGE)
[05:23:07] [PASSED] 0xE223 (BATTLEMAGE)
[05:23:07] [PASSED] 0xB080 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB081 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB082 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB083 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB084 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB085 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB086 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB087 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB08F (PANTHERLAKE)
[05:23:07] [PASSED] 0xB090 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB0A0 (PANTHERLAKE)
[05:23:07] [PASSED] 0xB0B0 (PANTHERLAKE)
[05:23:07] [PASSED] 0xFD80 (PANTHERLAKE)
[05:23:07] [PASSED] 0xFD81 (PANTHERLAKE)
[05:23:07] ============= [PASSED] check_platform_gt_count =============
[05:23:07] ===================== [PASSED] xe_pci ======================
[05:23:07] =================== xe_rtp (2 subtests) ====================
[05:23:07] =============== xe_rtp_process_to_sr_tests ================
[05:23:07] [PASSED] coalesce-same-reg
[05:23:07] [PASSED] no-match-no-add
[05:23:07] [PASSED] match-or
[05:23:07] [PASSED] match-or-xfail
[05:23:07] [PASSED] no-match-no-add-multiple-rules
[05:23:07] [PASSED] two-regs-two-entries
[05:23:07] [PASSED] clr-one-set-other
[05:23:07] [PASSED] set-field
[05:23:07] [PASSED] conflict-duplicate
[05:23:07] [PASSED] conflict-not-disjoint
[05:23:07] [PASSED] conflict-reg-type
[05:23:07] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[05:23:07] ================== xe_rtp_process_tests ===================
[05:23:07] [PASSED] active1
[05:23:07] [PASSED] active2
[05:23:07] [PASSED] active-inactive
[05:23:07] [PASSED] inactive-active
[05:23:07] [PASSED] inactive-1st_or_active-inactive
[05:23:07] [PASSED] inactive-2nd_or_active-inactive
[05:23:07] [PASSED] inactive-last_or_active-inactive
[05:23:07] [PASSED] inactive-no_or_active-inactive
[05:23:07] ============== [PASSED] xe_rtp_process_tests ===============
[05:23:07] ===================== [PASSED] xe_rtp ======================
[05:23:07] ==================== xe_wa (1 subtest) =====================
[05:23:07] ======================== xe_wa_gt =========================
[05:23:07] [PASSED] TIGERLAKE (B0)
[05:23:07] [PASSED] DG1 (A0)
[05:23:07] [PASSED] DG1 (B0)
[05:23:07] [PASSED] ALDERLAKE_S (A0)
[05:23:07] [PASSED] ALDERLAKE_S (B0)
[05:23:07] [PASSED] ALDERLAKE_S (C0)
[05:23:07] [PASSED] ALDERLAKE_S (D0)
[05:23:07] [PASSED] ALDERLAKE_P (A0)
[05:23:07] [PASSED] ALDERLAKE_P (B0)
[05:23:07] [PASSED] ALDERLAKE_P (C0)
[05:23:07] [PASSED] ALDERLAKE_S_RPLS (D0)
[05:23:07] [PASSED] ALDERLAKE_P_RPLU (E0)
[05:23:07] [PASSED] DG2_G10 (C0)
[05:23:07] [PASSED] DG2_G11 (B1)
[05:23:07] [PASSED] DG2_G12 (A1)
[05:23:07] [PASSED] METEORLAKE (g:A0, m:A0)
[05:23:07] [PASSED] METEORLAKE (g:A0, m:A0)
[05:23:07] [PASSED] METEORLAKE (g:A0, m:A0)
[05:23:07] [PASSED] LUNARLAKE (g:A0, m:A0)
[05:23:07] [PASSED] LUNARLAKE (g:B0, m:A0)
stty: 'standard input': Inappropriate ioctl for device
[05:23:07] [PASSED] BATTLEMAGE (g:A0, m:A1)
[05:23:07] ==================== [PASSED] xe_wa_gt =====================
[05:23:07] ====================== [PASSED] xe_wa ======================
[05:23:07] ============================================================
[05:23:07] Testing complete. Ran 297 tests: passed: 281, skipped: 16
[05:23:07] Elapsed time: 33.731s total, 4.185s configuring, 29.178s building, 0.324s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[05:23:07] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[05:23: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
[05:23:33] Starting KUnit Kernel (1/1)...
[05:23:33] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[05:23:33] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[05:23:33] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[05:23:33] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[05:23:33] =========== drm_validate_clone_mode (2 subtests) ===========
[05:23:33] ============== drm_test_check_in_clone_mode ===============
[05:23:33] [PASSED] in_clone_mode
[05:23:33] [PASSED] not_in_clone_mode
[05:23:33] ========== [PASSED] drm_test_check_in_clone_mode ===========
[05:23:33] =============== drm_test_check_valid_clones ===============
[05:23:33] [PASSED] not_in_clone_mode
[05:23:33] [PASSED] valid_clone
[05:23:33] [PASSED] invalid_clone
[05:23:33] =========== [PASSED] drm_test_check_valid_clones ===========
[05:23:33] ============= [PASSED] drm_validate_clone_mode =============
[05:23:33] ============= drm_validate_modeset (1 subtest) =============
[05:23:33] [PASSED] drm_test_check_connector_changed_modeset
[05:23:33] ============== [PASSED] drm_validate_modeset ===============
[05:23:33] ====== drm_test_bridge_get_current_state (2 subtests) ======
[05:23:33] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[05:23:33] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[05:23:33] ======== [PASSED] drm_test_bridge_get_current_state ========
[05:23:33] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[05:23:33] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[05:23:33] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[05:23:33] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[05:23:33] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[05:23:33] ============== drm_bridge_alloc (2 subtests) ===============
[05:23:33] [PASSED] drm_test_drm_bridge_alloc_basic
[05:23:33] [PASSED] drm_test_drm_bridge_alloc_get_put
[05:23:33] ================ [PASSED] drm_bridge_alloc =================
[05:23:33] ================== drm_buddy (7 subtests) ==================
[05:23:33] [PASSED] drm_test_buddy_alloc_limit
[05:23:33] [PASSED] drm_test_buddy_alloc_optimistic
[05:23:33] [PASSED] drm_test_buddy_alloc_pessimistic
[05:23:33] [PASSED] drm_test_buddy_alloc_pathological
[05:23:33] [PASSED] drm_test_buddy_alloc_contiguous
[05:23:33] [PASSED] drm_test_buddy_alloc_clear
[05:23:33] [PASSED] drm_test_buddy_alloc_range_bias
[05:23:33] ==================== [PASSED] drm_buddy ====================
[05:23:33] ============= drm_cmdline_parser (40 subtests) =============
[05:23:33] [PASSED] drm_test_cmdline_force_d_only
[05:23:33] [PASSED] drm_test_cmdline_force_D_only_dvi
[05:23:33] [PASSED] drm_test_cmdline_force_D_only_hdmi
[05:23:33] [PASSED] drm_test_cmdline_force_D_only_not_digital
[05:23:33] [PASSED] drm_test_cmdline_force_e_only
[05:23:33] [PASSED] drm_test_cmdline_res
[05:23:33] [PASSED] drm_test_cmdline_res_vesa
[05:23:33] [PASSED] drm_test_cmdline_res_vesa_rblank
[05:23:33] [PASSED] drm_test_cmdline_res_rblank
[05:23:33] [PASSED] drm_test_cmdline_res_bpp
[05:23:33] [PASSED] drm_test_cmdline_res_refresh
[05:23:33] [PASSED] drm_test_cmdline_res_bpp_refresh
[05:23:33] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[05:23:33] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[05:23:33] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[05:23:33] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[05:23:33] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[05:23:33] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[05:23:33] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[05:23:33] [PASSED] drm_test_cmdline_res_margins_force_on
[05:23:33] [PASSED] drm_test_cmdline_res_vesa_margins
[05:23:33] [PASSED] drm_test_cmdline_name
[05:23:33] [PASSED] drm_test_cmdline_name_bpp
[05:23:33] [PASSED] drm_test_cmdline_name_option
[05:23:33] [PASSED] drm_test_cmdline_name_bpp_option
[05:23:33] [PASSED] drm_test_cmdline_rotate_0
[05:23:33] [PASSED] drm_test_cmdline_rotate_90
[05:23:33] [PASSED] drm_test_cmdline_rotate_180
[05:23:33] [PASSED] drm_test_cmdline_rotate_270
[05:23:33] [PASSED] drm_test_cmdline_hmirror
[05:23:33] [PASSED] drm_test_cmdline_vmirror
[05:23:33] [PASSED] drm_test_cmdline_margin_options
[05:23:33] [PASSED] drm_test_cmdline_multiple_options
[05:23:33] [PASSED] drm_test_cmdline_bpp_extra_and_option
[05:23:33] [PASSED] drm_test_cmdline_extra_and_option
[05:23:33] [PASSED] drm_test_cmdline_freestanding_options
[05:23:33] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[05:23:33] [PASSED] drm_test_cmdline_panel_orientation
[05:23:33] ================ drm_test_cmdline_invalid =================
[05:23:33] [PASSED] margin_only
[05:23:33] [PASSED] interlace_only
[05:23:33] [PASSED] res_missing_x
[05:23:33] [PASSED] res_missing_y
[05:23:33] [PASSED] res_bad_y
[05:23:33] [PASSED] res_missing_y_bpp
[05:23:33] [PASSED] res_bad_bpp
[05:23:33] [PASSED] res_bad_refresh
[05:23:33] [PASSED] res_bpp_refresh_force_on_off
[05:23:33] [PASSED] res_invalid_mode
[05:23:33] [PASSED] res_bpp_wrong_place_mode
[05:23:33] [PASSED] name_bpp_refresh
[05:23:33] [PASSED] name_refresh
[05:23:33] [PASSED] name_refresh_wrong_mode
[05:23:33] [PASSED] name_refresh_invalid_mode
[05:23:33] [PASSED] rotate_multiple
[05:23:33] [PASSED] rotate_invalid_val
[05:23:33] [PASSED] rotate_truncated
[05:23:33] [PASSED] invalid_option
[05:23:33] [PASSED] invalid_tv_option
[05:23:33] [PASSED] truncated_tv_option
[05:23:33] ============ [PASSED] drm_test_cmdline_invalid =============
[05:23:33] =============== drm_test_cmdline_tv_options ===============
[05:23:33] [PASSED] NTSC
[05:23:33] [PASSED] NTSC_443
[05:23:33] [PASSED] NTSC_J
[05:23:33] [PASSED] PAL
[05:23:33] [PASSED] PAL_M
[05:23:33] [PASSED] PAL_N
[05:23:33] [PASSED] SECAM
[05:23:33] [PASSED] MONO_525
[05:23:33] [PASSED] MONO_625
[05:23:33] =========== [PASSED] drm_test_cmdline_tv_options ===========
[05:23:33] =============== [PASSED] drm_cmdline_parser ================
[05:23:33] ========== drmm_connector_hdmi_init (20 subtests) ==========
[05:23:33] [PASSED] drm_test_connector_hdmi_init_valid
[05:23:33] [PASSED] drm_test_connector_hdmi_init_bpc_8
[05:23:33] [PASSED] drm_test_connector_hdmi_init_bpc_10
[05:23:33] [PASSED] drm_test_connector_hdmi_init_bpc_12
[05:23:33] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[05:23:33] [PASSED] drm_test_connector_hdmi_init_bpc_null
[05:23:33] [PASSED] drm_test_connector_hdmi_init_formats_empty
[05:23:33] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[05:23:33] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[05:23:33] [PASSED] supported_formats=0x9 yuv420_allowed=1
[05:23:33] [PASSED] supported_formats=0x9 yuv420_allowed=0
[05:23:33] [PASSED] supported_formats=0x3 yuv420_allowed=1
[05:23:33] [PASSED] supported_formats=0x3 yuv420_allowed=0
[05:23:33] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[05:23:33] [PASSED] drm_test_connector_hdmi_init_null_ddc
[05:23:33] [PASSED] drm_test_connector_hdmi_init_null_product
[05:23:33] [PASSED] drm_test_connector_hdmi_init_null_vendor
[05:23:33] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[05:23:33] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[05:23:33] [PASSED] drm_test_connector_hdmi_init_product_valid
[05:23:33] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[05:23:33] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[05:23:33] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[05:23:33] ========= drm_test_connector_hdmi_init_type_valid =========
[05:23:33] [PASSED] HDMI-A
[05:23:33] [PASSED] HDMI-B
[05:23:33] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[05:23:33] ======== drm_test_connector_hdmi_init_type_invalid ========
[05:23:33] [PASSED] Unknown
[05:23:33] [PASSED] VGA
[05:23:33] [PASSED] DVI-I
[05:23:33] [PASSED] DVI-D
[05:23:33] [PASSED] DVI-A
[05:23:33] [PASSED] Composite
[05:23:33] [PASSED] SVIDEO
[05:23:33] [PASSED] LVDS
[05:23:33] [PASSED] Component
[05:23:33] [PASSED] DIN
[05:23:33] [PASSED] DP
[05:23:33] [PASSED] TV
[05:23:33] [PASSED] eDP
[05:23:33] [PASSED] Virtual
[05:23:33] [PASSED] DSI
[05:23:33] [PASSED] DPI
[05:23:33] [PASSED] Writeback
[05:23:33] [PASSED] SPI
[05:23:33] [PASSED] USB
[05:23:33] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[05:23:33] ============ [PASSED] drmm_connector_hdmi_init =============
[05:23:33] ============= drmm_connector_init (3 subtests) =============
[05:23:33] [PASSED] drm_test_drmm_connector_init
[05:23:33] [PASSED] drm_test_drmm_connector_init_null_ddc
[05:23:33] ========= drm_test_drmm_connector_init_type_valid =========
[05:23:33] [PASSED] Unknown
[05:23:33] [PASSED] VGA
[05:23:33] [PASSED] DVI-I
[05:23:33] [PASSED] DVI-D
[05:23:33] [PASSED] DVI-A
[05:23:33] [PASSED] Composite
[05:23:33] [PASSED] SVIDEO
[05:23:33] [PASSED] LVDS
[05:23:33] [PASSED] Component
[05:23:33] [PASSED] DIN
[05:23:33] [PASSED] DP
[05:23:33] [PASSED] HDMI-A
[05:23:33] [PASSED] HDMI-B
[05:23:33] [PASSED] TV
[05:23:33] [PASSED] eDP
[05:23:33] [PASSED] Virtual
[05:23:33] [PASSED] DSI
[05:23:33] [PASSED] DPI
[05:23:33] [PASSED] Writeback
[05:23:33] [PASSED] SPI
[05:23:33] [PASSED] USB
[05:23:33] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[05:23:33] =============== [PASSED] drmm_connector_init ===============
[05:23:33] ========= drm_connector_dynamic_init (6 subtests) ==========
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_init
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_init_properties
[05:23:33] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[05:23:33] [PASSED] Unknown
[05:23:33] [PASSED] VGA
[05:23:33] [PASSED] DVI-I
[05:23:33] [PASSED] DVI-D
[05:23:33] [PASSED] DVI-A
[05:23:33] [PASSED] Composite
[05:23:33] [PASSED] SVIDEO
[05:23:33] [PASSED] LVDS
[05:23:33] [PASSED] Component
[05:23:33] [PASSED] DIN
[05:23:33] [PASSED] DP
[05:23:33] [PASSED] HDMI-A
[05:23:33] [PASSED] HDMI-B
[05:23:33] [PASSED] TV
[05:23:33] [PASSED] eDP
[05:23:33] [PASSED] Virtual
[05:23:33] [PASSED] DSI
[05:23:33] [PASSED] DPI
[05:23:33] [PASSED] Writeback
[05:23:33] [PASSED] SPI
[05:23:33] [PASSED] USB
[05:23:33] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[05:23:33] ======== drm_test_drm_connector_dynamic_init_name =========
[05:23:33] [PASSED] Unknown
[05:23:33] [PASSED] VGA
[05:23:33] [PASSED] DVI-I
[05:23:33] [PASSED] DVI-D
[05:23:33] [PASSED] DVI-A
[05:23:33] [PASSED] Composite
[05:23:33] [PASSED] SVIDEO
[05:23:33] [PASSED] LVDS
[05:23:33] [PASSED] Component
[05:23:33] [PASSED] DIN
[05:23:33] [PASSED] DP
[05:23:33] [PASSED] HDMI-A
[05:23:33] [PASSED] HDMI-B
[05:23:33] [PASSED] TV
[05:23:33] [PASSED] eDP
[05:23:33] [PASSED] Virtual
[05:23:33] [PASSED] DSI
[05:23:33] [PASSED] DPI
[05:23:33] [PASSED] Writeback
[05:23:33] [PASSED] SPI
[05:23:33] [PASSED] USB
[05:23:33] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[05:23:33] =========== [PASSED] drm_connector_dynamic_init ============
[05:23:33] ==== drm_connector_dynamic_register_early (4 subtests) =====
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[05:23:33] ====== [PASSED] drm_connector_dynamic_register_early =======
[05:23:33] ======= drm_connector_dynamic_register (7 subtests) ========
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[05:23:33] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[05:23:33] ========= [PASSED] drm_connector_dynamic_register ==========
[05:23:33] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[05:23:33] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[05:23:33] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[05:23:33] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[05:23:33] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[05:23:33] ========== drm_test_get_tv_mode_from_name_valid ===========
[05:23:33] [PASSED] NTSC
[05:23:33] [PASSED] NTSC-443
[05:23:33] [PASSED] NTSC-J
[05:23:33] [PASSED] PAL
[05:23:33] [PASSED] PAL-M
[05:23:33] [PASSED] PAL-N
[05:23:33] [PASSED] SECAM
[05:23:33] [PASSED] Mono
[05:23:33] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[05:23:33] [PASSED] drm_test_get_tv_mode_from_name_truncated
[05:23:33] ============ [PASSED] drm_get_tv_mode_from_name ============
[05:23:33] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[05:23:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[05:23:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[05:23:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[05:23:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[05:23:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[05:23:33] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[05:23:33] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[05:23:33] [PASSED] VIC 96
[05:23:33] [PASSED] VIC 97
[05:23:33] [PASSED] VIC 101
[05:23:33] [PASSED] VIC 102
[05:23:33] [PASSED] VIC 106
[05:23:33] [PASSED] VIC 107
[05:23:33] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[05:23:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[05:23:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[05:23:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[05:23:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[05:23:33] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[05:23:33] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[05:23:33] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[05:23:33] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[05:23:33] [PASSED] Automatic
[05:23:33] [PASSED] Full
[05:23:33] [PASSED] Limited 16:235
[05:23:33] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[05:23:33] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[05:23:33] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[05:23:33] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[05:23:33] === drm_test_drm_hdmi_connector_get_output_format_name ====
[05:23:33] [PASSED] RGB
[05:23:33] [PASSED] YUV 4:2:0
[05:23:33] [PASSED] YUV 4:2:2
[05:23:33] [PASSED] YUV 4:4:4
[05:23:33] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[05:23:33] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[05:23:33] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[05:23:33] ============= drm_damage_helper (21 subtests) ==============
[05:23:33] [PASSED] drm_test_damage_iter_no_damage
[05:23:33] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[05:23:33] [PASSED] drm_test_damage_iter_no_damage_src_moved
[05:23:33] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[05:23:33] [PASSED] drm_test_damage_iter_no_damage_not_visible
[05:23:33] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[05:23:33] [PASSED] drm_test_damage_iter_no_damage_no_fb
[05:23:33] [PASSED] drm_test_damage_iter_simple_damage
[05:23:33] [PASSED] drm_test_damage_iter_single_damage
[05:23:33] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[05:23:33] [PASSED] drm_test_damage_iter_single_damage_outside_src
[05:23:33] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[05:23:33] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[05:23:33] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[05:23:33] [PASSED] drm_test_damage_iter_single_damage_src_moved
[05:23:33] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[05:23:33] [PASSED] drm_test_damage_iter_damage
[05:23:33] [PASSED] drm_test_damage_iter_damage_one_intersect
[05:23:33] [PASSED] drm_test_damage_iter_damage_one_outside
[05:23:33] [PASSED] drm_test_damage_iter_damage_src_moved
[05:23:33] [PASSED] drm_test_damage_iter_damage_not_visible
[05:23:33] ================ [PASSED] drm_damage_helper ================
[05:23:33] ============== drm_dp_mst_helper (3 subtests) ==============
[05:23:33] ============== drm_test_dp_mst_calc_pbn_mode ==============
[05:23:33] [PASSED] Clock 154000 BPP 30 DSC disabled
[05:23:33] [PASSED] Clock 234000 BPP 30 DSC disabled
[05:23:33] [PASSED] Clock 297000 BPP 24 DSC disabled
[05:23:33] [PASSED] Clock 332880 BPP 24 DSC enabled
[05:23:33] [PASSED] Clock 324540 BPP 24 DSC enabled
[05:23:33] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[05:23:33] ============== drm_test_dp_mst_calc_pbn_div ===============
[05:23:33] [PASSED] Link rate 2000000 lane count 4
[05:23:33] [PASSED] Link rate 2000000 lane count 2
[05:23:33] [PASSED] Link rate 2000000 lane count 1
[05:23:33] [PASSED] Link rate 1350000 lane count 4
[05:23:33] [PASSED] Link rate 1350000 lane count 2
[05:23:33] [PASSED] Link rate 1350000 lane count 1
[05:23:33] [PASSED] Link rate 1000000 lane count 4
[05:23:33] [PASSED] Link rate 1000000 lane count 2
[05:23:33] [PASSED] Link rate 1000000 lane count 1
[05:23:33] [PASSED] Link rate 810000 lane count 4
[05:23:33] [PASSED] Link rate 810000 lane count 2
[05:23:33] [PASSED] Link rate 810000 lane count 1
[05:23:33] [PASSED] Link rate 540000 lane count 4
[05:23:33] [PASSED] Link rate 540000 lane count 2
[05:23:33] [PASSED] Link rate 540000 lane count 1
[05:23:33] [PASSED] Link rate 270000 lane count 4
[05:23:33] [PASSED] Link rate 270000 lane count 2
[05:23:33] [PASSED] Link rate 270000 lane count 1
[05:23:33] [PASSED] Link rate 162000 lane count 4
[05:23:33] [PASSED] Link rate 162000 lane count 2
[05:23:33] [PASSED] Link rate 162000 lane count 1
[05:23:33] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[05:23:33] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[05:23:33] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[05:23:33] [PASSED] DP_POWER_UP_PHY with port number
[05:23:33] [PASSED] DP_POWER_DOWN_PHY with port number
[05:23:33] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[05:23:33] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[05:23:33] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[05:23:33] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[05:23:33] [PASSED] DP_QUERY_PAYLOAD with port number
[05:23:33] [PASSED] DP_QUERY_PAYLOAD with VCPI
[05:23:33] [PASSED] DP_REMOTE_DPCD_READ with port number
[05:23:33] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[05:23:33] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[05:23:33] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[05:23:33] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[05:23:33] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[05:23:33] [PASSED] DP_REMOTE_I2C_READ with port number
[05:23:33] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[05:23:33] [PASSED] DP_REMOTE_I2C_READ with transactions array
[05:23:33] [PASSED] DP_REMOTE_I2C_WRITE with port number
[05:23:33] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[05:23:33] [PASSED] DP_REMOTE_I2C_WRITE with data array
[05:23:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[05:23:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[05:23:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[05:23:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[05:23:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[05:23:33] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[05:23:33] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[05:23:33] ================ [PASSED] drm_dp_mst_helper ================
[05:23:33] ================== drm_exec (7 subtests) ===================
[05:23:33] [PASSED] sanitycheck
[05:23:33] [PASSED] test_lock
[05:23:33] [PASSED] test_lock_unlock
[05:23:33] [PASSED] test_duplicates
[05:23:33] [PASSED] test_prepare
[05:23:33] [PASSED] test_prepare_array
[05:23:33] [PASSED] test_multiple_loops
[05:23:33] ==================== [PASSED] drm_exec =====================
[05:23:33] =========== drm_format_helper_test (17 subtests) ===========
[05:23:33] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[05:23:33] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[05:23:33] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[05:23:33] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[05:23:33] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[05:23:33] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[05:23:33] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[05:23:33] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[05:23:33] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[05:23:33] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[05:23:33] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[05:23:33] ============== drm_test_fb_xrgb8888_to_mono ===============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[05:23:33] ==================== drm_test_fb_swab =====================
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ================ [PASSED] drm_test_fb_swab =================
[05:23:33] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[05:23:33] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[05:23:33] [PASSED] single_pixel_source_buffer
[05:23:33] [PASSED] single_pixel_clip_rectangle
[05:23:33] [PASSED] well_known_colors
[05:23:33] [PASSED] destination_pitch
[05:23:33] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[05:23:33] ================= drm_test_fb_clip_offset =================
[05:23:33] [PASSED] pass through
[05:23:33] [PASSED] horizontal offset
[05:23:33] [PASSED] vertical offset
[05:23:33] [PASSED] horizontal and vertical offset
[05:23:33] [PASSED] horizontal offset (custom pitch)
[05:23:33] [PASSED] vertical offset (custom pitch)
[05:23:33] [PASSED] horizontal and vertical offset (custom pitch)
[05:23:33] ============= [PASSED] drm_test_fb_clip_offset =============
[05:23:33] =================== drm_test_fb_memcpy ====================
[05:23:33] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[05:23:33] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[05:23:33] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[05:23:33] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[05:23:33] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[05:23:33] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[05:23:33] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[05:23:33] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[05:23:33] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[05:23:33] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[05:23:33] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[05:23:33] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[05:23:33] =============== [PASSED] drm_test_fb_memcpy ================
[05:23:33] ============= [PASSED] drm_format_helper_test ==============
[05:23:33] ================= drm_format (18 subtests) =================
[05:23:33] [PASSED] drm_test_format_block_width_invalid
[05:23:33] [PASSED] drm_test_format_block_width_one_plane
[05:23:33] [PASSED] drm_test_format_block_width_two_plane
[05:23:33] [PASSED] drm_test_format_block_width_three_plane
[05:23:33] [PASSED] drm_test_format_block_width_tiled
[05:23:33] [PASSED] drm_test_format_block_height_invalid
[05:23:33] [PASSED] drm_test_format_block_height_one_plane
[05:23:33] [PASSED] drm_test_format_block_height_two_plane
[05:23:33] [PASSED] drm_test_format_block_height_three_plane
[05:23:33] [PASSED] drm_test_format_block_height_tiled
[05:23:33] [PASSED] drm_test_format_min_pitch_invalid
[05:23:33] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[05:23:33] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[05:23:33] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[05:23:33] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[05:23:33] [PASSED] drm_test_format_min_pitch_two_plane
[05:23:33] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[05:23:33] [PASSED] drm_test_format_min_pitch_tiled
[05:23:33] =================== [PASSED] drm_format ====================
[05:23:33] ============== drm_framebuffer (10 subtests) ===============
[05:23:33] ========== drm_test_framebuffer_check_src_coords ==========
[05:23:33] [PASSED] Success: source fits into fb
[05:23:33] [PASSED] Fail: overflowing fb with x-axis coordinate
[05:23:33] [PASSED] Fail: overflowing fb with y-axis coordinate
[05:23:33] [PASSED] Fail: overflowing fb with source width
[05:23:33] [PASSED] Fail: overflowing fb with source height
[05:23:33] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[05:23:33] [PASSED] drm_test_framebuffer_cleanup
[05:23:33] =============== drm_test_framebuffer_create ===============
[05:23:33] [PASSED] ABGR8888 normal sizes
[05:23:33] [PASSED] ABGR8888 max sizes
[05:23:33] [PASSED] ABGR8888 pitch greater than min required
[05:23:33] [PASSED] ABGR8888 pitch less than min required
[05:23:33] [PASSED] ABGR8888 Invalid width
[05:23:33] [PASSED] ABGR8888 Invalid buffer handle
[05:23:33] [PASSED] No pixel format
[05:23:33] [PASSED] ABGR8888 Width 0
[05:23:33] [PASSED] ABGR8888 Height 0
[05:23:33] [PASSED] ABGR8888 Out of bound height * pitch combination
[05:23:33] [PASSED] ABGR8888 Large buffer offset
[05:23:33] [PASSED] ABGR8888 Buffer offset for inexistent plane
[05:23:33] [PASSED] ABGR8888 Invalid flag
[05:23:33] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[05:23:33] [PASSED] ABGR8888 Valid buffer modifier
[05:23:33] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[05:23:33] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[05:23:33] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[05:23:33] [PASSED] NV12 Normal sizes
[05:23:33] [PASSED] NV12 Max sizes
[05:23:33] [PASSED] NV12 Invalid pitch
[05:23:33] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[05:23:33] [PASSED] NV12 different modifier per-plane
[05:23:33] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[05:23:33] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[05:23:33] [PASSED] NV12 Modifier for inexistent plane
[05:23:33] [PASSED] NV12 Handle for inexistent plane
[05:23:33] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[05:23:33] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[05:23:33] [PASSED] YVU420 Normal sizes
[05:23:33] [PASSED] YVU420 Max sizes
[05:23:33] [PASSED] YVU420 Invalid pitch
[05:23:33] [PASSED] YVU420 Different pitches
[05:23:33] [PASSED] YVU420 Different buffer offsets/pitches
[05:23:33] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[05:23:33] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[05:23:33] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[05:23:33] [PASSED] YVU420 Valid modifier
[05:23:33] [PASSED] YVU420 Different modifiers per plane
[05:23:33] [PASSED] YVU420 Modifier for inexistent plane
[05:23:33] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[05:23:33] [PASSED] X0L2 Normal sizes
[05:23:33] [PASSED] X0L2 Max sizes
[05:23:33] [PASSED] X0L2 Invalid pitch
[05:23:33] [PASSED] X0L2 Pitch greater than minimum required
[05:23:33] [PASSED] X0L2 Handle for inexistent plane
[05:23:33] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[05:23:33] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[05:23:33] [PASSED] X0L2 Valid modifier
[05:23:33] [PASSED] X0L2 Modifier for inexistent plane
[05:23:33] =========== [PASSED] drm_test_framebuffer_create ===========
[05:23:33] [PASSED] drm_test_framebuffer_free
[05:23:33] [PASSED] drm_test_framebuffer_init
[05:23:33] [PASSED] drm_test_framebuffer_init_bad_format
[05:23:33] [PASSED] drm_test_framebuffer_init_dev_mismatch
[05:23:33] [PASSED] drm_test_framebuffer_lookup
[05:23:33] [PASSED] drm_test_framebuffer_lookup_inexistent
[05:23:33] [PASSED] drm_test_framebuffer_modifiers_not_supported
[05:23:33] ================= [PASSED] drm_framebuffer =================
[05:23:33] ================ drm_gem_shmem (8 subtests) ================
[05:23:33] [PASSED] drm_gem_shmem_test_obj_create
[05:23:33] [PASSED] drm_gem_shmem_test_obj_create_private
[05:23:33] [PASSED] drm_gem_shmem_test_pin_pages
[05:23:33] [PASSED] drm_gem_shmem_test_vmap
[05:23:33] [PASSED] drm_gem_shmem_test_get_pages_sgt
[05:23:33] [PASSED] drm_gem_shmem_test_get_sg_table
[05:23:33] [PASSED] drm_gem_shmem_test_madvise
[05:23:33] [PASSED] drm_gem_shmem_test_purge
[05:23:33] ================== [PASSED] drm_gem_shmem ==================
[05:23:33] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[05:23:33] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[05:23:33] [PASSED] Automatic
[05:23:33] [PASSED] Full
[05:23:33] [PASSED] Limited 16:235
[05:23:33] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[05:23:33] [PASSED] drm_test_check_disable_connector
[05:23:33] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[05:23:33] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[05:23:33] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[05:23:33] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[05:23:33] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[05:23:33] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[05:23:33] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[05:23:33] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[05:23:33] [PASSED] drm_test_check_output_bpc_dvi
[05:23:33] [PASSED] drm_test_check_output_bpc_format_vic_1
[05:23:33] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[05:23:33] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[05:23:33] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[05:23:33] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[05:23:33] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[05:23:33] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[05:23:33] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[05:23:33] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[05:23:33] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[05:23:33] [PASSED] drm_test_check_broadcast_rgb_value
[05:23:33] [PASSED] drm_test_check_bpc_8_value
[05:23:33] [PASSED] drm_test_check_bpc_10_value
[05:23:33] [PASSED] drm_test_check_bpc_12_value
[05:23:33] [PASSED] drm_test_check_format_value
[05:23:33] [PASSED] drm_test_check_tmds_char_value
[05:23:33] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[05:23:33] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[05:23:33] [PASSED] drm_test_check_mode_valid
[05:23:33] [PASSED] drm_test_check_mode_valid_reject
[05:23:33] [PASSED] drm_test_check_mode_valid_reject_rate
[05:23:33] [PASSED] drm_test_check_mode_valid_reject_max_clock
[05:23:33] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[05:23:33] ================= drm_managed (2 subtests) =================
[05:23:33] [PASSED] drm_test_managed_release_action
[05:23:33] [PASSED] drm_test_managed_run_action
[05:23:33] =================== [PASSED] drm_managed ===================
[05:23:33] =================== drm_mm (6 subtests) ====================
[05:23:33] [PASSED] drm_test_mm_init
[05:23:33] [PASSED] drm_test_mm_debug
[05:23:33] [PASSED] drm_test_mm_align32
[05:23:33] [PASSED] drm_test_mm_align64
[05:23:33] [PASSED] drm_test_mm_lowest
[05:23:33] [PASSED] drm_test_mm_highest
[05:23:33] ===================== [PASSED] drm_mm ======================
[05:23:33] ============= drm_modes_analog_tv (5 subtests) =============
[05:23:33] [PASSED] drm_test_modes_analog_tv_mono_576i
[05:23:33] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[05:23:33] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[05:23:33] [PASSED] drm_test_modes_analog_tv_pal_576i
[05:23:33] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[05:23:33] =============== [PASSED] drm_modes_analog_tv ===============
[05:23:33] ============== drm_plane_helper (2 subtests) ===============
[05:23:33] =============== drm_test_check_plane_state ================
[05:23:33] [PASSED] clipping_simple
[05:23:33] [PASSED] clipping_rotate_reflect
[05:23:33] [PASSED] positioning_simple
[05:23:33] [PASSED] upscaling
[05:23:33] [PASSED] downscaling
[05:23:33] [PASSED] rounding1
[05:23:33] [PASSED] rounding2
[05:23:33] [PASSED] rounding3
[05:23:33] [PASSED] rounding4
[05:23:33] =========== [PASSED] drm_test_check_plane_state ============
[05:23:33] =========== drm_test_check_invalid_plane_state ============
[05:23:33] [PASSED] positioning_invalid
[05:23:33] [PASSED] upscaling_invalid
[05:23:33] [PASSED] downscaling_invalid
[05:23:33] ======= [PASSED] drm_test_check_invalid_plane_state ========
[05:23:33] ================ [PASSED] drm_plane_helper =================
[05:23:33] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[05:23:33] ====== drm_test_connector_helper_tv_get_modes_check =======
[05:23:33] [PASSED] None
[05:23:33] [PASSED] PAL
[05:23:33] [PASSED] NTSC
[05:23:33] [PASSED] Both, NTSC Default
[05:23:33] [PASSED] Both, PAL Default
[05:23:33] [PASSED] Both, NTSC Default, with PAL on command-line
[05:23:33] [PASSED] Both, PAL Default, with NTSC on command-line
[05:23:33] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[05:23:33] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[05:23:33] ================== drm_rect (9 subtests) ===================
[05:23:33] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[05:23:33] [PASSED] drm_test_rect_clip_scaled_not_clipped
[05:23:33] [PASSED] drm_test_rect_clip_scaled_clipped
[05:23:33] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[05:23:33] ================= drm_test_rect_intersect =================
[05:23:33] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[05:23:33] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[05:23:33] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[05:23:33] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[05:23:33] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[05:23:33] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[05:23:33] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[05:23:33] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[05:23:33] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[05:23:33] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[05:23:33] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[05:23:33] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[05:23:33] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[05:23:33] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[05:23:33] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[05:23:33] ============= [PASSED] drm_test_rect_intersect =============
[05:23:33] ================ drm_test_rect_calc_hscale ================
[05:23:33] [PASSED] normal use
[05:23:33] [PASSED] out of max range
[05:23:33] [PASSED] out of min range
[05:23:33] [PASSED] zero dst
[05:23:33] [PASSED] negative src
[05:23:33] [PASSED] negative dst
[05:23:33] ============ [PASSED] drm_test_rect_calc_hscale ============
[05:23:33] ================ drm_test_rect_calc_vscale ================
[05:23:33] [PASSED] normal use
[05:23:33] [PASSED] out of max range
[05:23:33] [PASSED] out of min range
[05:23:33] [PASSED] zero dst
[05:23:33] [PASSED] negative src
[05:23:33] [PASSED] negative dst
[05:23:33] ============ [PASSED] drm_test_rect_calc_vscale ============
[05:23:33] ================== drm_test_rect_rotate ===================
[05:23:33] [PASSED] reflect-x
[05:23:33] [PASSED] reflect-y
[05:23:33] [PASSED] rotate-0
[05:23:33] [PASSED] rotate-90
[05:23:33] [PASSED] rotate-180
[05:23:33] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[05:23:33] ============== [PASSED] drm_test_rect_rotate ===============
[05:23:33] ================ drm_test_rect_rotate_inv =================
[05:23:33] [PASSED] reflect-x
[05:23:33] [PASSED] reflect-y
[05:23:33] [PASSED] rotate-0
[05:23:33] [PASSED] rotate-90
[05:23:33] [PASSED] rotate-180
[05:23:33] [PASSED] rotate-270
[05:23:33] ============ [PASSED] drm_test_rect_rotate_inv =============
[05:23:33] ==================== [PASSED] drm_rect =====================
[05:23:33] ============ drm_sysfb_modeset_test (1 subtest) ============
[05:23:33] ============ drm_test_sysfb_build_fourcc_list =============
[05:23:33] [PASSED] no native formats
[05:23:33] [PASSED] XRGB8888 as native format
[05:23:33] [PASSED] remove duplicates
[05:23:33] [PASSED] convert alpha formats
[05:23:33] [PASSED] random formats
[05:23:33] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[05:23:33] ============= [PASSED] drm_sysfb_modeset_test ==============
[05:23:33] ============================================================
[05:23:33] Testing complete. Ran 616 tests: passed: 616
[05:23:33] Elapsed time: 25.372s total, 1.755s configuring, 23.399s building, 0.189s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[05:23:33] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[05:23:35] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[05:23:43] Starting KUnit Kernel (1/1)...
[05:23:43] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[05:23:43] ================= ttm_device (5 subtests) ==================
[05:23:43] [PASSED] ttm_device_init_basic
[05:23:43] [PASSED] ttm_device_init_multiple
[05:23:43] [PASSED] ttm_device_fini_basic
[05:23:43] [PASSED] ttm_device_init_no_vma_man
[05:23:43] ================== ttm_device_init_pools ==================
[05:23:43] [PASSED] No DMA allocations, no DMA32 required
[05:23:43] [PASSED] DMA allocations, DMA32 required
[05:23:43] [PASSED] No DMA allocations, DMA32 required
[05:23:43] [PASSED] DMA allocations, no DMA32 required
[05:23:43] ============== [PASSED] ttm_device_init_pools ==============
[05:23:43] =================== [PASSED] ttm_device ====================
[05:23:43] ================== ttm_pool (8 subtests) ===================
[05:23:43] ================== ttm_pool_alloc_basic ===================
[05:23:43] [PASSED] One page
[05:23:43] [PASSED] More than one page
[05:23:43] [PASSED] Above the allocation limit
[05:23:43] [PASSED] One page, with coherent DMA mappings enabled
[05:23:43] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[05:23:43] ============== [PASSED] ttm_pool_alloc_basic ===============
[05:23:43] ============== ttm_pool_alloc_basic_dma_addr ==============
[05:23:43] [PASSED] One page
[05:23:43] [PASSED] More than one page
[05:23:43] [PASSED] Above the allocation limit
[05:23:43] [PASSED] One page, with coherent DMA mappings enabled
[05:23:43] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[05:23:43] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[05:23:43] [PASSED] ttm_pool_alloc_order_caching_match
[05:23:43] [PASSED] ttm_pool_alloc_caching_mismatch
[05:23:43] [PASSED] ttm_pool_alloc_order_mismatch
[05:23:43] [PASSED] ttm_pool_free_dma_alloc
[05:23:43] [PASSED] ttm_pool_free_no_dma_alloc
[05:23:43] [PASSED] ttm_pool_fini_basic
[05:23:43] ==================== [PASSED] ttm_pool =====================
[05:23:43] ================ ttm_resource (8 subtests) =================
[05:23:43] ================= ttm_resource_init_basic =================
[05:23:43] [PASSED] Init resource in TTM_PL_SYSTEM
[05:23:43] [PASSED] Init resource in TTM_PL_VRAM
[05:23:43] [PASSED] Init resource in a private placement
[05:23:43] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[05:23:43] ============= [PASSED] ttm_resource_init_basic =============
[05:23:43] [PASSED] ttm_resource_init_pinned
[05:23:43] [PASSED] ttm_resource_fini_basic
[05:23:43] [PASSED] ttm_resource_manager_init_basic
[05:23:43] [PASSED] ttm_resource_manager_usage_basic
[05:23:43] [PASSED] ttm_resource_manager_set_used_basic
[05:23:43] [PASSED] ttm_sys_man_alloc_basic
[05:23:43] [PASSED] ttm_sys_man_free_basic
[05:23:43] ================== [PASSED] ttm_resource ===================
[05:23:43] =================== ttm_tt (15 subtests) ===================
[05:23:43] ==================== ttm_tt_init_basic ====================
[05:23:43] [PASSED] Page-aligned size
[05:23:43] [PASSED] Extra pages requested
[05:23:43] ================ [PASSED] ttm_tt_init_basic ================
[05:23:43] [PASSED] ttm_tt_init_misaligned
[05:23:43] [PASSED] ttm_tt_fini_basic
[05:23:43] [PASSED] ttm_tt_fini_sg
[05:23:43] [PASSED] ttm_tt_fini_shmem
[05:23:43] [PASSED] ttm_tt_create_basic
[05:23:43] [PASSED] ttm_tt_create_invalid_bo_type
[05:23:43] [PASSED] ttm_tt_create_ttm_exists
[05:23:43] [PASSED] ttm_tt_create_failed
[05:23:43] [PASSED] ttm_tt_destroy_basic
[05:23:43] [PASSED] ttm_tt_populate_null_ttm
[05:23:43] [PASSED] ttm_tt_populate_populated_ttm
[05:23:43] [PASSED] ttm_tt_unpopulate_basic
[05:23:43] [PASSED] ttm_tt_unpopulate_empty_ttm
[05:23:43] [PASSED] ttm_tt_swapin_basic
[05:23:43] ===================== [PASSED] ttm_tt ======================
[05:23:43] =================== ttm_bo (14 subtests) ===================
[05:23:43] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[05:23:43] [PASSED] Cannot be interrupted and sleeps
[05:23:43] [PASSED] Cannot be interrupted, locks straight away
[05:23:43] [PASSED] Can be interrupted, sleeps
[05:23:43] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[05:23:43] [PASSED] ttm_bo_reserve_locked_no_sleep
[05:23:43] [PASSED] ttm_bo_reserve_no_wait_ticket
[05:23:43] [PASSED] ttm_bo_reserve_double_resv
[05:23:43] [PASSED] ttm_bo_reserve_interrupted
[05:23:43] [PASSED] ttm_bo_reserve_deadlock
[05:23:43] [PASSED] ttm_bo_unreserve_basic
[05:23:43] [PASSED] ttm_bo_unreserve_pinned
[05:23:43] [PASSED] ttm_bo_unreserve_bulk
[05:23:43] [PASSED] ttm_bo_put_basic
[05:23:43] [PASSED] ttm_bo_put_shared_resv
[05:23:43] [PASSED] ttm_bo_pin_basic
[05:23:43] [PASSED] ttm_bo_pin_unpin_resource
[05:23:43] [PASSED] ttm_bo_multiple_pin_one_unpin
[05:23:43] ===================== [PASSED] ttm_bo ======================
[05:23:43] ============== ttm_bo_validate (21 subtests) ===============
[05:23:43] ============== ttm_bo_init_reserved_sys_man ===============
[05:23:43] [PASSED] Buffer object for userspace
[05:23:43] [PASSED] Kernel buffer object
[05:23:43] [PASSED] Shared buffer object
[05:23:43] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[05:23:43] ============== ttm_bo_init_reserved_mock_man ==============
[05:23:43] [PASSED] Buffer object for userspace
[05:23:43] [PASSED] Kernel buffer object
[05:23:43] [PASSED] Shared buffer object
[05:23:43] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[05:23:43] [PASSED] ttm_bo_init_reserved_resv
[05:23:43] ================== ttm_bo_validate_basic ==================
[05:23:43] [PASSED] Buffer object for userspace
[05:23:43] [PASSED] Kernel buffer object
[05:23:43] [PASSED] Shared buffer object
[05:23:43] ============== [PASSED] ttm_bo_validate_basic ==============
[05:23:43] [PASSED] ttm_bo_validate_invalid_placement
[05:23:43] ============= ttm_bo_validate_same_placement ==============
[05:23:43] [PASSED] System manager
[05:23:43] [PASSED] VRAM manager
[05:23:43] ========= [PASSED] ttm_bo_validate_same_placement ==========
[05:23:43] [PASSED] ttm_bo_validate_failed_alloc
[05:23:43] [PASSED] ttm_bo_validate_pinned
[05:23:43] [PASSED] ttm_bo_validate_busy_placement
[05:23:43] ================ ttm_bo_validate_multihop =================
[05:23:43] [PASSED] Buffer object for userspace
[05:23:43] [PASSED] Kernel buffer object
[05:23:43] [PASSED] Shared buffer object
[05:23:43] ============ [PASSED] ttm_bo_validate_multihop =============
[05:23:43] ========== ttm_bo_validate_no_placement_signaled ==========
[05:23:43] [PASSED] Buffer object in system domain, no page vector
[05:23:43] [PASSED] Buffer object in system domain with an existing page vector
[05:23:43] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[05:23:43] ======== ttm_bo_validate_no_placement_not_signaled ========
[05:23:43] [PASSED] Buffer object for userspace
[05:23:43] [PASSED] Kernel buffer object
[05:23:43] [PASSED] Shared buffer object
[05:23:43] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[05:23:43] [PASSED] ttm_bo_validate_move_fence_signaled
[05:23:43] ========= ttm_bo_validate_move_fence_not_signaled =========
[05:23:43] [PASSED] Waits for GPU
[05:23:43] [PASSED] Tries to lock straight away
[05:23:43] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[05:23:43] [PASSED] ttm_bo_validate_happy_evict
[05:23:43] [PASSED] ttm_bo_validate_all_pinned_evict
[05:23:43] [PASSED] ttm_bo_validate_allowed_only_evict
[05:23:43] [PASSED] ttm_bo_validate_deleted_evict
[05:23:43] [PASSED] ttm_bo_validate_busy_domain_evict
[05:23:43] [PASSED] ttm_bo_validate_evict_gutting
[05:23:43] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[05:23:43] ================= [PASSED] ttm_bo_validate =================
[05:23:43] ============================================================
[05:23:43] Testing complete. Ran 101 tests: passed: 101
[05:23:43] Elapsed time: 10.004s total, 1.725s configuring, 8.062s building, 0.182s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ Xe.CI.BAT: success for Enhance SVM stats
2025-08-19 18:53 [PATCH v4 0/2] Enhance SVM stats Matthew Brost
` (2 preceding siblings ...)
2025-08-20 5:23 ` ✓ CI.KUnit: success for Enhance SVM stats Patchwork
@ 2025-08-20 6:00 ` Patchwork
2025-08-21 1:28 ` ✗ Xe.CI.Full: failure " Patchwork
4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-08-20 6:00 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1163 bytes --]
== Series Details ==
Series: Enhance SVM stats
URL : https://patchwork.freedesktop.org/series/153167/
State : success
== Summary ==
CI Bug Log - changes from xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621_BAT -> xe-pw-153167v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (11 -> 9)
------------------------------
Missing (2): bat-adlp-vm bat-ptl-vm
Known issues
------------
Here are the changes found in xe-pw-153167v1_BAT that come from known issues:
### IGT changes ###
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#5783]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5783
Build changes
-------------
* Linux: xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621 -> xe-pw-153167v1
IGT_8498: 8498
xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621: 58aeea9c7882b70436d9c2e55e45738711a41621
xe-pw-153167v1: 153167v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/index.html
[-- Attachment #2: Type: text/html, Size: 1640 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✗ Xe.CI.Full: failure for Enhance SVM stats
2025-08-19 18:53 [PATCH v4 0/2] Enhance SVM stats Matthew Brost
` (3 preceding siblings ...)
2025-08-20 6:00 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-08-21 1:28 ` Patchwork
4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-08-21 1:28 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 32265 bytes --]
== Series Details ==
Series: Enhance SVM stats
URL : https://patchwork.freedesktop.org/series/153167/
State : failure
== Summary ==
CI Bug Log - changes from xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621_FULL -> xe-pw-153167v1_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-153167v1_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-153167v1_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-153167v1_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@xe_exec_compute_mode@many-execqueues-bindexecqueue-rebind:
- shard-lnl: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-lnl-1/igt@xe_exec_compute_mode@many-execqueues-bindexecqueue-rebind.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-lnl-5/igt@xe_exec_compute_mode@many-execqueues-bindexecqueue-rebind.html
* igt@xe_wedged@wedged-mode-toggle:
- shard-dg2-set2: [PASS][3] -> [ABORT][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-432/igt@xe_wedged@wedged-mode-toggle.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-433/igt@xe_wedged@wedged-mode-toggle.html
Known issues
------------
Here are the changes found in xe-pw-153167v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-adlp: NOTRUN -> [SKIP][5] ([Intel XE#1124]) +1 other test skip
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-90:
- shard-dg2-set2: NOTRUN -> [SKIP][6] ([Intel XE#316])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][7] ([Intel XE#1124]) +2 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_bw@connected-linear-tiling-3-displays-2560x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][8] ([Intel XE#2191])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-433/igt@kms_bw@connected-linear-tiling-3-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-3-displays-3840x2160p:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#367])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-bmg-3/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html
* igt@kms_bw@linear-tiling-4-displays-3840x2160p:
- shard-dg2-set2: NOTRUN -> [SKIP][10] ([Intel XE#367])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_bw@linear-tiling-4-displays-3840x2160p.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][11] ([Intel XE#787]) +167 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-432/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-a-dp-2.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][12] ([Intel XE#787]) +8 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#455] / [Intel XE#787]) +25 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][14] ([Intel XE#455] / [Intel XE#787]) +5 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-dp-2:
- shard-bmg: [PASS][15] -> [FAIL][16] ([Intel XE#5376]) +1 other test fail
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-dp-2.html
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-bmg-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-dp-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [PASS][17] -> [INCOMPLETE][18] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4345])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][19] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4345])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4:
- shard-dg2-set2: [PASS][20] -> [INCOMPLETE][21] ([Intel XE#3124])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6:
- shard-dg2-set2: [PASS][22] -> [DMESG-WARN][23] ([Intel XE#1727] / [Intel XE#3113])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
* igt@kms_chamelium_edid@dp-edid-change-during-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][24] ([Intel XE#373]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_chamelium_edid@dp-edid-change-during-suspend.html
* igt@kms_content_protection@srm@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [FAIL][25] ([Intel XE#1178])
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-432/igt@kms_content_protection@srm@pipe-a-dp-2.html
* igt@kms_content_protection@uevent@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [FAIL][26] ([Intel XE#1188])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-432/igt@kms_content_protection@uevent@pipe-a-dp-2.html
* igt@kms_flip@flip-vs-rmfb-interruptible:
- shard-adlp: [PASS][27] -> [DMESG-WARN][28] ([Intel XE#4543] / [Intel XE#5208]) +1 other test dmesg-warn
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-8/igt@kms_flip@flip-vs-rmfb-interruptible.html
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-4/igt@kms_flip@flip-vs-rmfb-interruptible.html
* igt@kms_flip@flip-vs-rmfb-interruptible@b-hdmi-a1:
- shard-adlp: [PASS][29] -> [DMESG-WARN][30] ([Intel XE#4543]) +2 other tests dmesg-warn
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-8/igt@kms_flip@flip-vs-rmfb-interruptible@b-hdmi-a1.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-4/igt@kms_flip@flip-vs-rmfb-interruptible@b-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend@c-dp4:
- shard-dg2-set2: [PASS][31] -> [INCOMPLETE][32] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-434/igt@kms_flip@flip-vs-suspend@c-dp4.html
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-466/igt@kms_flip@flip-vs-suspend@c-dp4.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-dg2-set2: NOTRUN -> [SKIP][33] ([Intel XE#455]) +5 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][34] ([Intel XE#651]) +4 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render:
- shard-adlp: NOTRUN -> [SKIP][35] ([Intel XE#656]) +3 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
- shard-adlp: NOTRUN -> [SKIP][36] ([Intel XE#653])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_frontbuffer_tracking@fbcpsr-stridechange.html
* igt@kms_frontbuffer_tracking@plane-fbc-rte:
- shard-dg2-set2: NOTRUN -> [SKIP][37] ([Intel XE#1158])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move:
- shard-dg2-set2: NOTRUN -> [SKIP][38] ([Intel XE#653]) +7 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move.html
* igt@kms_hdr@brightness-with-hdr:
- shard-adlp: NOTRUN -> [SKIP][39] ([Intel XE#455])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-adlp: NOTRUN -> [SKIP][40] ([Intel XE#2925])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_pm_backlight@bad-brightness:
- shard-dg2-set2: NOTRUN -> [SKIP][41] ([Intel XE#870])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_pm_backlight@bad-brightness.html
* igt@kms_pm_rpm@system-suspend-modeset:
- shard-adlp: [PASS][42] -> [DMESG-WARN][43] ([Intel XE#2953] / [Intel XE#4173])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-2/igt@kms_pm_rpm@system-suspend-modeset.html
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-4/igt@kms_pm_rpm@system-suspend-modeset.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][44] ([Intel XE#1489] / [Intel XE#5899]) +1 other test skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb:
- shard-adlp: NOTRUN -> [SKIP][45] ([Intel XE#1489] / [Intel XE#5899]) +1 other test skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html
* igt@kms_psr@pr-dpms:
- shard-dg2-set2: NOTRUN -> [SKIP][46] ([Intel XE#2850] / [Intel XE#5899] / [Intel XE#929]) +3 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_psr@pr-dpms.html
* igt@kms_psr@psr-no-drrs:
- shard-adlp: NOTRUN -> [SKIP][47] ([Intel XE#2850] / [Intel XE#5899] / [Intel XE#929])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_psr@psr-no-drrs.html
* igt@kms_rotation_crc@sprite-rotation-270:
- shard-dg2-set2: NOTRUN -> [SKIP][48] ([Intel XE#3414])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_rotation_crc@sprite-rotation-270.html
* igt@kms_setmode@basic:
- shard-bmg: [PASS][49] -> [FAIL][50] ([Intel XE#2883]) +6 other tests fail
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-bmg-4/igt@kms_setmode@basic.html
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-bmg-2/igt@kms_setmode@basic.html
* igt@kms_setmode@basic@pipe-b-edp-1:
- shard-lnl: [PASS][51] -> [FAIL][52] ([Intel XE#2883]) +2 other tests fail
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-lnl-7/igt@kms_setmode@basic@pipe-b-edp-1.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-lnl-1/igt@kms_setmode@basic@pipe-b-edp-1.html
* igt@kms_vrr@flipline:
- shard-lnl: [PASS][53] -> [FAIL][54] ([Intel XE#4227]) +1 other test fail
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-lnl-4/igt@kms_vrr@flipline.html
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-lnl-1/igt@kms_vrr@flipline.html
* igt@xe_copy_basic@mem-copy-linear-0xfd:
- shard-dg2-set2: NOTRUN -> [SKIP][55] ([Intel XE#1123])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@xe_copy_basic@mem-copy-linear-0xfd.html
* igt@xe_eudebug@read-metadata:
- shard-adlp: NOTRUN -> [SKIP][56] ([Intel XE#4837] / [Intel XE#5565])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@xe_eudebug@read-metadata.html
* igt@xe_eudebug@vm-bind-clear-faultable:
- shard-dg2-set2: NOTRUN -> [SKIP][57] ([Intel XE#4837]) +1 other test skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@xe_eudebug@vm-bind-clear-faultable.html
* igt@xe_eudebug@vma-ufence-faultable:
- shard-bmg: NOTRUN -> [SKIP][58] ([Intel XE#4837])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-bmg-3/igt@xe_eudebug@vma-ufence-faultable.html
* igt@xe_exec_basic@multigpu-once-basic-defer-mmap:
- shard-dg2-set2: [PASS][59] -> [SKIP][60] ([Intel XE#1392]) +6 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-436/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-432/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html
* igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-race-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][61] ([Intel XE#288]) +3 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-race-imm.html
* igt@xe_exec_fault_mode@twice-invalid-userptr-fault:
- shard-adlp: NOTRUN -> [SKIP][62] ([Intel XE#288] / [Intel XE#5561]) +2 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@xe_exec_fault_mode@twice-invalid-userptr-fault.html
* igt@xe_exec_system_allocator@many-new-bo-map:
- shard-adlp: NOTRUN -> [SKIP][63] ([Intel XE#4915]) +23 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@xe_exec_system_allocator@many-new-bo-map.html
* igt@xe_exec_system_allocator@threads-many-execqueues-new-bo-map:
- shard-dg2-set2: NOTRUN -> [SKIP][64] ([Intel XE#4915]) +59 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@xe_exec_system_allocator@threads-many-execqueues-new-bo-map.html
* igt@xe_oa@mmio-triggered-reports:
- shard-dg2-set2: NOTRUN -> [SKIP][65] ([Intel XE#3573])
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@xe_oa@mmio-triggered-reports.html
* igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p:
- shard-dg2-set2: NOTRUN -> [FAIL][66] ([Intel XE#1173]) +1 other test fail
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html
* igt@xe_pxp@pxp-stale-bo-bind-post-suspend:
- shard-adlp: NOTRUN -> [SKIP][67] ([Intel XE#4733] / [Intel XE#5594])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html
* igt@xe_pxp@pxp-termination-key-update-post-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][68] ([Intel XE#4733])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@xe_pxp@pxp-termination-key-update-post-suspend.html
* igt@xe_query@multigpu-query-topology-l3-bank-mask:
- shard-adlp: NOTRUN -> [SKIP][69] ([Intel XE#944])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@xe_query@multigpu-query-topology-l3-bank-mask.html
* igt@xe_query@multigpu-query-uc-fw-version-huc:
- shard-dg2-set2: NOTRUN -> [SKIP][70] ([Intel XE#944])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@xe_query@multigpu-query-uc-fw-version-huc.html
#### Possible fixes ####
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [INCOMPLETE][71] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124] / [Intel XE#4345]) -> [PASS][72]
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
- shard-dg2-set2: [INCOMPLETE][73] ([Intel XE#3124]) -> [PASS][74]
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [DMESG-WARN][75] ([Intel XE#1727] / [Intel XE#3113]) -> [PASS][76]
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_cursor_legacy@torture-bo@pipe-a:
- shard-bmg: [DMESG-WARN][77] ([Intel XE#5354]) -> [PASS][78] +1 other test pass
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-bmg-4/igt@kms_cursor_legacy@torture-bo@pipe-a.html
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-bmg-5/igt@kms_cursor_legacy@torture-bo@pipe-a.html
* igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1:
- shard-adlp: [DMESG-WARN][79] ([Intel XE#4543]) -> [PASS][80] +2 other tests pass
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-8/igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1.html
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-4/igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x:
- shard-adlp: [DMESG-FAIL][81] ([Intel XE#4543]) -> [PASS][82] +2 other tests pass
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x.html
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y:
- shard-adlp: [FAIL][83] ([Intel XE#1874]) -> [PASS][84]
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y.html
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-adlp: [ABORT][85] ([Intel XE#5545]) -> [PASS][86]
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-6/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_vblank@wait-forked-hang:
- shard-adlp: [DMESG-WARN][87] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][88]
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-1/igt@kms_vblank@wait-forked-hang.html
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-8/igt@kms_vblank@wait-forked-hang.html
* igt@xe_exec_basic@multigpu-no-exec-rebind:
- shard-dg2-set2: [SKIP][89] ([Intel XE#1392]) -> [PASS][90] +2 other tests pass
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-rebind.html
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-463/igt@xe_exec_basic@multigpu-no-exec-rebind.html
* igt@xe_exec_basic@once-rebind:
- shard-adlp: [DMESG-FAIL][91] ([Intel XE#3876]) -> [PASS][92]
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-6/igt@xe_exec_basic@once-rebind.html
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@xe_exec_basic@once-rebind.html
* igt@xe_exec_reset@parallel-gt-reset:
- shard-adlp: [DMESG-WARN][93] ([Intel XE#3876]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-adlp-6/igt@xe_exec_reset@parallel-gt-reset.html
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-adlp-3/igt@xe_exec_reset@parallel-gt-reset.html
- shard-dg2-set2: [DMESG-WARN][95] ([Intel XE#3876]) -> [PASS][96]
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-463/igt@xe_exec_reset@parallel-gt-reset.html
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-435/igt@xe_exec_reset@parallel-gt-reset.html
* igt@xe_exec_system_allocator@process-many-malloc-bo-unmap-nomemset:
- shard-bmg: [FAIL][97] -> [PASS][98]
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-bmg-8/igt@xe_exec_system_allocator@process-many-malloc-bo-unmap-nomemset.html
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-bmg-5/igt@xe_exec_system_allocator@process-many-malloc-bo-unmap-nomemset.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-new-bo-map-nomemset:
- shard-lnl: [FAIL][99] -> [PASS][100] +1 other test pass
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-lnl-2/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-new-bo-map-nomemset.html
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-lnl-2/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-new-bo-map-nomemset.html
#### Warnings ####
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-dg2-set2: [INCOMPLETE][101] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) -> [INCOMPLETE][102] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-bmg: [SKIP][103] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836]) -> [ABORT][104] ([Intel XE#4760] / [Intel XE#5545])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-bmg-3/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-bmg-3/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf:
- shard-lnl: [SKIP][105] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#5899]) -> [ABORT][106] ([Intel XE#5902])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf.html
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf@pipe-a-edp-1:
- shard-lnl: [SKIP][107] ([Intel XE#4608] / [Intel XE#5899]) -> [ABORT][108] ([Intel XE#5902])
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf@pipe-a-edp-1.html
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf@pipe-a-edp-1.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1158]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1158
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
[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#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[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#2883]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2883
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[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#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4760
[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#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
[Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354
[Intel XE#5376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5376
[Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
[Intel XE#5561]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5561
[Intel XE#5565]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5565
[Intel XE#5594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5594
[Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
[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#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#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* Linux: xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621 -> xe-pw-153167v1
IGT_8498: 8498
xe-3582-58aeea9c7882b70436d9c2e55e45738711a41621: 58aeea9c7882b70436d9c2e55e45738711a41621
xe-pw-153167v1: 153167v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153167v1/index.html
[-- Attachment #2: Type: text/html, Size: 38582 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs
2025-08-19 18:53 ` [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs Matthew Brost
@ 2025-08-27 8:15 ` Francois Dugast
2025-08-27 16:42 ` Lucas De Marchi
1 sibling, 0 replies; 9+ messages in thread
From: Francois Dugast @ 2025-08-27 8:15 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
On Tue, Aug 19, 2025 at 11:53:48AM -0700, Matthew Brost wrote:
> It helpful to clear GT stats, run a test cases which is being profiled,
> and look at the results of the stats from the individual test case. Add
> clear_stats GT debugfs entry whih allows the clearing of GT stats.
>
> v4:
> - Make clear_stats write only permissions (Himal)
>
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Francois Dugast <francois.dugast@intel.com>
> ---
> drivers/gpu/drm/xe/xe_gt_debugfs.c | 22 ++++++++++++++++++++++
> drivers/gpu/drm/xe/xe_gt_stats.c | 14 ++++++++++++++
> drivers/gpu/drm/xe/xe_gt_stats.h | 1 +
> 3 files changed, 37 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
> index bf3a67b5951c..2cd14b36c75a 100644
> --- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
> @@ -363,6 +363,27 @@ static ssize_t write_to_gt_call(const char __user *userbuf, size_t count, loff_t
> return count;
> }
>
> +static void clear_stats(struct xe_gt *gt)
> +{
> + xe_gt_stats_clear(gt);
> +}
> +
> +static ssize_t clear_stats_write(struct file *file,
> + const char __user *userbuf,
> + size_t count, loff_t *ppos)
> +{
> + struct seq_file *s = file->private_data;
> + struct xe_gt *gt = s->private;
> +
> + return write_to_gt_call(userbuf, count, ppos, clear_stats, gt);
> +}
> +
> +static int clear_stats_show(struct seq_file *s, void *unused)
> +{
> + return 0;
> +}
> +DEFINE_SHOW_STORE_ATTRIBUTE(clear_stats);
> +
> static void force_reset(struct xe_gt *gt)
> {
> struct xe_device *xe = gt_to_xe(gt);
> @@ -448,6 +469,7 @@ void xe_gt_debugfs_register(struct xe_gt *gt)
> root->d_inode->i_private = gt;
>
> /* VF safe */
> + debugfs_create_file("clear_stats", 0200, root, gt, &clear_stats_fops);
> debugfs_create_file("force_reset", 0600, root, gt, &force_reset_fops);
> debugfs_create_file("force_reset_sync", 0600, root, gt, &force_reset_sync_fops);
>
> diff --git a/drivers/gpu/drm/xe/xe_gt_stats.c b/drivers/gpu/drm/xe/xe_gt_stats.c
> index 30f942671c2b..7e12fc3759e2 100644
> --- a/drivers/gpu/drm/xe/xe_gt_stats.c
> +++ b/drivers/gpu/drm/xe/xe_gt_stats.c
> @@ -50,3 +50,17 @@ int xe_gt_stats_print_info(struct xe_gt *gt, struct drm_printer *p)
>
> return 0;
> }
> +
> +/**
> + * xe_gt_stats_clear - Clear the GT stats
> + * @gt: GT structure
> + *
> + * This clear (zeros) all the available GT stats.
> + */
> +void xe_gt_stats_clear(struct xe_gt *gt)
> +{
> + enum xe_gt_stats_id id;
> +
> + for (id = 0; id < __XE_GT_STATS_NUM_IDS; ++id)
> + atomic64_set(>->stats.counters[id], 0);
> +}
> diff --git a/drivers/gpu/drm/xe/xe_gt_stats.h b/drivers/gpu/drm/xe/xe_gt_stats.h
> index 38325ef53617..e8aea32bc971 100644
> --- a/drivers/gpu/drm/xe/xe_gt_stats.h
> +++ b/drivers/gpu/drm/xe/xe_gt_stats.h
> @@ -13,6 +13,7 @@ struct drm_printer;
>
> #ifdef CONFIG_DEBUG_FS
> int xe_gt_stats_print_info(struct xe_gt *gt, struct drm_printer *p);
> +void xe_gt_stats_clear(struct xe_gt *gt);
> void xe_gt_stats_incr(struct xe_gt *gt, const enum xe_gt_stats_id id, int incr);
> #else
> static inline void
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs
2025-08-19 18:53 ` [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs Matthew Brost
2025-08-27 8:15 ` Francois Dugast
@ 2025-08-27 16:42 ` Lucas De Marchi
2025-08-27 16:47 ` Matthew Brost
1 sibling, 1 reply; 9+ messages in thread
From: Lucas De Marchi @ 2025-08-27 16:42 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
On Tue, Aug 19, 2025 at 11:53:48AM -0700, Matthew Brost wrote:
>It helpful to clear GT stats, run a test cases which is being profiled,
>and look at the results of the stats from the individual test case. Add
>clear_stats GT debugfs entry whih allows the clearing of GT stats.
>
>v4:
> - Make clear_stats write only permissions (Himal)
>
>Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>---
> drivers/gpu/drm/xe/xe_gt_debugfs.c | 22 ++++++++++++++++++++++
> drivers/gpu/drm/xe/xe_gt_stats.c | 14 ++++++++++++++
> drivers/gpu/drm/xe/xe_gt_stats.h | 1 +
> 3 files changed, 37 insertions(+)
>
>diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
>index bf3a67b5951c..2cd14b36c75a 100644
>--- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
>+++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
>@@ -363,6 +363,27 @@ static ssize_t write_to_gt_call(const char __user *userbuf, size_t count, loff_t
> return count;
> }
>
>+static void clear_stats(struct xe_gt *gt)
why do we need a clear stats rather than making stats writable so we
can do:
echo > /sys/kernel/debug/dri/0/gt0/stats
or
echo clear > /sys/kernel/debug/dri/0/gt0/stats
or
echo 0 > /sys/kernel/debug/dri/0/gt0/stats
unfortunately with debugfs we can't just truncate the file like we can
with tracefs since we won't end up receiving a call to the store()
method.
Lucas De Marchi
>+{
>+ xe_gt_stats_clear(gt);
>+}
>+
>+static ssize_t clear_stats_write(struct file *file,
>+ const char __user *userbuf,
>+ size_t count, loff_t *ppos)
>+{
>+ struct seq_file *s = file->private_data;
>+ struct xe_gt *gt = s->private;
>+
>+ return write_to_gt_call(userbuf, count, ppos, clear_stats, gt);
>+}
>+
>+static int clear_stats_show(struct seq_file *s, void *unused)
>+{
>+ return 0;
>+}
>+DEFINE_SHOW_STORE_ATTRIBUTE(clear_stats);
>+
> static void force_reset(struct xe_gt *gt)
> {
> struct xe_device *xe = gt_to_xe(gt);
>@@ -448,6 +469,7 @@ void xe_gt_debugfs_register(struct xe_gt *gt)
> root->d_inode->i_private = gt;
>
> /* VF safe */
>+ debugfs_create_file("clear_stats", 0200, root, gt, &clear_stats_fops);
> debugfs_create_file("force_reset", 0600, root, gt, &force_reset_fops);
> debugfs_create_file("force_reset_sync", 0600, root, gt, &force_reset_sync_fops);
>
>diff --git a/drivers/gpu/drm/xe/xe_gt_stats.c b/drivers/gpu/drm/xe/xe_gt_stats.c
>index 30f942671c2b..7e12fc3759e2 100644
>--- a/drivers/gpu/drm/xe/xe_gt_stats.c
>+++ b/drivers/gpu/drm/xe/xe_gt_stats.c
>@@ -50,3 +50,17 @@ int xe_gt_stats_print_info(struct xe_gt *gt, struct drm_printer *p)
>
> return 0;
> }
>+
>+/**
>+ * xe_gt_stats_clear - Clear the GT stats
>+ * @gt: GT structure
>+ *
>+ * This clear (zeros) all the available GT stats.
>+ */
>+void xe_gt_stats_clear(struct xe_gt *gt)
>+{
>+ enum xe_gt_stats_id id;
>+
>+ for (id = 0; id < __XE_GT_STATS_NUM_IDS; ++id)
>+ atomic64_set(>->stats.counters[id], 0);
>+}
>diff --git a/drivers/gpu/drm/xe/xe_gt_stats.h b/drivers/gpu/drm/xe/xe_gt_stats.h
>index 38325ef53617..e8aea32bc971 100644
>--- a/drivers/gpu/drm/xe/xe_gt_stats.h
>+++ b/drivers/gpu/drm/xe/xe_gt_stats.h
>@@ -13,6 +13,7 @@ struct drm_printer;
>
> #ifdef CONFIG_DEBUG_FS
> int xe_gt_stats_print_info(struct xe_gt *gt, struct drm_printer *p);
>+void xe_gt_stats_clear(struct xe_gt *gt);
> void xe_gt_stats_incr(struct xe_gt *gt, const enum xe_gt_stats_id id, int incr);
> #else
> static inline void
>--
>2.34.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs
2025-08-27 16:42 ` Lucas De Marchi
@ 2025-08-27 16:47 ` Matthew Brost
0 siblings, 0 replies; 9+ messages in thread
From: Matthew Brost @ 2025-08-27 16:47 UTC (permalink / raw)
To: Lucas De Marchi; +Cc: intel-xe
On Wed, Aug 27, 2025 at 11:42:36AM -0500, Lucas De Marchi wrote:
> On Tue, Aug 19, 2025 at 11:53:48AM -0700, Matthew Brost wrote:
> > It helpful to clear GT stats, run a test cases which is being profiled,
> > and look at the results of the stats from the individual test case. Add
> > clear_stats GT debugfs entry whih allows the clearing of GT stats.
> >
> > v4:
> > - Make clear_stats write only permissions (Himal)
> >
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> > drivers/gpu/drm/xe/xe_gt_debugfs.c | 22 ++++++++++++++++++++++
> > drivers/gpu/drm/xe/xe_gt_stats.c | 14 ++++++++++++++
> > drivers/gpu/drm/xe/xe_gt_stats.h | 1 +
> > 3 files changed, 37 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
> > index bf3a67b5951c..2cd14b36c75a 100644
> > --- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
> > +++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
> > @@ -363,6 +363,27 @@ static ssize_t write_to_gt_call(const char __user *userbuf, size_t count, loff_t
> > return count;
> > }
> >
> > +static void clear_stats(struct xe_gt *gt)
>
> why do we need a clear stats rather than making stats writable so we
> can do:
>
> echo > /sys/kernel/debug/dri/0/gt0/stats
>
> or
>
> echo clear > /sys/kernel/debug/dri/0/gt0/stats
>
> or
>
> echo 0 > /sys/kernel/debug/dri/0/gt0/stats
>
> unfortunately with debugfs we can't just truncate the file like we can
> with tracefs since we won't end up receiving a call to the store()
> method.
>
So you are suggesting making the 'stats' file writable and upon write
clear the internal counters? I think that should work. Let me try that.
Matt
> Lucas De Marchi
>
> > +{
> > + xe_gt_stats_clear(gt);
> > +}
> > +
> > +static ssize_t clear_stats_write(struct file *file,
> > + const char __user *userbuf,
> > + size_t count, loff_t *ppos)
> > +{
> > + struct seq_file *s = file->private_data;
> > + struct xe_gt *gt = s->private;
> > +
> > + return write_to_gt_call(userbuf, count, ppos, clear_stats, gt);
> > +}
> > +
> > +static int clear_stats_show(struct seq_file *s, void *unused)
> > +{
> > + return 0;
> > +}
> > +DEFINE_SHOW_STORE_ATTRIBUTE(clear_stats);
> > +
> > static void force_reset(struct xe_gt *gt)
> > {
> > struct xe_device *xe = gt_to_xe(gt);
> > @@ -448,6 +469,7 @@ void xe_gt_debugfs_register(struct xe_gt *gt)
> > root->d_inode->i_private = gt;
> >
> > /* VF safe */
> > + debugfs_create_file("clear_stats", 0200, root, gt, &clear_stats_fops);
> > debugfs_create_file("force_reset", 0600, root, gt, &force_reset_fops);
> > debugfs_create_file("force_reset_sync", 0600, root, gt, &force_reset_sync_fops);
> >
> > diff --git a/drivers/gpu/drm/xe/xe_gt_stats.c b/drivers/gpu/drm/xe/xe_gt_stats.c
> > index 30f942671c2b..7e12fc3759e2 100644
> > --- a/drivers/gpu/drm/xe/xe_gt_stats.c
> > +++ b/drivers/gpu/drm/xe/xe_gt_stats.c
> > @@ -50,3 +50,17 @@ int xe_gt_stats_print_info(struct xe_gt *gt, struct drm_printer *p)
> >
> > return 0;
> > }
> > +
> > +/**
> > + * xe_gt_stats_clear - Clear the GT stats
> > + * @gt: GT structure
> > + *
> > + * This clear (zeros) all the available GT stats.
> > + */
> > +void xe_gt_stats_clear(struct xe_gt *gt)
> > +{
> > + enum xe_gt_stats_id id;
> > +
> > + for (id = 0; id < __XE_GT_STATS_NUM_IDS; ++id)
> > + atomic64_set(>->stats.counters[id], 0);
> > +}
> > diff --git a/drivers/gpu/drm/xe/xe_gt_stats.h b/drivers/gpu/drm/xe/xe_gt_stats.h
> > index 38325ef53617..e8aea32bc971 100644
> > --- a/drivers/gpu/drm/xe/xe_gt_stats.h
> > +++ b/drivers/gpu/drm/xe/xe_gt_stats.h
> > @@ -13,6 +13,7 @@ struct drm_printer;
> >
> > #ifdef CONFIG_DEBUG_FS
> > int xe_gt_stats_print_info(struct xe_gt *gt, struct drm_printer *p);
> > +void xe_gt_stats_clear(struct xe_gt *gt);
> > void xe_gt_stats_incr(struct xe_gt *gt, const enum xe_gt_stats_id id, int incr);
> > #else
> > static inline void
> > --
> > 2.34.1
> >
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-08-27 16:47 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-19 18:53 [PATCH v4 0/2] Enhance SVM stats Matthew Brost
2025-08-19 18:53 ` [PATCH v4 1/2] drm/xe: Add clear_stats GT debugfs Matthew Brost
2025-08-27 8:15 ` Francois Dugast
2025-08-27 16:42 ` Lucas De Marchi
2025-08-27 16:47 ` Matthew Brost
2025-08-19 18:53 ` [PATCH v4 2/2] drm/xe: Add more SVM GT stats Matthew Brost
2025-08-20 5:23 ` ✓ CI.KUnit: success for Enhance SVM stats Patchwork
2025-08-20 6:00 ` ✓ Xe.CI.BAT: " Patchwork
2025-08-21 1:28 ` ✗ Xe.CI.Full: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).