* [PATCH v3] drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution
@ 2026-11-04 15:13 Thomas Hellström
2026-11-04 15:36 ` sashiko-bot
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Thomas Hellström @ 2026-11-04 15:13 UTC (permalink / raw)
To: intel-xe
Cc: Thomas Hellström, Himal Prasad Ghimiray, Rodrigo Vivi,
Matthew Brost, Matthew Auld, Andi Shyti
When debugging NUMA placement of bo system memory, there is currently
no way to tell on which nodes the pages backing a bo reside. The
/proc/<pid>/numa_maps interface doesn't help since bo CPU mappings are
VM_PFNMAP, and clients may have thousands of bos, so a dump of all bos
is undesirable.
Add a "bo_numa" file to the drm core per-client debugfs directory,
client-<id>/. The file implements a request-response protocol per open
file: Writing a GEM handle valid for the client takes a snapshot, under
the bo's dma_resv lock, of the bo size, placement, and the number of
pages on each NUMA node. A bo whose pages are swapped out, backed up
or purged is reported as swapped/purged, and one whose pages are not
populated as not populated. Subsequent reads return that snapshot. Once the
snapshot has been completely read it is discarded, and a new handle
may be written. Until then writes fail with -EBUSY, so that a pending
snapshot can't be replaced before it is consumed. This allows querying
many bos using a single open file.
The write-request / read-response protocol per open file follows the
simple_transaction helpers in fs/libfs.c, used by e.g. nfsd and
selinuxfs, and amdgpu already populates the per-client debugfs
directory with its vm_pagetable_info file.
For sg bos, typically imported dma-bufs, the backing pages are owned
by the exporter and can't be inspected, so only size and placement are
reported.
Example:
exec 3<>/sys/kernel/debug/dri/client-<id>/bo_numa
echo <handle1> >&3
cat <&3
echo <handle2> >&3
cat <&3
exec 3>&-
The client id can be obtained from the drm-client-id fdinfo key.
v2:
- Use drm_coredump_printer_is_full() (Andi Shyti)
- Drop the Assisted-by tag and add a Signed-off-by (Andi Shyti)
v3:
- Report swapped or purged bos as swapped/purged (Sashiko)
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
drivers/gpu/drm/xe/xe_bo.c | 109 ++++++++++++++++++++++
drivers/gpu/drm/xe/xe_bo.h | 6 ++
drivers/gpu/drm/xe/xe_debugfs.c | 157 ++++++++++++++++++++++++++++++++
drivers/gpu/drm/xe/xe_debugfs.h | 3 +
drivers/gpu/drm/xe/xe_device.c | 2 +
5 files changed, 277 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index 42a6aa1a2e4a..ee232e73bc3b 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -6,12 +6,14 @@
#include "xe_bo.h"
#include <linux/dma-buf.h>
+#include <linux/nodemask.h>
#include <linux/nospec.h>
#include <drm/drm_drv.h>
#include <drm/drm_dumb_buffers.h>
#include <drm/drm_gem_ttm_helper.h>
#include <drm/drm_managed.h>
+#include <drm/drm_print.h>
#include <drm/ttm/ttm_backup.h>
#include <drm/ttm/ttm_device.h>
#include <drm/ttm/ttm_placement.h>
@@ -4248,6 +4250,113 @@ void xe_bo_runtime_pm_release_mmap_offset(struct xe_bo *bo)
list_del_init(&bo->vram_userfault_link);
}
+#if IS_ENABLED(CONFIG_DEBUG_FS)
+static void xe_bo_count_numa_pages(struct ttm_tt *tt, unsigned long *nodes)
+{
+ pgoff_t i;
+
+ for (i = 0; i < tt->num_pages; ++i)
+ nodes[page_to_nid(tt->pages[i])]++;
+}
+
+static void xe_bo_print_numa_info_locked(struct xe_bo *bo, unsigned long *nodes,
+ struct drm_printer *p)
+{
+ struct ttm_resource *res = bo->ttm.resource;
+ struct ttm_tt *tt = bo->ttm.ttm;
+ unsigned long total = 0;
+ const char *name;
+ int nid;
+
+ xe_bo_assert_held(bo);
+
+ name = res ? xe_mem_type_to_name[res->mem_type] : NULL;
+ drm_printf(p, "size: %zu\n", xe_bo_size(bo));
+ if (name)
+ drm_printf(p, "placement: %s\n", name);
+ else if (res)
+ drm_printf(p, "placement: mem_type %u\n", res->mem_type);
+ else
+ drm_puts(p, "placement: none\n");
+
+ /* The pages of sg bos are owned by the exporter and not visible. */
+ if (bo->ttm.type == ttm_bo_type_sg) {
+ drm_puts(p, "pages: unknown (sg bo)\n");
+ return;
+ }
+
+ if (tt && ttm_tt_is_swapped(tt)) {
+ drm_puts(p, "pages: swapped/purged\n");
+ return;
+ }
+
+ if (tt && !ttm_tt_is_populated(tt)) {
+ drm_puts(p, "pages: not populated\n");
+ return;
+ }
+
+ if (tt)
+ xe_bo_count_numa_pages(tt, nodes);
+
+ for_each_node(nid) {
+ if (!nodes[nid] && !node_online(nid))
+ continue;
+ drm_printf(p, "node%d: %lu\n", nid, nodes[nid]);
+ total += nodes[nid];
+ }
+
+ drm_printf(p, "total: %lu\n", total);
+}
+
+/**
+ * xe_bo_print_numa_info() - Print the NUMA node distribution of a bo
+ * @file: The drm_file of the client owning @handle.
+ * @handle: The GEM handle of the bo.
+ * @p: The drm_printer to print to.
+ *
+ * Print the size and placement of the bo and, for bos with
+ * driver-allocated system pages, the number of pages residing on each
+ * NUMA node. If the bo's pages are currently swapped out, backed up or
+ * purged by the shrinker, the bo is reported as swapped/purged, and if
+ * they are not populated, as not populated. For sg bos, typically
+ * imported dma-bufs, the backing pages are owned by the exporter and are
+ * reported as unknown. The information is gathered under the bo's
+ * dma_resv lock and thus represents a consistent snapshot.
+ *
+ * Return: 0 on success, -ENOENT if @handle doesn't refer to a bo,
+ * negative error code on other failures.
+ */
+int xe_bo_print_numa_info(struct drm_file *file, u32 handle,
+ struct drm_printer *p)
+{
+ struct drm_gem_object *obj;
+ unsigned long *nodes;
+ int ret;
+
+ nodes = kcalloc(nr_node_ids, sizeof(*nodes), GFP_KERNEL_ACCOUNT);
+ if (!nodes)
+ return -ENOMEM;
+
+ obj = drm_gem_object_lookup(file, handle);
+ if (!obj) {
+ ret = -ENOENT;
+ goto out_free;
+ }
+
+ ret = dma_resv_lock_interruptible(obj->resv, NULL);
+ if (!ret) {
+ xe_bo_print_numa_info_locked(gem_to_xe_bo(obj), nodes, p);
+ dma_resv_unlock(obj->resv);
+ }
+
+ drm_gem_object_put(obj);
+out_free:
+ kfree(nodes);
+
+ return ret;
+}
+#endif
+
#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
#include "tests/xe_bo.c"
#endif
diff --git a/drivers/gpu/drm/xe/xe_bo.h b/drivers/gpu/drm/xe/xe_bo.h
index 77b3a02e9b8e..13197e4e0358 100644
--- a/drivers/gpu/drm/xe/xe_bo.h
+++ b/drivers/gpu/drm/xe/xe_bo.h
@@ -112,6 +112,7 @@ enum xe_madv_purgeable_state {
XE_MADV_PURGEABLE_PURGED,
};
+struct drm_printer;
struct sg_table;
struct xe_bo *xe_bo_alloc(void);
@@ -458,6 +459,11 @@ int xe_bo_dumb_create(struct drm_file *file_priv,
struct drm_device *dev,
struct drm_mode_create_dumb *args);
+#if IS_ENABLED(CONFIG_DEBUG_FS)
+int xe_bo_print_numa_info(struct drm_file *file, u32 handle,
+ struct drm_printer *p);
+#endif
+
bool xe_bo_needs_ccs_pages(struct xe_bo *bo);
int xe_bo_decompress(struct xe_bo *bo);
diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
index e59d4964d811..1a74a7106462 100644
--- a/drivers/gpu/drm/xe/xe_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_debugfs.c
@@ -11,6 +11,8 @@
#include <linux/string_helpers.h>
#include <drm/drm_debugfs.h>
+#include <drm/drm_file.h>
+#include <drm/drm_print.h>
#include "regs/xe_pmt.h"
#include "xe_bo.h"
@@ -785,3 +787,158 @@ void xe_debugfs_register(struct xe_device *xe)
else if (IS_SRIOV_VF(xe))
xe_sriov_vf_debugfs_register(xe, root);
}
+
+/*
+ * Per-client "bo_numa" file: Report the NUMA node distribution of the
+ * system pages backing a single bo.
+ *
+ * The file implements a request-response protocol: write() takes a GEM
+ * handle, valid for the client, and takes a snapshot of the bo's page
+ * distribution under the bo's dma_resv lock. Subsequent read()s return
+ * that snapshot. Once the snapshot has been completely read, it is
+ * discarded and a new handle may be written. Until then, writes return
+ * -EBUSY, so that a pending snapshot is never replaced before it is
+ * consumed.
+ *
+ * See xe_bo_print_numa_info() for the snapshot contents.
+ */
+struct bo_numa_snapshot {
+ /* Serializes reads and writes on the open file. */
+ struct mutex lock;
+ /* The pending formatted snapshot, or NULL if none. */
+ char *buf;
+ /* Length of the formatted snapshot. */
+ size_t len;
+};
+
+static int bo_numa_open(struct inode *inode, struct file *f)
+{
+ struct bo_numa_snapshot *snap;
+
+ snap = kzalloc_obj(*snap, GFP_KERNEL_ACCOUNT);
+ if (!snap)
+ return -ENOMEM;
+
+ mutex_init(&snap->lock);
+ f->private_data = snap;
+
+ return nonseekable_open(inode, f);
+}
+
+static int bo_numa_release(struct inode *inode, struct file *f)
+{
+ struct bo_numa_snapshot *snap = f->private_data;
+
+ kvfree(snap->buf);
+ mutex_destroy(&snap->lock);
+ kfree(snap);
+
+ return 0;
+}
+
+static ssize_t bo_numa_read(struct file *f, char __user *ubuf, size_t size,
+ loff_t *pos)
+{
+ struct bo_numa_snapshot *snap = f->private_data;
+ ssize_t ret = 0;
+
+ mutex_lock(&snap->lock);
+ if (snap->buf) {
+ ret = simple_read_from_buffer(ubuf, size, pos, snap->buf,
+ snap->len);
+ if (*pos >= snap->len) {
+ kvfree(snap->buf);
+ snap->buf = NULL;
+ }
+ }
+ mutex_unlock(&snap->lock);
+
+ return ret;
+}
+
+static ssize_t bo_numa_write(struct file *f, const char __user *ubuf,
+ size_t size, loff_t *pos)
+{
+ struct drm_file *file = file_inode(f)->i_private;
+ struct bo_numa_snapshot *snap = f->private_data;
+ struct drm_print_iterator iter;
+ struct drm_printer p;
+ size_t bufsize = PAGE_SIZE / 2;
+ char *buf = NULL;
+ u32 handle;
+ int ret;
+
+ ret = kstrtou32_from_user(ubuf, size, 0, &handle);
+ if (ret)
+ return ret;
+
+ ret = mutex_lock_interruptible(&snap->lock);
+ if (ret)
+ return ret;
+
+ if (snap->buf) {
+ ret = -EBUSY;
+ goto out_unlock;
+ }
+
+ /*
+ * Retry with a larger buffer until the snapshot fits. The coredump
+ * printer is used as a generic bounded buffer printer, and reports
+ * when its buffer is full.
+ */
+ do {
+ kvfree(buf);
+ bufsize *= 2;
+ buf = kvzalloc(bufsize, GFP_KERNEL_ACCOUNT);
+ if (!buf) {
+ ret = -ENOMEM;
+ goto out_unlock;
+ }
+
+ iter = (struct drm_print_iterator) {
+ .data = buf,
+ .remain = bufsize,
+ };
+ p = drm_coredump_printer(&iter);
+ ret = xe_bo_print_numa_info(file, handle, &p);
+ if (ret)
+ goto out_free;
+ } while (drm_coredump_printer_is_full(&p));
+
+ snap->buf = buf;
+ snap->len = bufsize - iter.remain;
+ *pos = 0;
+ buf = NULL;
+
+out_free:
+ kvfree(buf);
+out_unlock:
+ mutex_unlock(&snap->lock);
+
+ return ret ?: size;
+}
+
+static const struct file_operations bo_numa_fops = {
+ .owner = THIS_MODULE,
+ .open = bo_numa_open,
+ .release = bo_numa_release,
+ .read = bo_numa_read,
+ .write = bo_numa_write,
+};
+
+/**
+ * xe_debugfs_client_add() - Add xe-specific per-client debugfs files
+ * @file: The drm_file of the client.
+ *
+ * Populate the drm core per-client debugfs directory with xe-specific
+ * files. The files are removed by the drm core together with the
+ * directory when @file is released.
+ */
+void xe_debugfs_client_add(struct drm_file *file)
+{
+ if (IS_ERR_OR_NULL(file->debugfs_client))
+ return;
+
+ debugfs_create_file("bo_numa", 0600, file->debugfs_client, file,
+ &bo_numa_fops);
+}
diff --git a/drivers/gpu/drm/xe/xe_debugfs.h b/drivers/gpu/drm/xe/xe_debugfs.h
index 88d91c78036b..90effba271d9 100644
--- a/drivers/gpu/drm/xe/xe_debugfs.h
+++ b/drivers/gpu/drm/xe/xe_debugfs.h
@@ -8,6 +8,7 @@
#include <linux/types.h>
+struct drm_file;
struct xe_device;
#ifdef CONFIG_DEBUG_FS
@@ -16,12 +17,14 @@ bool xe_fault_csc_hw_error(void);
bool xe_fault_wedge_cold_reset(void);
bool xe_fault_mempage_offline(void);
void xe_debugfs_register(struct xe_device *xe);
+void xe_debugfs_client_add(struct drm_file *file);
#else
static inline bool xe_fault_gt_reset(void) { return false; }
static inline bool xe_fault_csc_hw_error(void) { return false; }
static inline bool xe_fault_wedge_cold_reset(void) { return false; }
static inline bool xe_fault_mempage_offline(void) { return false; }
static inline void xe_debugfs_register(struct xe_device *xe) { }
+static inline void xe_debugfs_client_add(struct drm_file *file) { }
#endif
#endif
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 273e2c45fea9..e1f457d03b09 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -126,6 +126,8 @@ static int xe_file_open(struct drm_device *dev, struct drm_file *file)
put_task_struct(task);
}
+ xe_debugfs_client_add(file);
+
return 0;
}
--
2.56.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH v3] drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution
2026-11-04 15:13 [PATCH v3] drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution Thomas Hellström
@ 2026-11-04 15:36 ` sashiko-bot
2026-11-04 16:56 ` ✓ CI.KUnit: success for drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution (rev3) Patchwork
2026-11-04 17:37 ` ✓ Xe.CI.BAT: " Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-11-04 15:36 UTC (permalink / raw)
To: Thomas Hellström, intel-xe
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] drm/xe: BOs purged via xe_ttm_bo_purge() misreported in xe_bo_print_numa_info()
--
commit 1dc9067175a153440fcff8007b4ca1cbbb81027f
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution
This commit adds a per-client "bo_numa" debugfs file that takes a GEM
handle written by userspace and reports a snapshot of the buffer object's
size, placement, and backing page distribution across NUMA nodes.
> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> index 42a6aa1a2e4a0..ee232e73bc3b9 100644
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
[ ... ]
> @@ -4248,6 +4250,113 @@ void xe_bo_runtime_pm_release_mmap_offset(struct xe_bo *bo)
> list_del_init(&bo->vram_userfault_link);
> }
>
> +#if IS_ENABLED(CONFIG_DEBUG_FS)
> +static void xe_bo_count_numa_pages(struct ttm_tt *tt, unsigned long *nodes)
> +{
> + pgoff_t i;
> +
> + for (i = 0; i < tt->num_pages; ++i)
> + nodes[page_to_nid(tt->pages[i])]++;
> +}
> +
> +static void xe_bo_print_numa_info_locked(struct xe_bo *bo, unsigned long *nodes,
> + struct drm_printer *p)
> +{
> + struct ttm_resource *res = bo->ttm.resource;
> + struct ttm_tt *tt = bo->ttm.ttm;
> + unsigned long total = 0;
> + const char *name;
> + int nid;
> +
> + xe_bo_assert_held(bo);
> +
> + name = res ? xe_mem_type_to_name[res->mem_type] : NULL;
> + drm_printf(p, "size: %zu\n", xe_bo_size(bo));
> + if (name)
> + drm_printf(p, "placement: %s\n", name);
> + else if (res)
> + drm_printf(p, "placement: mem_type %u\n", res->mem_type);
> + else
> + drm_puts(p, "placement: none\n");
> +
> + /* The pages of sg bos are owned by the exporter and not visible. */
> + if (bo->ttm.type == ttm_bo_type_sg) {
> + drm_puts(p, "pages: unknown (sg bo)\n");
> + return;
> + }
> +
> + if (tt && ttm_tt_is_swapped(tt)) {
> + drm_puts(p, "pages: swapped/purged\n");
> + return;
> + }
> +
> + if (tt && !ttm_tt_is_populated(tt)) {
> + drm_puts(p, "pages: not populated\n");
> + return;
> + }
[Severity: Medium]
As reported by Sashiko on v2 [1], in xe_bo_print_numa_info_locked(),
should this also check xe_bo_is_purged(bo) before checking
!ttm_tt_is_populated(tt)?
While purging via the shrinker sets TTM_TT_FLAG_BACKED_UP on
tt->page_flags, DONTNEED buffer objects can also be purged via
xe_ttm_bo_purge() during eviction in xe_bo_move(), swap notification in
xe_ttm_bo_swap_notify(), or VRAM page retirement:
drivers/gpu/drm/xe/xe_bo.c:xe_ttm_bo_purge() {
...
ret = ttm_bo_validate(ttm_bo, &place, ctx);
if (ret)
return ret;
/* Commit the state transition only once invalidation was queued */
xe_bo_set_purgeable_state(bo, XE_MADV_PURGEABLE_PURGED);
...
}
Validating with an empty placement invokes ttm_bo_pipeline_gutting(),
which unpopulates or replaces bo->ttm.ttm without setting
TTM_TT_FLAG_SWAPPED or TTM_TT_FLAG_BACKED_UP. As a result, when a handle
for a BO purged via xe_ttm_bo_purge() is written to bo_numa,
ttm_tt_is_swapped(tt) is false and xe_bo_print_numa_info_locked() reports
"pages: not populated" instead of "pages: swapped/purged".
[1] https://lore.kernel.org/r/sashiko-outbox-197338@kernel.org
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261104151335.163299-1-thomas.hellstrom@linux.intel.com?part=1
^ permalink raw reply [flat|nested] 4+ messages in thread* ✓ CI.KUnit: success for drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution (rev3)
2026-11-04 15:13 [PATCH v3] drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution Thomas Hellström
2026-11-04 15:36 ` sashiko-bot
@ 2026-11-04 16:56 ` Patchwork
2026-11-04 17:37 ` ✓ Xe.CI.BAT: " Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2026-11-04 16:56 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution (rev3)
URL : https://patchwork.freedesktop.org/series/177016/
State : success
== Summary ==
+ trap cleanup EXIT
+ kunitconfigs=('/kernel/drivers/gpu/tests/.kunitconfig' '/kernel/drivers/gpu/drm/xe/.kunitconfig' '/kernel/drivers/gpu/drm/tests/.kunitconfig' '/kernel/drivers/gpu/drm/ttm/tests/.kunitconfig' '/kernel/drivers/dma-buf/.kunitconfig')
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/tests/.kunitconfig
[16:53:53] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:53:58] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:54:19] Starting KUnit Kernel (1/1)...
[16:54:19] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:54:19] ================= gpu_buddy (14 subtests) ==================
[16:54:19] [PASSED] gpu_test_buddy_alloc_limit
[16:54:19] [PASSED] gpu_test_buddy_alloc_optimistic
[16:54:19] [PASSED] gpu_test_buddy_alloc_pessimistic
[16:54:19] [PASSED] gpu_test_buddy_alloc_pathological
[16:54:19] [PASSED] gpu_test_buddy_alloc_contiguous
[16:54:19] [PASSED] gpu_test_buddy_alloc_clear
[16:54:19] [PASSED] gpu_test_buddy_alloc_range
[16:54:19] [PASSED] gpu_test_buddy_alloc_range_bias
[16:54:20] [PASSED] gpu_test_buddy_fragmentation_performance
[16:54:21] [PASSED] gpu_test_buddy_dirty_tracker_performance
[16:54:21] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[16:54:21] [PASSED] gpu_test_buddy_offset_aligned_allocation
[16:54:21] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[16:54:21] [PASSED] gpu_test_buddy_addr_to_block
[16:54:21] ==================== [PASSED] gpu_buddy ====================
[16:54:21] ============================================================
[16:54:21] Testing complete. Ran 14 tests: passed: 14
[16:54:21] Elapsed time: 27.525s total, 5.177s configuring, 20.430s building, 1.870s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/xe/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[16:54:21] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:54:24] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:55:01] Starting KUnit Kernel (1/1)...
[16:55:01] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:55:01] ================== guc_buf (11 subtests) ===================
[16:55:01] [PASSED] test_smallest
[16:55:01] [PASSED] test_largest
[16:55:01] [PASSED] test_granular
[16:55:01] [PASSED] test_unique
[16:55:01] [PASSED] test_overlap
[16:55:01] [PASSED] test_reusable
[16:55:01] [PASSED] test_too_big
[16:55:01] [PASSED] test_flush
[16:55:01] [PASSED] test_lookup
[16:55:01] [PASSED] test_data
[16:55:01] [PASSED] test_class
[16:55:01] ===================== [PASSED] guc_buf =====================
[16:55:01] =================== guc_dbm (7 subtests) ===================
[16:55:01] [PASSED] test_empty
[16:55:01] [PASSED] test_default
[16:55:01] ======================== test_size ========================
[16:55:01] [PASSED] 4
[16:55:01] [PASSED] 8
[16:55:01] [PASSED] 32
[16:55:01] [PASSED] 256
[16:55:01] ==================== [PASSED] test_size ====================
[16:55:01] ======================= test_reuse ========================
[16:55:01] [PASSED] 4
[16:55:01] [PASSED] 8
[16:55:01] [PASSED] 32
[16:55:01] [PASSED] 256
[16:55:01] =================== [PASSED] test_reuse ====================
[16:55:01] =================== test_range_overlap ====================
[16:55:01] [PASSED] 4
[16:55:01] [PASSED] 8
[16:55:01] [PASSED] 32
[16:55:01] [PASSED] 256
[16:55:01] =============== [PASSED] test_range_overlap ================
[16:55:01] =================== test_range_compact ====================
[16:55:01] [PASSED] 4
[16:55:01] [PASSED] 8
[16:55:01] [PASSED] 32
[16:55:01] [PASSED] 256
[16:55:01] =============== [PASSED] test_range_compact ================
[16:55:01] ==================== test_range_spare =====================
[16:55:01] [PASSED] 4
[16:55:01] [PASSED] 8
[16:55:01] [PASSED] 32
[16:55:01] [PASSED] 256
[16:55:01] ================ [PASSED] test_range_spare =================
[16:55:01] ===================== [PASSED] guc_dbm =====================
[16:55:01] ================== guc_idm (22 subtests) ===================
[16:55:01] [PASSED] bad_init
[16:55:01] [PASSED] no_init
[16:55:01] [PASSED] init_fini
[16:55:01] [PASSED] check_init_small
[16:55:01] [PASSED] check_init_shared
[16:55:01] [PASSED] check_used
[16:55:01] [PASSED] check_quota
[16:55:01] [PASSED] check_all
[16:55:01] [PASSED] check_limits
[16:55:01] [PASSED] check_overlap
[16:55:01] [PASSED] check_overlap_alloc
[16:55:01] [PASSED] check_overlap_release
[16:55:01] [PASSED] check_overlap_partial_init
[16:55:01] [PASSED] check_overlap_partial_shared_range_blocking
[16:55:01] [PASSED] check_used_usable
[16:55:01] [PASSED] check_used_shareable
[16:55:01] [PASSED] check_used_mixed
[16:55:01] [PASSED] check_release_usable_range
[16:55:01] [PASSED] check_release_shareable_range
[16:55:01] [PASSED] check_split_boundaries
[16:55:01] [PASSED] check_shareable_spare
[16:55:01] [PASSED] check_shareable_spare_fragmented_tail
[16:55:01] ===================== [PASSED] guc_idm =====================
[16:55:01] ============== guc_klv_helpers (13 subtests) ===============
[16:55:01] [PASSED] test_count
[16:55:01] [PASSED] test_encode_u32
[16:55:01] [PASSED] test_encode_u64
[16:55:01] [PASSED] test_encode_string
[16:55:01] [PASSED] test_encode_object_raw
[16:55:01] [PASSED] test_encode_object_klv
[16:55:01] [PASSED] test_encode_object_nested
[16:55:01] [PASSED] test_encode_object_basic
[16:55:01] ===================== test_decode_u16 =====================
[16:55:01] [PASSED] empty
[16:55:01] [PASSED] valid
[16:55:01] [PASSED] max
[16:55:01] [PASSED] big
[16:55:01] [PASSED] long
[16:55:01] ================= [PASSED] test_decode_u16 =================
[16:55:01] ===================== test_decode_u32 =====================
[16:55:01] [PASSED] empty
[16:55:01] [PASSED] valid
[16:55:01] [PASSED] max
[16:55:01] [PASSED] long
[16:55:01] ================= [PASSED] test_decode_u32 =================
[16:55:01] ===================== test_decode_u64 =====================
[16:55:01] [PASSED] empty
[16:55:01] [PASSED] short
[16:55:01] [PASSED] valid
[16:55:01] [PASSED] max
[16:55:01] [PASSED] long
[16:55:01] ================= [PASSED] test_decode_u64 =================
[16:55:01] ===================== test_decode_str =====================
[16:55:01] [PASSED] empty
[16:55:01] [PASSED] one
[16:55:01] [PASSED] one_trash
[16:55:01] [PASSED] two
[16:55:01] [PASSED] two_trash
[16:55:01] [PASSED] three
[16:55:01] [PASSED] dword
[16:55:01] [PASSED] four
[16:55:01] [PASSED] five
[16:55:01] [PASSED] six
[16:55:01] [PASSED] seven
[16:55:01] [PASSED] qword
[16:55:01] ================= [PASSED] test_decode_str =================
[16:55:01] [PASSED] test_print
[16:55:01] ================= [PASSED] guc_klv_helpers =================
[16:55:01] =================== xe_log (4 subtests) ====================
[16:55:01] [PASSED] demo_cper
[16:55:01] [PASSED] demo_dmesg
[16:55:01] ======================= test_dmesg ========================
[16:55:01] [PASSED] test_fatal
[16:55:01] [PASSED] test_fatal_tile
[16:55:01] [PASSED] test_fatal_gt
[16:55:01] [PASSED] test_fatal_comp
[16:55:01] [PASSED] test_fatal_comp_tile
[16:55:01] [PASSED] test_fatal_comp_gt
[16:55:01] [PASSED] test_fatal_all
[16:55:01] [PASSED] test_recoverable
[16:55:01] [PASSED] test_recoverable_tile
[16:55:01] [PASSED] test_recoverable_gt
[16:55:01] [PASSED] test_recoverable_comp
[16:55:01] [PASSED] test_recoverable_comp_tile
[16:55:01] [PASSED] test_recoverable_comp_gt
[16:55:01] [PASSED] test_recoverable_all
[16:55:01] [PASSED] test_info
[16:55:01] [PASSED] test_info_tile
[16:55:01] [PASSED] test_info_gt
[16:55:01] [PASSED] test_info_err
[16:55:01] [PASSED] test_info_comp
[16:55:01] [PASSED] test_info_comp_tile
[16:55:01] [PASSED] test_info_comp_gt
[16:55:01] [PASSED] test_info_all
[16:55:01] [PASSED] test_hw_fatal
[16:55:01] [PASSED] test_hw_recoverable
[16:55:01] [PASSED] test_hw_corrected
[16:55:01] [PASSED] test_hw_informational
[16:55:01] =================== [PASSED] test_dmesg ====================
[16:55:01] ====================== test_invalid =======================
[16:55:01] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[16:55:01] ================== [SKIPPED] test_invalid ==================
[16:55:01] ===================== [PASSED] xe_log ======================
[16:55:01] ================== no_relay (3 subtests) ===================
[16:55:01] [PASSED] xe_drops_guc2pf_if_not_ready
[16:55:01] [PASSED] xe_drops_guc2vf_if_not_ready
[16:55:01] [PASSED] xe_rejects_send_if_not_ready
[16:55:01] ==================== [PASSED] no_relay =====================
[16:55:01] ================== pf_relay (14 subtests) ==================
[16:55:01] [PASSED] pf_rejects_guc2pf_too_short
[16:55:01] [PASSED] pf_rejects_guc2pf_too_long
[16:55:01] [PASSED] pf_rejects_guc2pf_no_payload
[16:55:01] [PASSED] pf_fails_no_payload
[16:55:01] [PASSED] pf_fails_bad_origin
[16:55:01] [PASSED] pf_fails_bad_type
[16:55:01] [PASSED] pf_txn_reports_error
[16:55:01] [PASSED] pf_txn_sends_pf2guc
[16:55:01] [PASSED] pf_sends_pf2guc
[16:55:01] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:55:01] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:55:01] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:55:01] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:55:01] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[16:55:01] ==================== [PASSED] pf_relay =====================
[16:55:01] ================== vf_relay (3 subtests) ===================
[16:55:01] [PASSED] vf_rejects_guc2vf_too_short
[16:55:01] [PASSED] vf_rejects_guc2vf_too_long
[16:55:01] [PASSED] vf_rejects_guc2vf_no_payload
[16:55:01] ==================== [PASSED] vf_relay =====================
[16:55:01] ================ pf_gt_config (9 subtests) =================
[16:55:01] [PASSED] fair_contexts_1vf
[16:55:01] [PASSED] fair_doorbells_1vf
[16:55:01] [PASSED] fair_ggtt_1vf
[16:55:01] ====================== fair_vram_1vf ======================
[16:55:01] [PASSED] 3.50 GiB
[16:55:01] [PASSED] 11.5 GiB
[16:55:01] [PASSED] 15.5 GiB
[16:55:01] [PASSED] 31.5 GiB
[16:55:01] [PASSED] 63.5 GiB
[16:55:01] [PASSED] 1.91 GiB
[16:55:01] ================== [PASSED] fair_vram_1vf ==================
[16:55:01] ================ fair_vram_1vf_admin_only =================
[16:55:01] [PASSED] 3.50 GiB
[16:55:01] [PASSED] 11.5 GiB
[16:55:01] [PASSED] 15.5 GiB
[16:55:01] [PASSED] 31.5 GiB
[16:55:01] [PASSED] 63.5 GiB
[16:55:01] [PASSED] 1.91 GiB
[16:55:01] ============ [PASSED] fair_vram_1vf_admin_only =============
[16:55:01] ====================== fair_contexts ======================
[16:55:01] [PASSED] 1 VF
[16:55:01] [PASSED] 2 VFs
[16:55:01] [PASSED] 3 VFs
[16:55:01] [PASSED] 4 VFs
[16:55:01] [PASSED] 5 VFs
[16:55:01] [PASSED] 6 VFs
[16:55:01] [PASSED] 7 VFs
[16:55:01] [PASSED] 8 VFs
[16:55:01] [PASSED] 9 VFs
[16:55:01] [PASSED] 10 VFs
[16:55:01] [PASSED] 11 VFs
[16:55:01] [PASSED] 12 VFs
[16:55:01] [PASSED] 13 VFs
[16:55:01] [PASSED] 14 VFs
[16:55:01] [PASSED] 15 VFs
[16:55:01] [PASSED] 16 VFs
[16:55:01] [PASSED] 17 VFs
[16:55:01] [PASSED] 18 VFs
[16:55:01] [PASSED] 19 VFs
[16:55:01] [PASSED] 20 VFs
[16:55:01] [PASSED] 21 VFs
[16:55:01] [PASSED] 22 VFs
[16:55:01] [PASSED] 23 VFs
[16:55:01] [PASSED] 24 VFs
[16:55:01] [PASSED] 25 VFs
[16:55:01] [PASSED] 26 VFs
[16:55:01] [PASSED] 27 VFs
[16:55:01] [PASSED] 28 VFs
[16:55:01] [PASSED] 29 VFs
[16:55:01] [PASSED] 30 VFs
[16:55:01] [PASSED] 31 VFs
[16:55:01] [PASSED] 32 VFs
[16:55:01] [PASSED] 33 VFs
[16:55:01] [PASSED] 34 VFs
[16:55:01] [PASSED] 35 VFs
[16:55:01] [PASSED] 36 VFs
[16:55:01] [PASSED] 37 VFs
[16:55:01] [PASSED] 38 VFs
[16:55:01] [PASSED] 39 VFs
[16:55:01] [PASSED] 40 VFs
[16:55:01] [PASSED] 41 VFs
[16:55:01] [PASSED] 42 VFs
[16:55:01] [PASSED] 43 VFs
[16:55:01] [PASSED] 44 VFs
[16:55:01] [PASSED] 45 VFs
[16:55:01] [PASSED] 46 VFs
[16:55:01] [PASSED] 47 VFs
[16:55:01] [PASSED] 48 VFs
[16:55:01] [PASSED] 49 VFs
[16:55:01] [PASSED] 50 VFs
[16:55:01] [PASSED] 51 VFs
[16:55:01] [PASSED] 52 VFs
[16:55:01] [PASSED] 53 VFs
[16:55:01] [PASSED] 54 VFs
[16:55:01] [PASSED] 55 VFs
[16:55:01] [PASSED] 56 VFs
[16:55:01] [PASSED] 57 VFs
[16:55:01] [PASSED] 58 VFs
[16:55:01] [PASSED] 59 VFs
[16:55:01] [PASSED] 60 VFs
[16:55:01] [PASSED] 61 VFs
[16:55:01] [PASSED] 62 VFs
[16:55:01] [PASSED] 63 VFs
[16:55:01] ================== [PASSED] fair_contexts ==================
[16:55:01] ===================== fair_doorbells ======================
[16:55:01] [PASSED] 1 VF
[16:55:01] [PASSED] 2 VFs
[16:55:01] [PASSED] 3 VFs
[16:55:01] [PASSED] 4 VFs
[16:55:01] [PASSED] 5 VFs
[16:55:01] [PASSED] 6 VFs
[16:55:01] [PASSED] 7 VFs
[16:55:01] [PASSED] 8 VFs
[16:55:01] [PASSED] 9 VFs
[16:55:01] [PASSED] 10 VFs
[16:55:01] [PASSED] 11 VFs
[16:55:01] [PASSED] 12 VFs
[16:55:01] [PASSED] 13 VFs
[16:55:01] [PASSED] 14 VFs
[16:55:01] [PASSED] 15 VFs
[16:55:01] [PASSED] 16 VFs
[16:55:01] [PASSED] 17 VFs
[16:55:01] [PASSED] 18 VFs
[16:55:01] [PASSED] 19 VFs
[16:55:01] [PASSED] 20 VFs
[16:55:01] [PASSED] 21 VFs
[16:55:01] [PASSED] 22 VFs
[16:55:01] [PASSED] 23 VFs
[16:55:01] [PASSED] 24 VFs
[16:55:01] [PASSED] 25 VFs
[16:55:01] [PASSED] 26 VFs
[16:55:01] [PASSED] 27 VFs
[16:55:01] [PASSED] 28 VFs
[16:55:01] [PASSED] 29 VFs
[16:55:01] [PASSED] 30 VFs
[16:55:01] [PASSED] 31 VFs
[16:55:01] [PASSED] 32 VFs
[16:55:01] [PASSED] 33 VFs
[16:55:01] [PASSED] 34 VFs
[16:55:01] [PASSED] 35 VFs
[16:55:01] [PASSED] 36 VFs
[16:55:01] [PASSED] 37 VFs
[16:55:01] [PASSED] 38 VFs
[16:55:01] [PASSED] 39 VFs
[16:55:01] [PASSED] 40 VFs
[16:55:01] [PASSED] 41 VFs
[16:55:01] [PASSED] 42 VFs
[16:55:01] [PASSED] 43 VFs
[16:55:01] [PASSED] 44 VFs
[16:55:01] [PASSED] 45 VFs
[16:55:01] [PASSED] 46 VFs
[16:55:01] [PASSED] 47 VFs
[16:55:01] [PASSED] 48 VFs
[16:55:01] [PASSED] 49 VFs
[16:55:01] [PASSED] 50 VFs
[16:55:01] [PASSED] 51 VFs
[16:55:01] [PASSED] 52 VFs
[16:55:01] [PASSED] 53 VFs
[16:55:01] [PASSED] 54 VFs
[16:55:01] [PASSED] 55 VFs
[16:55:01] [PASSED] 56 VFs
[16:55:01] [PASSED] 57 VFs
[16:55:01] [PASSED] 58 VFs
[16:55:01] [PASSED] 59 VFs
[16:55:01] [PASSED] 60 VFs
[16:55:01] [PASSED] 61 VFs
[16:55:01] [PASSED] 62 VFs
[16:55:01] [PASSED] 63 VFs
[16:55:01] ================= [PASSED] fair_doorbells ==================
[16:55:01] ======================== fair_ggtt ========================
[16:55:01] [PASSED] 1 VF
[16:55:01] [PASSED] 2 VFs
[16:55:01] [PASSED] 3 VFs
[16:55:01] [PASSED] 4 VFs
[16:55:01] [PASSED] 5 VFs
[16:55:01] [PASSED] 6 VFs
[16:55:01] [PASSED] 7 VFs
[16:55:01] [PASSED] 8 VFs
[16:55:01] [PASSED] 9 VFs
[16:55:01] [PASSED] 10 VFs
[16:55:01] [PASSED] 11 VFs
[16:55:01] [PASSED] 12 VFs
[16:55:01] [PASSED] 13 VFs
[16:55:01] [PASSED] 14 VFs
[16:55:01] [PASSED] 15 VFs
[16:55:01] [PASSED] 16 VFs
[16:55:01] [PASSED] 17 VFs
[16:55:01] [PASSED] 18 VFs
[16:55:01] [PASSED] 19 VFs
[16:55:01] [PASSED] 20 VFs
[16:55:01] [PASSED] 21 VFs
[16:55:01] [PASSED] 22 VFs
[16:55:01] [PASSED] 23 VFs
[16:55:01] [PASSED] 24 VFs
[16:55:01] [PASSED] 25 VFs
[16:55:01] [PASSED] 26 VFs
[16:55:01] [PASSED] 27 VFs
[16:55:01] [PASSED] 28 VFs
[16:55:01] [PASSED] 29 VFs
[16:55:01] [PASSED] 30 VFs
[16:55:01] [PASSED] 31 VFs
[16:55:01] [PASSED] 32 VFs
[16:55:01] [PASSED] 33 VFs
[16:55:01] [PASSED] 34 VFs
[16:55:01] [PASSED] 35 VFs
[16:55:01] [PASSED] 36 VFs
[16:55:01] [PASSED] 37 VFs
[16:55:01] [PASSED] 38 VFs
[16:55:01] [PASSED] 39 VFs
[16:55:01] [PASSED] 40 VFs
[16:55:01] [PASSED] 41 VFs
[16:55:01] [PASSED] 42 VFs
[16:55:01] [PASSED] 43 VFs
[16:55:01] [PASSED] 44 VFs
[16:55:01] [PASSED] 45 VFs
[16:55:01] [PASSED] 46 VFs
[16:55:01] [PASSED] 47 VFs
[16:55:01] [PASSED] 48 VFs
[16:55:01] [PASSED] 49 VFs
[16:55:01] [PASSED] 50 VFs
[16:55:01] [PASSED] 51 VFs
[16:55:01] [PASSED] 52 VFs
[16:55:01] [PASSED] 53 VFs
[16:55:01] [PASSED] 54 VFs
[16:55:01] [PASSED] 55 VFs
[16:55:01] [PASSED] 56 VFs
[16:55:01] [PASSED] 57 VFs
[16:55:01] [PASSED] 58 VFs
[16:55:01] [PASSED] 59 VFs
[16:55:01] [PASSED] 60 VFs
[16:55:01] [PASSED] 61 VFs
[16:55:01] [PASSED] 62 VFs
[16:55:01] [PASSED] 63 VFs
[16:55:01] ==================== [PASSED] fair_ggtt ====================
[16:55:01] ======================== fair_vram ========================
[16:55:01] [PASSED] 1 VF
[16:55:01] [PASSED] 2 VFs
[16:55:01] [PASSED] 3 VFs
[16:55:01] [PASSED] 4 VFs
[16:55:01] [PASSED] 5 VFs
[16:55:01] [PASSED] 6 VFs
[16:55:01] [PASSED] 7 VFs
[16:55:01] [PASSED] 8 VFs
[16:55:01] [PASSED] 9 VFs
[16:55:01] [PASSED] 10 VFs
[16:55:01] [PASSED] 11 VFs
[16:55:01] [PASSED] 12 VFs
[16:55:01] [PASSED] 13 VFs
[16:55:01] [PASSED] 14 VFs
[16:55:01] [PASSED] 15 VFs
[16:55:01] [PASSED] 16 VFs
[16:55:01] [PASSED] 17 VFs
[16:55:01] [PASSED] 18 VFs
[16:55:01] [PASSED] 19 VFs
[16:55:01] [PASSED] 20 VFs
[16:55:01] [PASSED] 21 VFs
[16:55:01] [PASSED] 22 VFs
[16:55:01] [PASSED] 23 VFs
[16:55:01] [PASSED] 24 VFs
[16:55:01] [PASSED] 25 VFs
[16:55:02] [PASSED] 26 VFs
[16:55:02] [PASSED] 27 VFs
[16:55:02] [PASSED] 28 VFs
[16:55:02] [PASSED] 29 VFs
[16:55:02] [PASSED] 30 VFs
[16:55:02] [PASSED] 31 VFs
[16:55:02] [PASSED] 32 VFs
[16:55:02] [PASSED] 33 VFs
[16:55:02] [PASSED] 34 VFs
[16:55:02] [PASSED] 35 VFs
[16:55:02] [PASSED] 36 VFs
[16:55:02] [PASSED] 37 VFs
[16:55:02] [PASSED] 38 VFs
[16:55:02] [PASSED] 39 VFs
[16:55:02] [PASSED] 40 VFs
[16:55:02] [PASSED] 41 VFs
[16:55:02] [PASSED] 42 VFs
[16:55:02] [PASSED] 43 VFs
[16:55:02] [PASSED] 44 VFs
[16:55:02] [PASSED] 45 VFs
[16:55:02] [PASSED] 46 VFs
[16:55:02] [PASSED] 47 VFs
[16:55:02] [PASSED] 48 VFs
[16:55:02] [PASSED] 49 VFs
[16:55:02] [PASSED] 50 VFs
[16:55:02] [PASSED] 51 VFs
[16:55:02] [PASSED] 52 VFs
[16:55:02] [PASSED] 53 VFs
[16:55:02] [PASSED] 54 VFs
[16:55:02] [PASSED] 55 VFs
[16:55:02] [PASSED] 56 VFs
[16:55:02] [PASSED] 57 VFs
[16:55:02] [PASSED] 58 VFs
[16:55:02] [PASSED] 59 VFs
[16:55:02] [PASSED] 60 VFs
[16:55:02] [PASSED] 61 VFs
[16:55:02] [PASSED] 62 VFs
[16:55:02] [PASSED] 63 VFs
[16:55:02] ==================== [PASSED] fair_vram ====================
[16:55:02] ================== [PASSED] pf_gt_config ===================
[16:55:02] ===================== lmtt (1 subtest) =====================
[16:55:02] ======================== test_ops =========================
[16:55:02] [PASSED] 2-level
[16:55:02] [PASSED] multi-level
[16:55:02] ==================== [PASSED] test_ops =====================
[16:55:02] ====================== [PASSED] lmtt =======================
[16:55:02] ================= sriov_packet (1 subtest) =================
[16:55:02] [PASSED] test_descriptor_init
[16:55:02] ================== [PASSED] sriov_packet ===================
[16:55:02] ================= pf_service (11 subtests) =================
[16:55:02] [PASSED] pf_negotiate_any
[16:55:02] [PASSED] pf_negotiate_base_match
[16:55:02] [PASSED] pf_negotiate_base_newer
[16:55:02] [PASSED] pf_negotiate_base_next
[16:55:02] [SKIPPED] pf_negotiate_base_older (no older minor)
[16:55:02] [PASSED] pf_negotiate_base_prev
[16:55:02] [PASSED] pf_negotiate_latest_match
[16:55:02] [PASSED] pf_negotiate_latest_newer
[16:55:02] [PASSED] pf_negotiate_latest_next
[16:55:02] [SKIPPED] pf_negotiate_latest_older (no older minor)
[16:55:02] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[16:55:02] =================== [PASSED] pf_service ====================
[16:55:02] ================= xe_guc_g2g (2 subtests) ==================
[16:55:02] ============== xe_live_guc_g2g_kunit_default ==============
[16:55:02] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[16:55:02] ============== xe_live_guc_g2g_kunit_allmem ===============
[16:55:02] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[16:55:02] =================== [SKIPPED] xe_guc_g2g ===================
[16:55:02] =================== xe_mocs (2 subtests) ===================
[16:55:02] ================ xe_live_mocs_kernel_kunit ================
[16:55:02] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[16:55:02] ================ xe_live_mocs_reset_kunit =================
[16:55:02] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[16:55:02] ==================== [SKIPPED] xe_mocs =====================
[16:55:02] ================= xe_migrate (3 subtests) ==================
[16:55:02] ================= xe_migrate_sanity_kunit =================
[16:55:02] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[16:55:02] ================== xe_validate_ccs_kunit ==================
[16:55:02] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[16:55:02] ============= xe_migrate_access_memory_kunit ==============
[16:55:02] ========= [SKIPPED] xe_migrate_access_memory_kunit =========
[16:55:02] =================== [SKIPPED] xe_migrate ===================
[16:55:02] ================== xe_dma_buf (1 subtest) ==================
[16:55:02] ==================== xe_dma_buf_kunit =====================
[16:55:02] ================ [SKIPPED] xe_dma_buf_kunit ================
[16:55:02] =================== [SKIPPED] xe_dma_buf ===================
[16:55:02] ================= xe_bo_shrink (1 subtest) =================
[16:55:02] =================== xe_bo_shrink_kunit ====================
[16:55:02] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[16:55:02] ================== [SKIPPED] xe_bo_shrink ==================
[16:55:02] ==================== xe_bo (2 subtests) ====================
[16:55:02] ================== xe_ccs_migrate_kunit ===================
[16:55:02] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[16:55:02] ==================== xe_bo_evict_kunit ====================
[16:55:02] =============== [SKIPPED] xe_bo_evict_kunit ================
[16:55:02] ===================== [SKIPPED] xe_bo ======================
[16:55:02] =================== xe_any (9 subtests) ====================
[16:55:02] [PASSED] test_to_xe
[16:55:02] [PASSED] test_to_dev
[16:55:02] [PASSED] test_to_pdev
[16:55:02] [PASSED] test_to_drm
[16:55:02] [PASSED] test_if_pdev
[16:55:02] [PASSED] test_if_xe
[16:55:02] [PASSED] test_if_tile
[16:55:02] [PASSED] test_if_gt
[16:55:02] [PASSED] test_to_id
[16:55:02] ===================== [PASSED] xe_any ======================
[16:55:02] ==================== args (13 subtests) ====================
[16:55:02] [PASSED] count_args_test
[16:55:02] [PASSED] call_args_example
[16:55:02] [PASSED] call_args_test
[16:55:02] [PASSED] drop_first_arg_example
[16:55:02] [PASSED] drop_first_arg_test
[16:55:02] [PASSED] first_arg_example
[16:55:02] [PASSED] first_arg_test
[16:55:02] [PASSED] last_arg_example
[16:55:02] [PASSED] last_arg_test
[16:55:02] [PASSED] pick_arg_example
[16:55:02] [PASSED] if_args_example
[16:55:02] [PASSED] if_args_test
[16:55:02] [PASSED] sep_comma_example
[16:55:02] ====================== [PASSED] args =======================
[16:55:02] =================== xe_pci (3 subtests) ====================
[16:55:02] ==================== check_graphics_ip ====================
[16:55:02] [PASSED] 12.00 Xe_LP
[16:55:02] [PASSED] 12.10 Xe_LP+
[16:55:02] [PASSED] 12.55 Xe_HPG
[16:55:02] [PASSED] 12.60 Xe_HPC
[16:55:02] [PASSED] 12.70 Xe_LPG
[16:55:02] [PASSED] 12.71 Xe_LPG
[16:55:02] [PASSED] 12.74 Xe_LPG+
[16:55:02] [PASSED] 20.01 Xe2_HPG
[16:55:02] [PASSED] 20.02 Xe2_HPG
[16:55:02] [PASSED] 20.04 Xe2_LPG
[16:55:02] [PASSED] 30.00 Xe3_LPG
[16:55:02] [PASSED] 30.01 Xe3_LPG
[16:55:02] [PASSED] 30.03 Xe3_LPG
[16:55:02] [PASSED] 30.04 Xe3_LPG
[16:55:02] [PASSED] 30.05 Xe3_LPG
[16:55:02] [PASSED] 35.10 Xe3p_LPG
[16:55:02] [PASSED] 35.11 Xe3p_XPC
[16:55:02] ================ [PASSED] check_graphics_ip ================
[16:55:02] ===================== check_media_ip ======================
[16:55:02] [PASSED] 12.00 Xe_M
[16:55:02] [PASSED] 12.55 Xe_HPM
[16:55:02] [PASSED] 13.00 Xe_LPM+
[16:55:02] [PASSED] 13.01 Xe2_HPM
[16:55:02] [PASSED] 20.00 Xe2_LPM
[16:55:02] [PASSED] 30.00 Xe3_LPM
[16:55:02] [PASSED] 30.02 Xe3_LPM
[16:55:02] [PASSED] 35.00 Xe3p_LPM
[16:55:02] [PASSED] 35.03 Xe3p_HPM
[16:55:02] ================= [PASSED] check_media_ip ==================
[16:55:02] =================== check_platform_desc ===================
[16:55:02] [PASSED] 0x9A60 (TIGERLAKE)
[16:55:02] [PASSED] 0x9A68 (TIGERLAKE)
[16:55:02] [PASSED] 0x9A70 (TIGERLAKE)
[16:55:02] [PASSED] 0x9A40 (TIGERLAKE)
[16:55:02] [PASSED] 0x9A49 (TIGERLAKE)
[16:55:02] [PASSED] 0x9A59 (TIGERLAKE)
[16:55:02] [PASSED] 0x9A78 (TIGERLAKE)
[16:55:02] [PASSED] 0x9AC0 (TIGERLAKE)
[16:55:02] [PASSED] 0x9AC9 (TIGERLAKE)
[16:55:02] [PASSED] 0x9AD9 (TIGERLAKE)
[16:55:02] [PASSED] 0x9AF8 (TIGERLAKE)
[16:55:02] [PASSED] 0x4C80 (ROCKETLAKE)
[16:55:02] [PASSED] 0x4C8A (ROCKETLAKE)
[16:55:02] [PASSED] 0x4C8B (ROCKETLAKE)
[16:55:02] [PASSED] 0x4C8C (ROCKETLAKE)
[16:55:02] [PASSED] 0x4C90 (ROCKETLAKE)
[16:55:02] [PASSED] 0x4C9A (ROCKETLAKE)
[16:55:02] [PASSED] 0x4680 (ALDERLAKE_S)
[16:55:02] [PASSED] 0x4682 (ALDERLAKE_S)
[16:55:02] [PASSED] 0x4688 (ALDERLAKE_S)
[16:55:02] [PASSED] 0x468A (ALDERLAKE_S)
[16:55:02] [PASSED] 0x468B (ALDERLAKE_S)
[16:55:02] [PASSED] 0x4690 (ALDERLAKE_S)
[16:55:02] [PASSED] 0x4692 (ALDERLAKE_S)
[16:55:02] [PASSED] 0x4693 (ALDERLAKE_S)
[16:55:02] [PASSED] 0x46A0 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46A1 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46A2 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46A3 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46A6 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46A8 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46AA (ALDERLAKE_P)
[16:55:02] [PASSED] 0x462A (ALDERLAKE_P)
[16:55:02] [PASSED] 0x4626 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x4628 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46B0 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46B1 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46B2 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46B3 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46C0 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46C1 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46C2 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46C3 (ALDERLAKE_P)
[16:55:02] [PASSED] 0x46D0 (ALDERLAKE_N)
[16:55:02] [PASSED] 0x46D1 (ALDERLAKE_N)
[16:55:02] [PASSED] 0x46D2 (ALDERLAKE_N)
[16:55:02] [PASSED] 0x46D3 (ALDERLAKE_N)
[16:55:02] [PASSED] 0x46D4 (ALDERLAKE_N)
[16:55:02] [PASSED] 0xA721 (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA7A1 (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA7A9 (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA7AC (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA7AD (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA720 (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA7A0 (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA7A8 (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA7AA (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA7AB (ALDERLAKE_P)
[16:55:02] [PASSED] 0xA780 (ALDERLAKE_S)
[16:55:02] [PASSED] 0xA781 (ALDERLAKE_S)
[16:55:02] [PASSED] 0xA782 (ALDERLAKE_S)
[16:55:02] [PASSED] 0xA783 (ALDERLAKE_S)
[16:55:02] [PASSED] 0xA788 (ALDERLAKE_S)
[16:55:02] [PASSED] 0xA789 (ALDERLAKE_S)
[16:55:02] [PASSED] 0xA78A (ALDERLAKE_S)
[16:55:02] [PASSED] 0xA78B (ALDERLAKE_S)
[16:55:02] [PASSED] 0x4905 (DG1)
[16:55:02] [PASSED] 0x4906 (DG1)
[16:55:02] [PASSED] 0x4907 (DG1)
[16:55:02] [PASSED] 0x4908 (DG1)
[16:55:02] [PASSED] 0x4909 (DG1)
[16:55:02] [PASSED] 0x56C0 (DG2)
[16:55:02] [PASSED] 0x56C2 (DG2)
[16:55:02] [PASSED] 0x56C1 (DG2)
[16:55:02] [PASSED] 0x7D51 (METEORLAKE)
[16:55:02] [PASSED] 0x7DD1 (METEORLAKE)
[16:55:02] [PASSED] 0x7D41 (METEORLAKE)
[16:55:02] [PASSED] 0x7D67 (METEORLAKE)
[16:55:02] [PASSED] 0xB640 (METEORLAKE)
[16:55:02] [PASSED] 0x56A0 (DG2)
[16:55:02] [PASSED] 0x56A1 (DG2)
[16:55:02] [PASSED] 0x56A2 (DG2)
[16:55:02] [PASSED] 0x56BE (DG2)
[16:55:02] [PASSED] 0x56BF (DG2)
[16:55:02] [PASSED] 0x5690 (DG2)
[16:55:02] [PASSED] 0x5691 (DG2)
[16:55:02] [PASSED] 0x5692 (DG2)
[16:55:02] [PASSED] 0x56A5 (DG2)
[16:55:02] [PASSED] 0x56A6 (DG2)
[16:55:02] [PASSED] 0x56B0 (DG2)
[16:55:02] [PASSED] 0x56B1 (DG2)
[16:55:02] [PASSED] 0x56BA (DG2)
[16:55:02] [PASSED] 0x56BB (DG2)
[16:55:02] [PASSED] 0x56BC (DG2)
[16:55:02] [PASSED] 0x56BD (DG2)
[16:55:02] [PASSED] 0x5693 (DG2)
[16:55:02] [PASSED] 0x5694 (DG2)
[16:55:02] [PASSED] 0x5695 (DG2)
[16:55:02] [PASSED] 0x56A3 (DG2)
[16:55:02] [PASSED] 0x56A4 (DG2)
[16:55:02] [PASSED] 0x56B2 (DG2)
[16:55:02] [PASSED] 0x56B3 (DG2)
[16:55:02] [PASSED] 0x5696 (DG2)
[16:55:02] [PASSED] 0x5697 (DG2)
[16:55:02] [PASSED] 0xB69 (PVC)
[16:55:02] [PASSED] 0xB6E (PVC)
[16:55:02] [PASSED] 0xBD4 (PVC)
[16:55:02] [PASSED] 0xBD5 (PVC)
[16:55:02] [PASSED] 0xBD6 (PVC)
[16:55:02] [PASSED] 0xBD7 (PVC)
[16:55:02] [PASSED] 0xBD8 (PVC)
[16:55:02] [PASSED] 0xBD9 (PVC)
[16:55:02] [PASSED] 0xBDA (PVC)
[16:55:02] [PASSED] 0xBDB (PVC)
[16:55:02] [PASSED] 0xBE0 (PVC)
[16:55:02] [PASSED] 0xBE1 (PVC)
[16:55:02] [PASSED] 0xBE5 (PVC)
[16:55:02] [PASSED] 0x7D40 (METEORLAKE)
[16:55:02] [PASSED] 0x7D45 (METEORLAKE)
[16:55:02] [PASSED] 0x7D55 (METEORLAKE)
[16:55:02] [PASSED] 0x7D60 (METEORLAKE)
[16:55:02] [PASSED] 0x7DD5 (METEORLAKE)
[16:55:02] [PASSED] 0x6420 (LUNARLAKE)
[16:55:02] [PASSED] 0x64A0 (LUNARLAKE)
[16:55:02] [PASSED] 0x64B0 (LUNARLAKE)
[16:55:02] [PASSED] 0xE202 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE209 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE20B (BATTLEMAGE)
[16:55:02] [PASSED] 0xE20C (BATTLEMAGE)
[16:55:02] [PASSED] 0xE20D (BATTLEMAGE)
[16:55:02] [PASSED] 0xE210 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE211 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE212 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE216 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE220 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE221 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE222 (BATTLEMAGE)
[16:55:02] [PASSED] 0xE223 (BATTLEMAGE)
[16:55:02] [PASSED] 0xB080 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB081 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB082 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB083 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB084 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB085 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB086 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB087 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB08F (PANTHERLAKE)
[16:55:02] [PASSED] 0xB090 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB0A0 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB0A1 (PANTHERLAKE)
[16:55:02] [PASSED] 0xB0B0 (PANTHERLAKE)
[16:55:02] [PASSED] 0xFD80 (PANTHERLAKE)
[16:55:02] [PASSED] 0xFD81 (PANTHERLAKE)
[16:55:02] [PASSED] 0xD740 (NOVALAKE_S)
[16:55:02] [PASSED] 0xD741 (NOVALAKE_S)
[16:55:02] [PASSED] 0xD742 (NOVALAKE_S)
[16:55:02] [PASSED] 0xD743 (NOVALAKE_S)
[16:55:02] [PASSED] 0xD745 (NOVALAKE_S)
[16:55:02] [PASSED] 0xD74A (NOVALAKE_S)
[16:55:02] [PASSED] 0xD74B (NOVALAKE_S)
[16:55:02] [PASSED] 0x674C (CRESCENTISLAND)
[16:55:02] [PASSED] 0x674D (CRESCENTISLAND)
[16:55:02] [PASSED] 0x674E (CRESCENTISLAND)
[16:55:02] [PASSED] 0x674F (CRESCENTISLAND)
[16:55:02] [PASSED] 0x6750 (CRESCENTISLAND)
[16:55:02] [PASSED] 0x6751 (CRESCENTISLAND)
[16:55:02] [PASSED] 0x6752 (CRESCENTISLAND)
[16:55:02] [PASSED] 0xD750 (NOVALAKE_P)
[16:55:02] [PASSED] 0xD751 (NOVALAKE_P)
[16:55:02] [PASSED] 0xD752 (NOVALAKE_P)
[16:55:02] [PASSED] 0xD753 (NOVALAKE_P)
[16:55:02] [PASSED] 0xD754 (NOVALAKE_P)
[16:55:02] [PASSED] 0xD755 (NOVALAKE_P)
[16:55:02] [PASSED] 0xD756 (NOVALAKE_P)
[16:55:02] [PASSED] 0xD757 (NOVALAKE_P)
[16:55:02] [PASSED] 0xD75F (NOVALAKE_P)
[16:55:02] =============== [PASSED] check_platform_desc ===============
[16:55:02] ===================== [PASSED] xe_pci ======================
[16:55:02] ============= xe_rtp_tables_test (5 subtests) ==============
[16:55:02] ================== xe_rtp_table_gt_test ===================
[16:55:02] [PASSED] gt_was/14011060649
[16:55:02] [PASSED] gt_was/14011059788
[16:55:02] [PASSED] gt_was/14015795083
[16:55:02] [PASSED] gt_was/16021867713
[16:55:02] [PASSED] gt_was/14019449301
[16:55:02] [PASSED] gt_was/16028005424
[16:55:02] [PASSED] gt_was/14026578760
[16:55:02] [PASSED] gt_was/1409420604
[16:55:02] [PASSED] gt_was/1408615072
[16:55:02] [PASSED] gt_was/22010523718
[16:55:02] [PASSED] gt_was/14011006942
[16:55:02] [PASSED] gt_was/14014830051
[16:55:02] [PASSED] gt_was/18018781329
[16:55:02] [PASSED] gt_was/1509235366
[16:55:02] [PASSED] gt_was/18018781329
[16:55:02] [PASSED] gt_was/16016694945
[16:55:02] [PASSED] gt_was/14018575942
[16:55:02] [PASSED] gt_was/22016670082
[16:55:02] [PASSED] gt_was/22016670082
[16:55:02] [PASSED] gt_was/14017421178
[16:55:02] [PASSED] gt_was/16025250150
[16:55:02] [PASSED] gt_was/14021871409
[16:55:02] [PASSED] gt_was/16021865536
[16:55:02] [PASSED] gt_was/14021486841
[16:55:02] [PASSED] gt_was/14025160223
[16:55:02] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[16:55:02] [PASSED] gt_was/14025635424
[16:55:02] [PASSED] gt_was/16028005424
[16:55:02] ============== [PASSED] xe_rtp_table_gt_test ===============
[16:55:02] ================== xe_rtp_table_gt_test ===================
[16:55:02] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[16:55:02] [PASSED] gt_tunings/Tuning: 32B Access Enable
[16:55:02] [PASSED] gt_tunings/Tuning: L3 cache
[16:55:02] [PASSED] gt_tunings/Tuning: L3 cache - media
[16:55:02] [PASSED] gt_tunings/Tuning: Compression Overfetch
[16:55:02] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[16:55:02] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[16:55:02] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[16:55:02] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[16:55:02] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[16:55:02] [PASSED] gt_tunings/Tuning: Stateless compression control
[16:55:02] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[16:55:02] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[16:55:02] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[16:55:02] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[16:55:02] [PASSED] gt_tunings/Tuning: Force All Non-Compressible Memory Reads to be 256B Overfetches
[16:55:02] ============== [PASSED] xe_rtp_table_gt_test ===============
[16:55:02] ================== xe_rtp_table_oob_test ==================
[16:55:02] [PASSED] oob_was/1607983814
[16:55:02] [PASSED] oob_was/16010904313
[16:55:02] [PASSED] oob_was/18022495364
[16:55:02] [PASSED] oob_was/22012773006
[16:55:02] [PASSED] oob_was/14014475959
[16:55:02] [PASSED] oob_was/22011391025
[16:55:02] [PASSED] oob_was/22012727170
[16:55:02] [PASSED] oob_was/22012727685
[16:55:02] [PASSED] oob_was/22016596838
[16:55:02] [PASSED] oob_was/18020744125
[16:55:02] [PASSED] oob_was/1409600907
[16:55:02] [PASSED] oob_was/22014953428
[16:55:02] [PASSED] oob_was/16017236439
[16:55:02] [PASSED] oob_was/14019821291
[16:55:02] [PASSED] oob_was/14015076503
[16:55:02] [PASSED] oob_was/22016122933
[16:55:02] [PASSED] oob_was/14018913170
[16:55:02] [PASSED] oob_was/14018094691
[16:55:02] [PASSED] oob_was/18024947630
[16:55:02] [PASSED] oob_was/16022287689
[16:55:02] [PASSED] oob_was/13011645652
[16:55:02] [PASSED] oob_was/14022293748
[16:55:02] [PASSED] oob_was/22019794406
[16:55:02] [PASSED] oob_was/22019338487
[16:55:02] [PASSED] oob_was/16023588340
[16:55:02] [PASSED] oob_was/14019789679
[16:55:02] [PASSED] oob_was/14022866841
[16:55:02] [PASSED] oob_was/16021333562
[16:55:02] [PASSED] oob_was/14016712196
[16:55:02] [PASSED] oob_was/14015568240
[16:55:02] [PASSED] oob_was/18013179988
[16:55:02] [PASSED] oob_was/1508761755
[16:55:02] [PASSED] oob_was/16023105232
[16:55:02] [PASSED] oob_was/16026508708
[16:55:02] [PASSED] oob_was/14020001231
[16:55:02] [PASSED] oob_was/16023683509
[16:55:02] [PASSED] oob_was/14025515070
[16:55:02] [PASSED] oob_was/15015404425_disable
[16:55:02] [PASSED] oob_was/16026007364
[16:55:02] [PASSED] oob_was/14020316580
[16:55:02] [PASSED] oob_was/14025883347
[16:55:02] [PASSED] oob_was/16029380221
[16:55:02] [PASSED] oob_was/22022079272
[16:55:02] [PASSED] oob_was/16029897822
[16:55:02] [PASSED] oob_was/14026539277
[16:55:02] [PASSED] oob_was/14027054324
[16:55:02] [PASSED] oob_was/14025941587
[16:55:02] [PASSED] oob_was/16030224309
[16:55:02] [PASSED] oob_was/14028709524
[16:55:02] ============== [PASSED] xe_rtp_table_oob_test ==============
[16:55:02] ================ xe_rtp_table_dev_oob_test ================
[16:55:02] [PASSED] device_oob_was/22010954014
[16:55:02] [PASSED] device_oob_was/15015404425
[16:55:02] [PASSED] device_oob_was/22019338487_display
[16:55:02] [PASSED] device_oob_was/14022085890
[16:55:02] [PASSED] device_oob_was/14026633728
[16:55:02] [PASSED] device_oob_was/14026746987
[16:55:02] [PASSED] device_oob_was/14026779378
[16:55:02] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[16:55:02] ========== xe_rtp_table_missing_upper_bound_test ==========
[16:55:02] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[16:55:02] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[16:55:02] [PASSED] register_whitelist/1806527549
[16:55:02] [PASSED] register_whitelist/allow_read_ctx_timestamp
[16:55:02] [PASSED] register_whitelist/allow_read_queue_timestamp
[16:55:02] [PASSED] register_whitelist/16014440446
[16:55:02] [PASSED] register_whitelist/16017236439
[16:55:02] [PASSED] register_whitelist/16020183090
[16:55:02] [PASSED] register_whitelist/14024997852
[16:55:02] [PASSED] register_whitelist/14024997852
[16:55:02] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[16:55:02] =============== [PASSED] xe_rtp_tables_test ================
[16:55:02] =================== xe_rtp (3 subtests) ====================
[16:55:02] =================== xe_rtp_rules_tests ====================
[16:55:02] [PASSED] no
[16:55:02] [PASSED] yes
[16:55:02] [PASSED] no-and-no
[16:55:02] [PASSED] no-and-yes
[16:55:02] [PASSED] yes-and-no
[16:55:02] [PASSED] yes-and-yes
[16:55:02] [PASSED] no-or-no
[16:55:02] [PASSED] no-or-yes
[16:55:02] [PASSED] yes-or-no
[16:55:02] [PASSED] yes-or-yes
[16:55:02] [PASSED] no-yes-or-yes-no
[16:55:02] [PASSED] no-yes-or-yes-yes
[16:55:02] [PASSED] yes-yes-or-no-yes
[16:55:02] [PASSED] yes-yes-or-yes-yes
[16:55:02] [PASSED] no-no-or-yes-or-no
[16:55:02] [PASSED] or
[16:55:02] [PASSED] or-yes
[16:55:02] [PASSED] or-no
[16:55:02] [PASSED] yes-or
[16:55:02] [PASSED] no-or
[16:55:02] [PASSED] no-or-or-yes
[16:55:02] [PASSED] yes-or-or-no
[16:55:02] [PASSED] no-or-or-no
[16:55:02] [PASSED] missing-context-engine-class
[16:55:02] [PASSED] missing-context-engine-class-or-yes
[16:55:02] [PASSED] missing-context-engine-class-or-or-yes
[16:55:02] =============== [PASSED] xe_rtp_rules_tests ================
[16:55:02] =============== xe_rtp_process_to_sr_tests ================
[16:55:02] [PASSED] coalesce-same-reg
[16:55:02] [PASSED] coalesce-same-reg-literal-and-func
[16:55:02] [PASSED] no-match-no-add
[16:55:02] [PASSED] two-regs-two-entries
[16:55:02] [PASSED] clr-one-set-other
[16:55:02] [PASSED] set-field
[16:55:02] [PASSED] conflict-duplicate
[16:55:02] [PASSED] conflict-not-disjoint
[16:55:02] [PASSED] conflict-not-disjoint-literal-and-func
[16:55:02] [PASSED] conflict-reg-type
[16:55:02] [PASSED] bad-mcr-reg-forced-to-regular
[16:55:02] [PASSED] bad-regular-reg-forced-to-mcr
[16:55:02] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[16:55:02] ================== xe_rtp_process_tests ===================
[16:55:02] [PASSED] active1
[16:55:02] [PASSED] active2
[16:55:02] [PASSED] active-inactive
[16:55:02] [PASSED] inactive-active
[16:55:02] [PASSED] inactive-active-inactive
[16:55:02] [PASSED] inactive-inactive-inactive
[16:55:02] ============== [PASSED] xe_rtp_process_tests ===============
[16:55:02] ===================== [PASSED] xe_rtp ======================
[16:55:02] ==================== xe_wa (1 subtest) =====================
[16:55:02] ======================== xe_wa_gt =========================
[16:55:02] [PASSED] TIGERLAKE B0
[16:55:02] [PASSED] DG1 A0
[16:55:02] [PASSED] DG1 B0
[16:55:02] [PASSED] ALDERLAKE_S A0
[16:55:02] [PASSED] ALDERLAKE_S B0
[16:55:02] [PASSED] ALDERLAKE_S C0
[16:55:02] [PASSED] ALDERLAKE_S D0
[16:55:02] [PASSED] ALDERLAKE_P A0
[16:55:02] [PASSED] ALDERLAKE_P B0
[16:55:02] [PASSED] ALDERLAKE_P C0
[16:55:02] [PASSED] ALDERLAKE_S RPLS D0
[16:55:02] [PASSED] ALDERLAKE_P RPLU E0
[16:55:02] [PASSED] DG2 G10 C0
[16:55:02] [PASSED] DG2 G11 B1
[16:55:02] [PASSED] DG2 G12 A1
[16:55:02] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:55:02] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:55:02] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[16:55:02] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[16:55:02] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[16:55:02] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[16:55:02] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[16:55:02] ==================== [PASSED] xe_wa_gt =====================
[16:55:02] ====================== [PASSED] xe_wa ======================
[16:55:02] ============================================================
[16:55:02] Testing complete. Ran 840 tests: passed: 811, skipped: 29
[16:55:02] Elapsed time: 40.707s total, 2.556s configuring, 37.435s building, 0.700s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[16:55:02] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:55:04] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:55:29] Starting KUnit Kernel (1/1)...
[16:55:29] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:55:29] ============ drm_test_pick_cmdline (2 subtests) ============
[16:55:29] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[16:55:29] =============== drm_test_pick_cmdline_named ===============
[16:55:29] [PASSED] NTSC
[16:55:29] [PASSED] NTSC-J
[16:55:29] [PASSED] PAL
[16:55:29] [PASSED] PAL-M
[16:55:29] =========== [PASSED] drm_test_pick_cmdline_named ===========
[16:55:29] ============== [PASSED] drm_test_pick_cmdline ==============
[16:55:29] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[16:55:29] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[16:55:29] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[16:55:29] =========== drm_validate_clone_mode (2 subtests) ===========
[16:55:29] ============== drm_test_check_in_clone_mode ===============
[16:55:29] [PASSED] in_clone_mode
[16:55:29] [PASSED] not_in_clone_mode
[16:55:29] ========== [PASSED] drm_test_check_in_clone_mode ===========
[16:55:29] =============== drm_test_check_valid_clones ===============
[16:55:29] [PASSED] not_in_clone_mode
[16:55:29] [PASSED] valid_clone
[16:55:29] [PASSED] invalid_clone
[16:55:29] =========== [PASSED] drm_test_check_valid_clones ===========
[16:55:29] ============= [PASSED] drm_validate_clone_mode =============
[16:55:29] ============= drm_validate_modeset (1 subtest) =============
[16:55:29] [PASSED] drm_test_check_connector_changed_modeset
[16:55:29] ============== [PASSED] drm_validate_modeset ===============
[16:55:29] ====== drm_test_bridge_get_current_state (1 subtest) =======
[16:55:29] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[16:55:29] ======== [PASSED] drm_test_bridge_get_current_state ========
[16:55:29] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[16:55:29] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[16:55:29] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[16:55:29] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[16:55:29] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[16:55:29] ============== drm_bridge_alloc (2 subtests) ===============
[16:55:29] [PASSED] drm_test_drm_bridge_alloc_basic
[16:55:29] [PASSED] drm_test_drm_bridge_alloc_get_put
[16:55:29] ================ [PASSED] drm_bridge_alloc =================
[16:55:29] ============= drm_bridge_bus_fmt (5 subtests) ==============
[16:55:29] [PASSED] drm_test_bridge_rgb_yuv_rgb
[16:55:29] [PASSED] drm_test_bridge_must_convert_to_yuv444
[16:55:29] [PASSED] drm_test_bridge_hdmi_auto_rgb
[16:55:29] [PASSED] drm_test_bridge_auto_first
[16:55:29] [PASSED] drm_test_bridge_rgb_yuv_no_path
[16:55:29] =============== [PASSED] drm_bridge_bus_fmt ================
[16:55:29] ============= drm_cmdline_parser (40 subtests) =============
[16:55:29] [PASSED] drm_test_cmdline_force_d_only
[16:55:29] [PASSED] drm_test_cmdline_force_D_only_dvi
[16:55:29] [PASSED] drm_test_cmdline_force_D_only_hdmi
[16:55:29] [PASSED] drm_test_cmdline_force_D_only_not_digital
[16:55:29] [PASSED] drm_test_cmdline_force_e_only
[16:55:29] [PASSED] drm_test_cmdline_res
[16:55:29] [PASSED] drm_test_cmdline_res_vesa
[16:55:29] [PASSED] drm_test_cmdline_res_vesa_rblank
[16:55:29] [PASSED] drm_test_cmdline_res_rblank
[16:55:29] [PASSED] drm_test_cmdline_res_bpp
[16:55:29] [PASSED] drm_test_cmdline_res_refresh
[16:55:29] [PASSED] drm_test_cmdline_res_bpp_refresh
[16:55:29] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[16:55:29] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[16:55:29] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[16:55:29] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[16:55:29] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[16:55:29] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[16:55:29] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[16:55:29] [PASSED] drm_test_cmdline_res_margins_force_on
[16:55:29] [PASSED] drm_test_cmdline_res_vesa_margins
[16:55:29] [PASSED] drm_test_cmdline_name
[16:55:29] [PASSED] drm_test_cmdline_name_bpp
[16:55:29] [PASSED] drm_test_cmdline_name_option
[16:55:29] [PASSED] drm_test_cmdline_name_bpp_option
[16:55:29] [PASSED] drm_test_cmdline_rotate_0
[16:55:29] [PASSED] drm_test_cmdline_rotate_90
[16:55:29] [PASSED] drm_test_cmdline_rotate_180
[16:55:29] [PASSED] drm_test_cmdline_rotate_270
[16:55:29] [PASSED] drm_test_cmdline_hmirror
[16:55:29] [PASSED] drm_test_cmdline_vmirror
[16:55:29] [PASSED] drm_test_cmdline_margin_options
[16:55:29] [PASSED] drm_test_cmdline_multiple_options
[16:55:29] [PASSED] drm_test_cmdline_bpp_extra_and_option
[16:55:29] [PASSED] drm_test_cmdline_extra_and_option
[16:55:29] [PASSED] drm_test_cmdline_freestanding_options
[16:55:29] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[16:55:29] [PASSED] drm_test_cmdline_panel_orientation
[16:55:29] ================ drm_test_cmdline_invalid =================
[16:55:29] [PASSED] margin_only
[16:55:29] [PASSED] interlace_only
[16:55:29] [PASSED] res_missing_x
[16:55:29] [PASSED] res_missing_y
[16:55:29] [PASSED] res_bad_y
[16:55:29] [PASSED] res_missing_y_bpp
[16:55:29] [PASSED] res_bad_bpp
[16:55:29] [PASSED] res_bad_refresh
[16:55:29] [PASSED] res_bpp_refresh_force_on_off
[16:55:29] [PASSED] res_invalid_mode
[16:55:29] [PASSED] res_bpp_wrong_place_mode
[16:55:29] [PASSED] name_bpp_refresh
[16:55:29] [PASSED] name_refresh
[16:55:29] [PASSED] name_refresh_wrong_mode
[16:55:29] [PASSED] name_refresh_invalid_mode
[16:55:29] [PASSED] rotate_multiple
[16:55:29] [PASSED] rotate_invalid_val
[16:55:29] [PASSED] rotate_truncated
[16:55:29] [PASSED] invalid_option
[16:55:29] [PASSED] invalid_tv_option
[16:55:29] [PASSED] truncated_tv_option
[16:55:29] ============ [PASSED] drm_test_cmdline_invalid =============
[16:55:29] =============== drm_test_cmdline_tv_options ===============
[16:55:29] [PASSED] NTSC
[16:55:29] [PASSED] NTSC_443
[16:55:29] [PASSED] NTSC_J
[16:55:29] [PASSED] PAL
[16:55:29] [PASSED] PAL_M
[16:55:29] [PASSED] PAL_N
[16:55:29] [PASSED] SECAM
[16:55:29] [PASSED] MONO_525
[16:55:29] [PASSED] MONO_625
[16:55:29] =========== [PASSED] drm_test_cmdline_tv_options ===========
[16:55:29] =============== [PASSED] drm_cmdline_parser ================
[16:55:29] ========== drmm_connector_hdmi_init (20 subtests) ==========
[16:55:29] [PASSED] drm_test_connector_hdmi_init_valid
[16:55:29] [PASSED] drm_test_connector_hdmi_init_bpc_8
[16:55:29] [PASSED] drm_test_connector_hdmi_init_bpc_10
[16:55:29] [PASSED] drm_test_connector_hdmi_init_bpc_12
[16:55:29] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[16:55:29] [PASSED] drm_test_connector_hdmi_init_bpc_null
[16:55:29] [PASSED] drm_test_connector_hdmi_init_formats_empty
[16:55:29] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[16:55:29] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:55:29] [PASSED] supported_formats=0x9 yuv420_allowed=1
[16:55:29] [PASSED] supported_formats=0x9 yuv420_allowed=0
[16:55:29] [PASSED] supported_formats=0x5 yuv420_allowed=1
[16:55:29] [PASSED] supported_formats=0x5 yuv420_allowed=0
[16:55:29] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:55:29] [PASSED] drm_test_connector_hdmi_init_null_ddc
[16:55:29] [PASSED] drm_test_connector_hdmi_init_null_product
[16:55:29] [PASSED] drm_test_connector_hdmi_init_null_vendor
[16:55:29] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[16:55:29] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[16:55:29] [PASSED] drm_test_connector_hdmi_init_product_valid
[16:55:29] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[16:55:29] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[16:55:29] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[16:55:29] ========= drm_test_connector_hdmi_init_type_valid =========
[16:55:29] [PASSED] HDMI-A
[16:55:29] [PASSED] HDMI-B
[16:55:29] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[16:55:29] ======== drm_test_connector_hdmi_init_type_invalid ========
[16:55:29] [PASSED] Unknown
[16:55:29] [PASSED] VGA
[16:55:29] [PASSED] DVI-I
[16:55:29] [PASSED] DVI-D
[16:55:29] [PASSED] DVI-A
[16:55:29] [PASSED] Composite
[16:55:29] [PASSED] SVIDEO
[16:55:29] [PASSED] LVDS
[16:55:29] [PASSED] Component
[16:55:29] [PASSED] DIN
[16:55:29] [PASSED] DP
[16:55:29] [PASSED] TV
[16:55:29] [PASSED] eDP
[16:55:29] [PASSED] Virtual
[16:55:29] [PASSED] DSI
[16:55:29] [PASSED] DPI
[16:55:29] [PASSED] Writeback
[16:55:29] [PASSED] SPI
[16:55:29] [PASSED] USB
[16:55:29] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[16:55:29] ============ [PASSED] drmm_connector_hdmi_init =============
[16:55:29] ============= drmm_connector_init (3 subtests) =============
[16:55:29] [PASSED] drm_test_drmm_connector_init
[16:55:29] [PASSED] drm_test_drmm_connector_init_null_ddc
[16:55:29] ========= drm_test_drmm_connector_init_type_valid =========
[16:55:29] [PASSED] Unknown
[16:55:29] [PASSED] VGA
[16:55:29] [PASSED] DVI-I
[16:55:29] [PASSED] DVI-D
[16:55:29] [PASSED] DVI-A
[16:55:29] [PASSED] Composite
[16:55:29] [PASSED] SVIDEO
[16:55:29] [PASSED] LVDS
[16:55:29] [PASSED] Component
[16:55:29] [PASSED] DIN
[16:55:29] [PASSED] DP
[16:55:29] [PASSED] HDMI-A
[16:55:29] [PASSED] HDMI-B
[16:55:29] [PASSED] TV
[16:55:29] [PASSED] eDP
[16:55:29] [PASSED] Virtual
[16:55:29] [PASSED] DSI
[16:55:29] [PASSED] DPI
[16:55:29] [PASSED] Writeback
[16:55:29] [PASSED] SPI
[16:55:29] [PASSED] USB
[16:55:29] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[16:55:29] =============== [PASSED] drmm_connector_init ===============
[16:55:29] ========= drm_connector_dynamic_init (6 subtests) ==========
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_init
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_init_properties
[16:55:29] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[16:55:29] [PASSED] Unknown
[16:55:29] [PASSED] VGA
[16:55:29] [PASSED] DVI-I
[16:55:29] [PASSED] DVI-D
[16:55:29] [PASSED] DVI-A
[16:55:29] [PASSED] Composite
[16:55:29] [PASSED] SVIDEO
[16:55:29] [PASSED] LVDS
[16:55:29] [PASSED] Component
[16:55:29] [PASSED] DIN
[16:55:29] [PASSED] DP
[16:55:29] [PASSED] HDMI-A
[16:55:29] [PASSED] HDMI-B
[16:55:29] [PASSED] TV
[16:55:29] [PASSED] eDP
[16:55:29] [PASSED] Virtual
[16:55:29] [PASSED] DSI
[16:55:29] [PASSED] DPI
[16:55:29] [PASSED] Writeback
[16:55:29] [PASSED] SPI
[16:55:29] [PASSED] USB
[16:55:29] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[16:55:29] ======== drm_test_drm_connector_dynamic_init_name =========
[16:55:29] [PASSED] Unknown
[16:55:29] [PASSED] VGA
[16:55:29] [PASSED] DVI-I
[16:55:29] [PASSED] DVI-D
[16:55:29] [PASSED] DVI-A
[16:55:29] [PASSED] Composite
[16:55:29] [PASSED] SVIDEO
[16:55:29] [PASSED] LVDS
[16:55:29] [PASSED] Component
[16:55:29] [PASSED] DIN
[16:55:29] [PASSED] DP
[16:55:29] [PASSED] HDMI-A
[16:55:29] [PASSED] HDMI-B
[16:55:29] [PASSED] TV
[16:55:29] [PASSED] eDP
[16:55:29] [PASSED] Virtual
[16:55:29] [PASSED] DSI
[16:55:29] [PASSED] DPI
[16:55:29] [PASSED] Writeback
[16:55:29] [PASSED] SPI
[16:55:29] [PASSED] USB
[16:55:29] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[16:55:29] =========== [PASSED] drm_connector_dynamic_init ============
[16:55:29] ==== drm_connector_dynamic_register_early (4 subtests) =====
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[16:55:29] ====== [PASSED] drm_connector_dynamic_register_early =======
[16:55:29] ======= drm_connector_dynamic_register (7 subtests) ========
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[16:55:29] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[16:55:29] ========= [PASSED] drm_connector_dynamic_register ==========
[16:55:29] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[16:55:29] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[16:55:29] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[16:55:29] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[16:55:29] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[16:55:29] ========== drm_test_get_tv_mode_from_name_valid ===========
[16:55:29] [PASSED] NTSC
[16:55:29] [PASSED] NTSC-443
[16:55:29] [PASSED] NTSC-J
[16:55:29] [PASSED] PAL
[16:55:29] [PASSED] PAL-M
[16:55:29] [PASSED] PAL-N
[16:55:29] [PASSED] SECAM
[16:55:29] [PASSED] Mono
[16:55:29] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[16:55:29] [PASSED] drm_test_get_tv_mode_from_name_truncated
[16:55:29] ============ [PASSED] drm_get_tv_mode_from_name ============
[16:55:29] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[16:55:29] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[16:55:29] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[16:55:29] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[16:55:29] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[16:55:29] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[16:55:29] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[16:55:29] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[16:55:29] [PASSED] VIC 96
[16:55:29] [PASSED] VIC 97
[16:55:29] [PASSED] VIC 101
[16:55:29] [PASSED] VIC 102
[16:55:29] [PASSED] VIC 106
[16:55:29] [PASSED] VIC 107
[16:55:29] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[16:55:29] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[16:55:29] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[16:55:29] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[16:55:29] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[16:55:29] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[16:55:29] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[16:55:29] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[16:55:29] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[16:55:29] [PASSED] Automatic
[16:55:29] [PASSED] Full
[16:55:29] [PASSED] Limited 16:235
[16:55:29] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[16:55:29] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[16:55:29] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[16:55:29] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[16:55:29] === drm_test_drm_hdmi_connector_get_output_format_name ====
[16:55:29] [PASSED] RGB
[16:55:29] [PASSED] YUV 4:2:0
[16:55:29] [PASSED] YUV 4:2:2
[16:55:29] [PASSED] YUV 4:4:4
[16:55:29] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[16:55:29] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[16:55:29] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[16:55:29] ============= drm_damage_helper (21 subtests) ==============
[16:55:29] [PASSED] drm_test_damage_iter_no_damage
[16:55:29] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[16:55:29] [PASSED] drm_test_damage_iter_no_damage_src_moved
[16:55:29] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[16:55:29] [PASSED] drm_test_damage_iter_no_damage_not_visible
[16:55:29] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[16:55:29] [PASSED] drm_test_damage_iter_no_damage_no_fb
[16:55:29] [PASSED] drm_test_damage_iter_simple_damage
[16:55:29] [PASSED] drm_test_damage_iter_single_damage
[16:55:29] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[16:55:29] [PASSED] drm_test_damage_iter_single_damage_outside_src
[16:55:29] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[16:55:29] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[16:55:29] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[16:55:29] [PASSED] drm_test_damage_iter_single_damage_src_moved
[16:55:29] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[16:55:29] [PASSED] drm_test_damage_iter_damage
[16:55:29] [PASSED] drm_test_damage_iter_damage_one_intersect
[16:55:29] [PASSED] drm_test_damage_iter_damage_one_outside
[16:55:29] [PASSED] drm_test_damage_iter_damage_src_moved
[16:55:29] [PASSED] drm_test_damage_iter_damage_not_visible
[16:55:29] ================ [PASSED] drm_damage_helper ================
[16:55:29] ============== drm_dp_mst_helper (3 subtests) ==============
[16:55:29] ============== drm_test_dp_mst_calc_pbn_mode ==============
[16:55:29] [PASSED] Clock 154000 BPP 30 DSC disabled
[16:55:29] [PASSED] Clock 234000 BPP 30 DSC disabled
[16:55:29] [PASSED] Clock 297000 BPP 24 DSC disabled
[16:55:29] [PASSED] Clock 332880 BPP 24 DSC enabled
[16:55:29] [PASSED] Clock 324540 BPP 24 DSC enabled
[16:55:29] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[16:55:29] ============== drm_test_dp_mst_calc_pbn_div ===============
[16:55:29] [PASSED] Link rate 2000000 lane count 4
[16:55:29] [PASSED] Link rate 2000000 lane count 2
[16:55:29] [PASSED] Link rate 2000000 lane count 1
[16:55:29] [PASSED] Link rate 1350000 lane count 4
[16:55:29] [PASSED] Link rate 1350000 lane count 2
[16:55:29] [PASSED] Link rate 1350000 lane count 1
[16:55:29] [PASSED] Link rate 1000000 lane count 4
[16:55:29] [PASSED] Link rate 1000000 lane count 2
[16:55:29] [PASSED] Link rate 1000000 lane count 1
[16:55:29] [PASSED] Link rate 810000 lane count 4
[16:55:29] [PASSED] Link rate 810000 lane count 2
[16:55:29] [PASSED] Link rate 810000 lane count 1
[16:55:29] [PASSED] Link rate 540000 lane count 4
[16:55:29] [PASSED] Link rate 540000 lane count 2
[16:55:29] [PASSED] Link rate 540000 lane count 1
[16:55:29] [PASSED] Link rate 270000 lane count 4
[16:55:29] [PASSED] Link rate 270000 lane count 2
[16:55:29] [PASSED] Link rate 270000 lane count 1
[16:55:29] [PASSED] Link rate 162000 lane count 4
[16:55:29] [PASSED] Link rate 162000 lane count 2
[16:55:29] [PASSED] Link rate 162000 lane count 1
[16:55:29] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[16:55:29] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[16:55:29] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[16:55:29] [PASSED] DP_POWER_UP_PHY with port number
[16:55:29] [PASSED] DP_POWER_DOWN_PHY with port number
[16:55:29] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[16:55:29] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[16:55:29] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[16:55:29] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[16:55:29] [PASSED] DP_QUERY_PAYLOAD with port number
[16:55:29] [PASSED] DP_QUERY_PAYLOAD with VCPI
[16:55:29] [PASSED] DP_REMOTE_DPCD_READ with port number
[16:55:29] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[16:55:29] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[16:55:29] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[16:55:29] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[16:55:29] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[16:55:29] [PASSED] DP_REMOTE_I2C_READ with port number
[16:55:29] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[16:55:29] [PASSED] DP_REMOTE_I2C_READ with transactions array
[16:55:29] [PASSED] DP_REMOTE_I2C_WRITE with port number
[16:55:29] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[16:55:29] [PASSED] DP_REMOTE_I2C_WRITE with data array
[16:55:29] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[16:55:29] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[16:55:29] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[16:55:29] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[16:55:29] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[16:55:29] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[16:55:29] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[16:55:29] ================ [PASSED] drm_dp_mst_helper ================
[16:55:29] ================== drm_exec (7 subtests) ===================
[16:55:29] [PASSED] sanitycheck
[16:55:29] [PASSED] test_lock
[16:55:29] [PASSED] test_lock_unlock
[16:55:29] [PASSED] test_duplicates
[16:55:29] [PASSED] test_prepare
[16:55:29] [PASSED] test_prepare_array
[16:55:29] [PASSED] test_multiple_loops
[16:55:29] ==================== [PASSED] drm_exec =====================
[16:55:29] =========== drm_format_helper_test (17 subtests) ===========
[16:55:29] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[16:55:29] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[16:55:29] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[16:55:29] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[16:55:29] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[16:55:29] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[16:55:29] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[16:55:29] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[16:55:29] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[16:55:29] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[16:55:29] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[16:55:29] ============== drm_test_fb_xrgb8888_to_mono ===============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[16:55:29] ==================== drm_test_fb_swab =====================
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ================ [PASSED] drm_test_fb_swab =================
[16:55:29] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[16:55:29] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[16:55:29] [PASSED] single_pixel_source_buffer
[16:55:29] [PASSED] single_pixel_clip_rectangle
[16:55:29] [PASSED] well_known_colors
[16:55:29] [PASSED] destination_pitch
[16:55:29] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[16:55:29] ================= drm_test_fb_clip_offset =================
[16:55:29] [PASSED] pass through
[16:55:29] [PASSED] horizontal offset
[16:55:29] [PASSED] vertical offset
[16:55:29] [PASSED] horizontal and vertical offset
[16:55:29] [PASSED] horizontal offset (custom pitch)
[16:55:29] [PASSED] vertical offset (custom pitch)
[16:55:29] [PASSED] horizontal and vertical offset (custom pitch)
[16:55:29] ============= [PASSED] drm_test_fb_clip_offset =============
[16:55:29] =================== drm_test_fb_memcpy ====================
[16:55:29] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[16:55:29] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[16:55:29] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[16:55:29] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[16:55:29] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[16:55:29] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[16:55:29] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[16:55:29] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[16:55:29] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[16:55:29] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[16:55:29] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[16:55:29] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[16:55:29] =============== [PASSED] drm_test_fb_memcpy ================
[16:55:29] ============= [PASSED] drm_format_helper_test ==============
[16:55:29] ================= drm_format (18 subtests) =================
[16:55:29] [PASSED] drm_test_format_block_width_invalid
[16:55:29] [PASSED] drm_test_format_block_width_one_plane
[16:55:29] [PASSED] drm_test_format_block_width_two_plane
[16:55:29] [PASSED] drm_test_format_block_width_three_plane
[16:55:29] [PASSED] drm_test_format_block_width_tiled
[16:55:29] [PASSED] drm_test_format_block_height_invalid
[16:55:29] [PASSED] drm_test_format_block_height_one_plane
[16:55:29] [PASSED] drm_test_format_block_height_two_plane
[16:55:29] [PASSED] drm_test_format_block_height_three_plane
[16:55:29] [PASSED] drm_test_format_block_height_tiled
[16:55:29] [PASSED] drm_test_format_min_pitch_invalid
[16:55:29] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[16:55:29] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[16:55:29] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[16:55:29] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[16:55:29] [PASSED] drm_test_format_min_pitch_two_plane
[16:55:29] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[16:55:29] [PASSED] drm_test_format_min_pitch_tiled
[16:55:29] =================== [PASSED] drm_format ====================
[16:55:29] ============== drm_framebuffer (10 subtests) ===============
[16:55:29] ========== drm_test_framebuffer_check_src_coords ==========
[16:55:29] [PASSED] Success: source fits into fb
[16:55:29] [PASSED] Fail: overflowing fb with x-axis coordinate
[16:55:29] [PASSED] Fail: overflowing fb with y-axis coordinate
[16:55:29] [PASSED] Fail: overflowing fb with source width
[16:55:29] [PASSED] Fail: overflowing fb with source height
[16:55:29] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[16:55:29] [PASSED] drm_test_framebuffer_cleanup
[16:55:29] =============== drm_test_framebuffer_create ===============
[16:55:29] [PASSED] ABGR8888 normal sizes
[16:55:29] [PASSED] ABGR8888 max sizes
[16:55:29] [PASSED] ABGR8888 pitch greater than min required
[16:55:29] [PASSED] ABGR8888 pitch less than min required
[16:55:29] [PASSED] ABGR8888 Invalid width
[16:55:29] [PASSED] ABGR8888 Invalid buffer handle
[16:55:29] [PASSED] No pixel format
[16:55:29] [PASSED] ABGR8888 Width 0
[16:55:29] [PASSED] ABGR8888 Height 0
[16:55:29] [PASSED] ABGR8888 Out of bound height * pitch combination
[16:55:29] [PASSED] ABGR8888 Large buffer offset
[16:55:29] [PASSED] ABGR8888 Buffer offset for inexistent plane
[16:55:29] [PASSED] ABGR8888 Invalid flag
[16:55:29] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[16:55:29] [PASSED] ABGR8888 Valid buffer modifier
[16:55:29] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[16:55:29] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[16:55:29] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[16:55:29] [PASSED] NV12 Normal sizes
[16:55:29] [PASSED] NV12 Max sizes
[16:55:29] [PASSED] NV12 Invalid pitch
[16:55:29] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[16:55:29] [PASSED] NV12 different modifier per-plane
[16:55:29] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[16:55:29] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[16:55:29] [PASSED] NV12 Modifier for inexistent plane
[16:55:29] [PASSED] NV12 Handle for inexistent plane
[16:55:29] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[16:55:29] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[16:55:29] [PASSED] YVU420 Normal sizes
[16:55:29] [PASSED] YVU420 Max sizes
[16:55:29] [PASSED] YVU420 Invalid pitch
[16:55:29] [PASSED] YVU420 Different pitches
[16:55:29] [PASSED] YVU420 Different buffer offsets/pitches
[16:55:29] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[16:55:29] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[16:55:29] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[16:55:29] [PASSED] YVU420 Valid modifier
[16:55:29] [PASSED] YVU420 Different modifiers per plane
[16:55:29] [PASSED] YVU420 Modifier for inexistent plane
[16:55:29] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[16:55:29] [PASSED] X0L2 Normal sizes
[16:55:29] [PASSED] X0L2 Max sizes
[16:55:29] [PASSED] X0L2 Invalid pitch
[16:55:29] [PASSED] X0L2 Pitch greater than minimum required
[16:55:29] [PASSED] X0L2 Handle for inexistent plane
[16:55:29] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[16:55:29] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[16:55:29] [PASSED] X0L2 Valid modifier
[16:55:29] [PASSED] X0L2 Modifier for inexistent plane
[16:55:29] =========== [PASSED] drm_test_framebuffer_create ===========
[16:55:29] [PASSED] drm_test_framebuffer_free
[16:55:29] [PASSED] drm_test_framebuffer_init
[16:55:29] [PASSED] drm_test_framebuffer_init_bad_format
[16:55:29] [PASSED] drm_test_framebuffer_init_dev_mismatch
[16:55:29] [PASSED] drm_test_framebuffer_lookup
[16:55:29] [PASSED] drm_test_framebuffer_lookup_inexistent
[16:55:29] [PASSED] drm_test_framebuffer_modifiers_not_supported
[16:55:29] ================= [PASSED] drm_framebuffer =================
[16:55:29] ================ drm_gem_shmem (8 subtests) ================
[16:55:29] [PASSED] drm_gem_shmem_test_obj_create
[16:55:29] [PASSED] drm_gem_shmem_test_obj_create_private
[16:55:29] [PASSED] drm_gem_shmem_test_pin_pages
[16:55:29] [PASSED] drm_gem_shmem_test_vmap
[16:55:29] [PASSED] drm_gem_shmem_test_get_sg_table
[16:55:29] [PASSED] drm_gem_shmem_test_get_pages_sgt
[16:55:29] [PASSED] drm_gem_shmem_test_madvise
[16:55:29] [PASSED] drm_gem_shmem_test_purge
[16:55:29] ================== [PASSED] drm_gem_shmem ==================
[16:55:29] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[16:55:29] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[16:55:29] [PASSED] Automatic
[16:55:29] [PASSED] Full
[16:55:29] [PASSED] Limited 16:235
[16:55:29] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[16:55:29] [PASSED] drm_test_check_disable_connector
[16:55:29] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[16:55:29] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[16:55:29] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[16:55:29] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[16:55:29] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[16:55:29] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[16:55:29] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[16:55:29] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[16:55:29] [PASSED] drm_test_check_output_bpc_dvi
[16:55:29] [PASSED] drm_test_check_output_bpc_format_vic_1
[16:55:29] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[16:55:29] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[16:55:29] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[16:55:29] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[16:55:29] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[16:55:29] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[16:55:29] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[16:55:29] ============ drm_test_check_hdmi_color_format =============
[16:55:29] [PASSED] AUTO -> RGB
[16:55:29] [PASSED] YCBCR422 -> YUV422
[16:55:29] [PASSED] YCBCR420 -> YUV420
[16:55:29] [PASSED] YCBCR444 -> YUV444
[16:55:29] [PASSED] RGB -> RGB
[16:55:29] ======== [PASSED] drm_test_check_hdmi_color_format =========
[16:55:29] ======== drm_test_check_hdmi_color_format_420_only ========
[16:55:29] [PASSED] RGB should fail
[16:55:29] [PASSED] YUV444 should fail
[16:55:29] [PASSED] YUV422 should fail
[16:55:29] [PASSED] YUV420 should work
[16:55:29] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[16:55:29] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[16:55:29] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[16:55:29] [PASSED] drm_test_check_broadcast_rgb_value
[16:55:29] [PASSED] drm_test_check_bpc_8_value
[16:55:29] [PASSED] drm_test_check_bpc_10_value
[16:55:29] [PASSED] drm_test_check_bpc_12_value
[16:55:29] [PASSED] drm_test_check_format_value
[16:55:29] [PASSED] drm_test_check_tmds_char_value
[16:55:29] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[16:55:29] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[16:55:29] [PASSED] drm_test_check_mode_valid
[16:55:29] [PASSED] drm_test_check_mode_valid_reject
[16:55:29] [PASSED] drm_test_check_mode_valid_reject_rate
[16:55:29] [PASSED] drm_test_check_mode_valid_reject_max_clock
[16:55:29] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[16:55:29] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[16:55:29] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[16:55:29] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[16:55:29] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[16:55:29] [PASSED] drm_test_check_infoframes
[16:55:29] [PASSED] drm_test_check_reject_avi_infoframe
[16:55:29] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[16:55:29] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[16:55:29] [PASSED] drm_test_check_reject_audio_infoframe
[16:55:29] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[16:55:29] ================= drm_managed (2 subtests) =================
[16:55:29] [PASSED] drm_test_managed_release_action
[16:55:29] [PASSED] drm_test_managed_run_action
[16:55:29] =================== [PASSED] drm_managed ===================
[16:55:29] =================== drm_mm (6 subtests) ====================
[16:55:29] [PASSED] drm_test_mm_init
[16:55:29] [PASSED] drm_test_mm_debug
[16:55:29] [PASSED] drm_test_mm_align32
[16:55:29] [PASSED] drm_test_mm_align64
[16:55:29] [PASSED] drm_test_mm_lowest
[16:55:29] [PASSED] drm_test_mm_highest
[16:55:29] ===================== [PASSED] drm_mm ======================
[16:55:29] ============= drm_modes_analog_tv (5 subtests) =============
[16:55:29] [PASSED] drm_test_modes_analog_tv_mono_576i
[16:55:29] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[16:55:29] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[16:55:29] [PASSED] drm_test_modes_analog_tv_pal_576i
[16:55:29] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[16:55:29] =============== [PASSED] drm_modes_analog_tv ===============
[16:55:29] ============== drm_panic_helper (3 subtests) ===============
[16:55:29] ============= drm_test_panic_screen_user_map ==============
[16:55:29] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:55:30] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:55:30] ========= [PASSED] drm_test_panic_screen_user_map ==========
[16:55:30] ============= drm_test_panic_screen_user_page =============
[16:55:30] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:55:30] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:55:30] ========= [PASSED] drm_test_panic_screen_user_page =========
[16:55:30] ========== drm_test_panic_screen_user_set_pixel ===========
[16:55:30] [PASSED] Panic screen user, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen user, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:55:30] [PASSED] Panic screen user, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 494 x 494 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1920 x 1080 XR24 little-endian (0x34325258)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG16 little-endian (0x36314752)
[16:55:30] [PASSED] Panic screen kmsg, mode: 1024 x 768 RG24 little-endian (0x34324752)
[16:55:30] ====== [PASSED] drm_test_panic_screen_user_set_pixel =======
[16:55:30] ================ [PASSED] drm_panic_helper =================
[16:55:30] ============== drm_plane_helper (2 subtests) ===============
[16:55:30] =============== drm_test_check_plane_state ================
[16:55:30] [PASSED] clipping_simple
[16:55:30] [PASSED] clipping_rotate_reflect
[16:55:30] [PASSED] positioning_simple
[16:55:30] [PASSED] upscaling
[16:55:30] [PASSED] downscaling
[16:55:30] [PASSED] rounding1
[16:55:30] [PASSED] rounding2
[16:55:30] [PASSED] rounding3
[16:55:30] [PASSED] rounding4
[16:55:30] =========== [PASSED] drm_test_check_plane_state ============
[16:55:30] =========== drm_test_check_invalid_plane_state ============
[16:55:30] [PASSED] positioning_invalid
[16:55:30] [PASSED] upscaling_invalid
[16:55:30] [PASSED] downscaling_invalid
[16:55:30] ======= [PASSED] drm_test_check_invalid_plane_state ========
[16:55:30] ================ [PASSED] drm_plane_helper =================
[16:55:30] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[16:55:30] ====== drm_test_connector_helper_tv_get_modes_check =======
[16:55:30] [PASSED] None
[16:55:30] [PASSED] PAL
[16:55:30] [PASSED] NTSC
[16:55:30] [PASSED] Both, NTSC Default
[16:55:30] [PASSED] Both, PAL Default
[16:55:30] [PASSED] Both, NTSC Default, with PAL on command-line
[16:55:30] [PASSED] Both, PAL Default, with NTSC on command-line
[16:55:30] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[16:55:30] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[16:55:30] ================== drm_rect (9 subtests) ===================
[16:55:30] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[16:55:30] [PASSED] drm_test_rect_clip_scaled_not_clipped
[16:55:30] [PASSED] drm_test_rect_clip_scaled_clipped
[16:55:30] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[16:55:30] ================= drm_test_rect_intersect =================
[16:55:30] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[16:55:30] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[16:55:30] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[16:55:30] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[16:55:30] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[16:55:30] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[16:55:30] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[16:55:30] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[16:55:30] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[16:55:30] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[16:55:30] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[16:55:30] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[16:55:30] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[16:55:30] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[16:55:30] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[16:55:30] ============= [PASSED] drm_test_rect_intersect =============
[16:55:30] ================ drm_test_rect_calc_hscale ================
[16:55:30] [PASSED] normal use
[16:55:30] [PASSED] out of max range
[16:55:30] [PASSED] out of min range
[16:55:30] [PASSED] zero dst
[16:55:30] [PASSED] negative src
[16:55:30] [PASSED] negative dst
[16:55:30] ============ [PASSED] drm_test_rect_calc_hscale ============
[16:55:30] ================ drm_test_rect_calc_vscale ================
[16:55:30] [PASSED] normal use
[16:55:30] [PASSED] out of max range
[16:55:30] [PASSED] out of min range
[16:55:30] [PASSED] zero dst
[16:55:30] [PASSED] negative src
[16:55:30] [PASSED] negative dst
[16:55:30] ============ [PASSED] drm_test_rect_calc_vscale ============
[16:55:30] ================== drm_test_rect_rotate ===================
[16:55:30] [PASSED] reflect-x
[16:55:30] [PASSED] reflect-y
[16:55:30] [PASSED] rotate-0
[16:55:30] [PASSED] rotate-90
[16:55:30] [PASSED] rotate-180
[16:55:30] [PASSED] rotate-270
[16:55:30] ============== [PASSED] drm_test_rect_rotate ===============
[16:55:30] ================ drm_test_rect_rotate_inv =================
[16:55:30] [PASSED] reflect-x
[16:55:30] [PASSED] reflect-y
[16:55:30] [PASSED] rotate-0
[16:55:30] [PASSED] rotate-90
[16:55:30] [PASSED] rotate-180
[16:55:30] [PASSED] rotate-270
[16:55:30] ============ [PASSED] drm_test_rect_rotate_inv =============
[16:55:30] ==================== [PASSED] drm_rect =====================
[16:55:30] ============ drm_sysfb_modeset_test (1 subtest) ============
[16:55:30] ============ drm_test_sysfb_build_fourcc_list =============
[16:55:30] [PASSED] no native formats
[16:55:30] [PASSED] XRGB8888 as native format
[16:55:30] [PASSED] remove duplicates
[16:55:30] [PASSED] convert alpha formats
[16:55:30] [PASSED] random formats
[16:55:30] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[16:55:30] ============= [PASSED] drm_sysfb_modeset_test ==============
[16:55:30] ================== drm_fixp (2 subtests) ===================
[16:55:30] [PASSED] drm_test_int2fixp
[16:55:30] [PASSED] drm_test_sm2fixp
[16:55:30] ==================== [PASSED] drm_fixp =====================
[16:55:30] ============================================================
[16:55:30] Testing complete. Ran 667 tests: passed: 667
[16:55:30] Elapsed time: 27.974s total, 2.519s configuring, 25.039s building, 0.406s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[16:55:30] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:55:32] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:55:43] Starting KUnit Kernel (1/1)...
[16:55:43] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:55:43] ================= ttm_device (5 subtests) ==================
[16:55:43] [PASSED] ttm_device_init_basic
[16:55:43] [PASSED] ttm_device_init_multiple
[16:55:43] [PASSED] ttm_device_fini_basic
[16:55:43] [PASSED] ttm_device_init_no_vma_man
[16:55:43] ================== ttm_device_init_pools ==================
[16:55:43] [PASSED] No DMA allocations, no DMA32 required
[16:55:43] [PASSED] DMA allocations, DMA32 required
[16:55:43] [PASSED] No DMA allocations, DMA32 required
[16:55:43] [PASSED] DMA allocations, no DMA32 required
[16:55:43] ============== [PASSED] ttm_device_init_pools ==============
[16:55:43] =================== [PASSED] ttm_device ====================
[16:55:43] ================== ttm_pool (8 subtests) ===================
[16:55:43] ================== ttm_pool_alloc_basic ===================
[16:55:43] [PASSED] One page
[16:55:43] [PASSED] More than one page
[16:55:43] [PASSED] Above the allocation limit
[16:55:43] [PASSED] One page, with coherent DMA mappings enabled
[16:55:43] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:55:43] ============== [PASSED] ttm_pool_alloc_basic ===============
[16:55:43] ============== ttm_pool_alloc_basic_dma_addr ==============
[16:55:43] [PASSED] One page
[16:55:43] [PASSED] More than one page
[16:55:43] [PASSED] Above the allocation limit
[16:55:43] [PASSED] One page, with coherent DMA mappings enabled
[16:55:43] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:55:43] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[16:55:43] [PASSED] ttm_pool_alloc_order_caching_match
[16:55:43] [PASSED] ttm_pool_alloc_caching_mismatch
[16:55:43] [PASSED] ttm_pool_alloc_order_mismatch
[16:55:43] [PASSED] ttm_pool_free_dma_alloc
[16:55:43] [PASSED] ttm_pool_free_no_dma_alloc
[16:55:43] [PASSED] ttm_pool_fini_basic
[16:55:43] ==================== [PASSED] ttm_pool =====================
[16:55:43] ================ ttm_resource (8 subtests) =================
[16:55:43] ================= ttm_resource_init_basic =================
[16:55:43] [PASSED] Init resource in TTM_PL_SYSTEM
[16:55:43] [PASSED] Init resource in TTM_PL_VRAM
[16:55:43] [PASSED] Init resource in a private placement
[16:55:43] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[16:55:43] ============= [PASSED] ttm_resource_init_basic =============
[16:55:43] [PASSED] ttm_resource_init_pinned
[16:55:43] [PASSED] ttm_resource_fini_basic
[16:55:43] [PASSED] ttm_resource_manager_init_basic
[16:55:43] [PASSED] ttm_resource_manager_usage_basic
[16:55:43] [PASSED] ttm_resource_manager_set_used_basic
[16:55:43] [PASSED] ttm_sys_man_alloc_basic
[16:55:43] [PASSED] ttm_sys_man_free_basic
[16:55:43] ================== [PASSED] ttm_resource ===================
[16:55:43] =================== ttm_tt (15 subtests) ===================
[16:55:43] ==================== ttm_tt_init_basic ====================
[16:55:43] [PASSED] Page-aligned size
[16:55:43] [PASSED] Extra pages requested
[16:55:43] ================ [PASSED] ttm_tt_init_basic ================
[16:55:43] [PASSED] ttm_tt_init_misaligned
[16:55:43] [PASSED] ttm_tt_fini_basic
[16:55:43] [PASSED] ttm_tt_fini_sg
[16:55:43] [PASSED] ttm_tt_fini_shmem
[16:55:43] [PASSED] ttm_tt_create_basic
[16:55:43] [PASSED] ttm_tt_create_invalid_bo_type
[16:55:43] [PASSED] ttm_tt_create_ttm_exists
[16:55:43] [PASSED] ttm_tt_create_failed
[16:55:43] [PASSED] ttm_tt_destroy_basic
[16:55:43] [PASSED] ttm_tt_populate_null_ttm
[16:55:43] [PASSED] ttm_tt_populate_populated_ttm
[16:55:43] [PASSED] ttm_tt_unpopulate_basic
[16:55:43] [PASSED] ttm_tt_unpopulate_empty_ttm
[16:55:43] [PASSED] ttm_tt_swapin_basic
[16:55:43] ===================== [PASSED] ttm_tt ======================
[16:55:43] =================== ttm_bo (14 subtests) ===================
[16:55:43] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[16:55:43] [PASSED] Cannot be interrupted and sleeps
[16:55:43] [PASSED] Cannot be interrupted, locks straight away
[16:55:43] [PASSED] Can be interrupted, sleeps
[16:55:43] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[16:55:43] [PASSED] ttm_bo_reserve_locked_no_sleep
[16:55:43] [PASSED] ttm_bo_reserve_no_wait_ticket
[16:55:43] [PASSED] ttm_bo_reserve_double_resv
[16:55:43] [PASSED] ttm_bo_reserve_interrupted
[16:55:43] [PASSED] ttm_bo_reserve_deadlock
[16:55:43] [PASSED] ttm_bo_unreserve_basic
[16:55:43] [PASSED] ttm_bo_unreserve_pinned
[16:55:43] [PASSED] ttm_bo_unreserve_bulk
[16:55:43] [PASSED] ttm_bo_fini_basic
[16:55:43] [PASSED] ttm_bo_fini_shared_resv
[16:55:43] [PASSED] ttm_bo_pin_basic
[16:55:43] [PASSED] ttm_bo_pin_unpin_resource
[16:55:43] [PASSED] ttm_bo_multiple_pin_one_unpin
[16:55:43] ===================== [PASSED] ttm_bo ======================
[16:55:43] ============== ttm_bo_validate (22 subtests) ===============
[16:55:43] ============== ttm_bo_init_reserved_sys_man ===============
[16:55:43] [PASSED] Buffer object for userspace
[16:55:43] [PASSED] Kernel buffer object
[16:55:43] [PASSED] Shared buffer object
[16:55:43] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[16:55:43] ============== ttm_bo_init_reserved_mock_man ==============
[16:55:43] [PASSED] Buffer object for userspace
[16:55:43] [PASSED] Kernel buffer object
[16:55:43] [PASSED] Shared buffer object
[16:55:43] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[16:55:43] [PASSED] ttm_bo_init_reserved_resv
[16:55:43] ================== ttm_bo_validate_basic ==================
[16:55:43] [PASSED] Buffer object for userspace
[16:55:43] [PASSED] Kernel buffer object
[16:55:43] [PASSED] Shared buffer object
[16:55:43] ============== [PASSED] ttm_bo_validate_basic ==============
[16:55:43] [PASSED] ttm_bo_validate_invalid_placement
[16:55:43] ============= ttm_bo_validate_same_placement ==============
[16:55:43] [PASSED] System manager
[16:55:43] [PASSED] VRAM manager
[16:55:43] ========= [PASSED] ttm_bo_validate_same_placement ==========
[16:55:43] [PASSED] ttm_bo_validate_failed_alloc
[16:55:43] [PASSED] ttm_bo_validate_pinned
[16:55:43] [PASSED] ttm_bo_validate_busy_placement
[16:55:43] ================ ttm_bo_validate_multihop =================
[16:55:43] [PASSED] Buffer object for userspace
[16:55:43] [PASSED] Kernel buffer object
[16:55:43] [PASSED] Shared buffer object
[16:55:43] ============ [PASSED] ttm_bo_validate_multihop =============
[16:55:43] ========== ttm_bo_validate_no_placement_signaled ==========
[16:55:43] [PASSED] Buffer object in system domain, no page vector
[16:55:43] [PASSED] Buffer object in system domain with an existing page vector
[16:55:43] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[16:55:43] ======== ttm_bo_validate_no_placement_not_signaled ========
[16:55:43] [PASSED] Buffer object for userspace
[16:55:43] [PASSED] Kernel buffer object
[16:55:43] [PASSED] Shared buffer object
[16:55:43] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[16:55:43] [PASSED] ttm_bo_validate_move_fence_signaled
[16:55:43] ========= ttm_bo_validate_move_fence_not_signaled =========
[16:55:43] [PASSED] Waits for GPU
[16:55:43] [PASSED] Tries to lock straight away
[16:55:43] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[16:55:43] [PASSED] ttm_bo_validate_swapout
[16:55:43] [PASSED] ttm_bo_validate_happy_evict
[16:55:43] [PASSED] ttm_bo_validate_all_pinned_evict
[16:55:43] [PASSED] ttm_bo_validate_allowed_only_evict
[16:55:43] [PASSED] ttm_bo_validate_deleted_evict
[16:55:43] [PASSED] ttm_bo_validate_busy_domain_evict
[16:55:43] [PASSED] ttm_bo_validate_evict_gutting
[16:55:43] [PASSED] ttm_bo_validate_recrusive_evict
[16:55:43] ================= [PASSED] ttm_bo_validate =================
[16:55:43] ============================================================
[16:55:43] Testing complete. Ran 102 tests: passed: 102
[16:55:43] Elapsed time: 12.914s total, 2.535s configuring, 10.164s building, 0.181s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[16:55:43] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:55:45] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:55:54] Starting KUnit Kernel (1/1)...
[16:55:54] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:55:54] =============== dma-buf-fence (12 subtests) ================
[16:55:54] [PASSED] test_sanitycheck
[16:55:54] [PASSED] test_signaling
[16:55:54] [PASSED] test_add_callback
[16:55:54] [PASSED] test_late_add_callback
[16:55:54] [PASSED] test_rm_callback
[16:55:54] [PASSED] test_late_rm_callback
[16:55:54] [PASSED] test_status
[16:55:54] [PASSED] test_error
[16:55:54] [PASSED] test_wait
[16:55:54] [PASSED] test_wait_timeout
[16:55:54] [PASSED] test_stub
[16:55:54] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[16:55:54] ================== [PASSED] dma-buf-fence ==================
[16:55:54] ============ dma-buf-fence-chain (11 subtests) =============
[16:55:54] [PASSED] test_sanitycheck
[16:55:54] [PASSED] test_find_seqno
[16:55:54] [PASSED] test_find_signaled
[16:55:54] [PASSED] test_find_out_of_order
[16:55:59] [PASSED] test_find_gap
[16:55:59] [PASSED] test_find_race
[16:55:59] [PASSED] test_signal_forward
[16:55:59] [PASSED] test_signal_backward
[16:55:59] [PASSED] test_wait_forward
[16:55:59] [PASSED] test_wait_backward
[16:55:59] [PASSED] test_wait_random
[16:55:59] =============== [PASSED] dma-buf-fence-chain ===============
[16:55:59] ============ dma-buf-fence-unwrap (11 subtests) ============
[16:55:59] [PASSED] test_sanitycheck
[16:55:59] [PASSED] test_unwrap_array
[16:55:59] [PASSED] test_unwrap_chain
[16:55:59] [PASSED] test_unwrap_chain_array
[16:55:59] [PASSED] test_unwrap_merge
[16:55:59] [PASSED] test_unwrap_merge_duplicate
[16:55:59] [PASSED] test_unwrap_merge_seqno
[16:55:59] [PASSED] test_unwrap_merge_order
[16:55:59] [PASSED] test_unwrap_merge_complex
[16:55:59] [PASSED] test_unwrap_merge_complex_seqno
[16:55:59] [PASSED] test_dedup_empty
[16:55:59] ============== [PASSED] dma-buf-fence-unwrap ===============
[16:55:59] ================ dma-buf-resv (5 subtests) =================
[16:55:59] [PASSED] test_sanitycheck
[16:55:59] ===================== test_signaling ======================
[16:55:59] [PASSED] kernel
[16:55:59] [PASSED] write
[16:55:59] [PASSED] read
[16:55:59] [PASSED] bookkeep
[16:55:59] ================= [PASSED] test_signaling ==================
[16:55:59] ====================== test_for_each ======================
[16:55:59] [PASSED] kernel
[16:55:59] [PASSED] write
[16:55:59] [PASSED] read
[16:55:59] [PASSED] bookkeep
[16:55:59] ================== [PASSED] test_for_each ==================
[16:55:59] ================= test_for_each_unlocked ==================
[16:55:59] [PASSED] kernel
[16:55:59] [PASSED] write
[16:55:59] [PASSED] read
[16:55:59] [PASSED] bookkeep
[16:55:59] ============= [PASSED] test_for_each_unlocked ==============
[16:55:59] ===================== test_get_fences =====================
[16:55:59] [PASSED] kernel
[16:55:59] [PASSED] write
[16:55:59] [PASSED] read
[16:55:59] [PASSED] bookkeep
[16:55:59] ================= [PASSED] test_get_fences =================
[16:55:59] ================== [PASSED] dma-buf-resv ===================
[16:55:59] ============================================================
[16:55:59] Testing complete. Ran 51 tests: passed: 50, skipped: 1
[16:56:00] Elapsed time: 16.574s total, 2.468s configuring, 8.784s building, 5.287s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 4+ messages in thread* ✓ Xe.CI.BAT: success for drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution (rev3)
2026-11-04 15:13 [PATCH v3] drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution Thomas Hellström
2026-11-04 15:36 ` sashiko-bot
2026-11-04 16:56 ` ✓ CI.KUnit: success for drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution (rev3) Patchwork
@ 2026-11-04 17:37 ` Patchwork
2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2026-11-04 17:37 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 903 bytes --]
== Series Details ==
Series: drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution (rev3)
URL : https://patchwork.freedesktop.org/series/177016/
State : success
== Summary ==
CI Bug Log - changes from xe-6060-c0cb7e7c00c9563d72c1e1b08fac139a57fd0ebf_BAT -> xe-pw-177016v3_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (14 -> 14)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* Linux: xe-6060-c0cb7e7c00c9563d72c1e1b08fac139a57fd0ebf -> xe-pw-177016v3
IGT_9177: 9177
xe-6060-c0cb7e7c00c9563d72c1e1b08fac139a57fd0ebf: c0cb7e7c00c9563d72c1e1b08fac139a57fd0ebf
xe-pw-177016v3: 177016v3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-177016v3/index.html
[-- Attachment #2: Type: text/html, Size: 1451 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-11-04 17:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04 15:13 [PATCH v3] drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution Thomas Hellström
2026-11-04 15:36 ` sashiko-bot
2026-11-04 16:56 ` ✓ CI.KUnit: success for drm/xe: Add a per-client debugfs file reporting bo NUMA node distribution (rev3) Patchwork
2026-11-04 17:37 ` ✓ Xe.CI.BAT: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox