Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Remove unused code in devcoredump_snapshot
@ 2025-07-03  6:20 Shuicheng Lin
  2025-07-03  6:20 ` [PATCH 1/2] drm/xe: Remove unused code in devcoredump_snapshot() Shuicheng Lin
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Shuicheng Lin @ 2025-07-03  6:20 UTC (permalink / raw)
  To: intel-xe; +Cc: Shuicheng Lin

Remove unused code in devcoredump_snapshot().
Release runtime pm for error path of xe_devcoredump_read()

Shuicheng Lin (2):
  drm/xe: Remove unused code in devcoredump_snapshot()
  drm/xe: Release runtime pm for error path of xe_devcoredump_read()

 drivers/gpu/drm/xe/xe_devcoredump.c | 44 +++++++++++++++++------------
 1 file changed, 26 insertions(+), 18 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/2] drm/xe: Remove unused code in devcoredump_snapshot()
  2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
@ 2025-07-03  6:20 ` Shuicheng Lin
  2025-07-03  6:20 ` [PATCH 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Shuicheng Lin @ 2025-07-03  6:20 UTC (permalink / raw)
  To: intel-xe; +Cc: Shuicheng Lin, Zhanjun Dong, Rodrigo Vivi

The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture
into dev coredump") has removed the related usage code.
Remove the code to tidy up the function.

Cc: Zhanjun Dong <zhanjun.dong@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
 drivers/gpu/drm/xe/xe_devcoredump.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index 7a8af2311318..94625010abc4 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -313,13 +313,9 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
 {
 	struct xe_devcoredump_snapshot *ss = &coredump->snapshot;
 	struct xe_guc *guc = exec_queue_to_guc(q);
-	u32 adj_logical_mask = q->logical_mask;
-	u32 width_mask = (0x1 << q->width) - 1;
 	const char *process_name = "no process";
-
 	unsigned int fw_ref;
 	bool cookie;
-	int i;
 
 	ss->snapshot_time = ktime_get_real();
 	ss->boot_time = ktime_get_boottime();
@@ -335,14 +331,6 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
 	INIT_WORK(&ss->work, xe_devcoredump_deferred_snap_work);
 
 	cookie = dma_fence_begin_signalling();
-	for (i = 0; q->width > 1 && i < XE_HW_ENGINE_MAX_INSTANCE;) {
-		if (adj_logical_mask & BIT(i)) {
-			adj_logical_mask |= width_mask << i;
-			i += q->width;
-		} else {
-			++i;
-		}
-	}
 
 	/* keep going if fw fails as we still want to save the memory and SW data */
 	fw_ref = xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL);
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read()
  2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
  2025-07-03  6:20 ` [PATCH 1/2] drm/xe: Remove unused code in devcoredump_snapshot() Shuicheng Lin
@ 2025-07-03  6:20 ` Shuicheng Lin
  2025-07-03  6:57   ` Matthew Brost
  2025-07-03  7:01   ` Matthew Brost
  2025-07-03  6:29 ` ✗ CI.checkpatch: warning for Remove unused code in devcoredump_snapshot Patchwork
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 17+ messages in thread
From: Shuicheng Lin @ 2025-07-03  6:20 UTC (permalink / raw)
  To: intel-xe; +Cc: Shuicheng Lin, Matthew Brost

xe_pm_runtime_put() is missed to be called for the error path in
xe_devcoredump_read().
Add function description comments for xe_devcoredump_read() to help
understand it.

Fixes: c4a2e5f865b7 ("drm/xe: Add devcoredump chunking")
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
 drivers/gpu/drm/xe/xe_devcoredump.c | 32 +++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index 94625010abc4..701ffe6c8264 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -171,14 +171,29 @@ static void xe_devcoredump_snapshot_free(struct xe_devcoredump_snapshot *ss)
 
 #define XE_DEVCOREDUMP_CHUNK_MAX	(SZ_512M + SZ_1G)
 
+/**
+ * xe_devcoredump_read - Read data from the Xe device coredump snapshot
+ * @buffer: Destination buffer to copy the coredump data into
+ * @offset: Offset in the coredump data to start reading from
+ * @count: Number of bytes to read
+ * @data: Pointer to the xe_devcoredump structure
+ * @datalen: Length of the data (unused)
+ *
+ * Reads a chunk of the coredump snapshot data into the provided buffer,
+ * handling chunked reads for large coredumps and ensuring proper locking.
+ *
+ * Return: Number of bytes copied on success, or a negative error code on failure.
+ */
 static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 				   size_t count, void *data, size_t datalen)
 {
 	struct xe_devcoredump *coredump = data;
 	struct xe_devcoredump_snapshot *ss;
-	ssize_t byte_copied;
+	ssize_t byte_copied = 0;
 	u32 chunk_offset;
 	ssize_t new_chunk_position;
+	bool pm_acquired = false;
+	int ret = 0;
 
 	if (!coredump)
 		return -ENODEV;
@@ -188,19 +203,23 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 	/* Ensure delayed work is captured before continuing */
 	flush_work(&ss->work);
 
-	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
+	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX) {
 		xe_pm_runtime_get(gt_to_xe(ss->gt));
+		pm_acquired = true;
+	}
 
 	mutex_lock(&coredump->lock);
 
 	if (!ss->read.buffer) {
 		mutex_unlock(&coredump->lock);
-		return -ENODEV;
+		ret = -ENODEV;
+		goto pm_put;
 	}
 
 	if (offset >= ss->read.size) {
 		mutex_unlock(&coredump->lock);
-		return 0;
+		ret = 0;
+		goto pm_put;
 	}
 
 	new_chunk_position = div_u64_rem(offset,
@@ -223,10 +242,11 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 
 	mutex_unlock(&coredump->lock);
 
-	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
+pm_put:
+	if (pm_acquired)
 		xe_pm_runtime_put(gt_to_xe(ss->gt));
 
-	return byte_copied;
+	return byte_copied ? byte_copied : ret;
 }
 
 static void xe_devcoredump_free(void *data)
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* ✗ CI.checkpatch: warning for Remove unused code in devcoredump_snapshot
  2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
  2025-07-03  6:20 ` [PATCH 1/2] drm/xe: Remove unused code in devcoredump_snapshot() Shuicheng Lin
  2025-07-03  6:20 ` [PATCH 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
@ 2025-07-03  6:29 ` Patchwork
  2025-07-03  6:30 ` ✓ CI.KUnit: success " Patchwork
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-07-03  6:29 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe

== Series Details ==

Series: Remove unused code in devcoredump_snapshot
URL   : https://patchwork.freedesktop.org/series/151105/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
f8ff75ae1d2127635239b134695774ed4045d05b
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 8cb62854892d0347ee3c3dbafa85635dd5211bec
Author: Shuicheng Lin <shuicheng.lin@intel.com>
Date:   Thu Jul 3 06:20:27 2025 +0000

    drm/xe: Release runtime pm for error path of xe_devcoredump_read()
    
    xe_pm_runtime_put() is missed to be called for the error path in
    xe_devcoredump_read().
    Add function description comments for xe_devcoredump_read() to help
    understand it.
    
    Fixes: c4a2e5f865b7 ("drm/xe: Add devcoredump chunking")
    Cc: Matthew Brost <matthew.brost@intel.com>
    Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
+ /mt/dim checkpatch d04a54cd3b99001adbc4cd3305b44f9f3e658407 drm-intel
a8f3d02d7b02 drm/xe: Remove unused code in devcoredump_snapshot()
-:6: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#6: 
The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture

-:6: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit ecb633646391 ("drm/xe/guc: Plumb GuC-capture into dev coredump")'
#6: 
The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture

total: 1 errors, 1 warnings, 0 checks, 27 lines checked
8cb62854892d drm/xe: Release runtime pm for error path of xe_devcoredump_read()



^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ CI.KUnit: success for Remove unused code in devcoredump_snapshot
  2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
                   ` (2 preceding siblings ...)
  2025-07-03  6:29 ` ✗ CI.checkpatch: warning for Remove unused code in devcoredump_snapshot Patchwork
@ 2025-07-03  6:30 ` Patchwork
  2025-07-03  7:41 ` [PATCH v2 0/2] Remove unused code in devcoredump_snapshot() Shuicheng Lin
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-07-03  6:30 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe

== Series Details ==

Series: Remove unused code in devcoredump_snapshot
URL   : https://patchwork.freedesktop.org/series/151105/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[06:29:50] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:29:54] 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
[06:30:21] Starting KUnit Kernel (1/1)...
[06:30:21] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:30:21] ================== guc_buf (11 subtests) ===================
[06:30:21] [PASSED] test_smallest
[06:30:21] [PASSED] test_largest
[06:30:21] [PASSED] test_granular
[06:30:21] [PASSED] test_unique
[06:30:21] [PASSED] test_overlap
[06:30:21] [PASSED] test_reusable
[06:30:21] [PASSED] test_too_big
[06:30:21] [PASSED] test_flush
[06:30:21] [PASSED] test_lookup
[06:30:21] [PASSED] test_data
[06:30:21] [PASSED] test_class
[06:30:21] ===================== [PASSED] guc_buf =====================
[06:30:21] =================== guc_dbm (7 subtests) ===================
[06:30:21] [PASSED] test_empty
[06:30:21] [PASSED] test_default
[06:30:21] ======================== test_size  ========================
[06:30:21] [PASSED] 4
[06:30:21] [PASSED] 8
[06:30:21] [PASSED] 32
[06:30:21] [PASSED] 256
[06:30:21] ==================== [PASSED] test_size ====================
[06:30:21] ======================= test_reuse  ========================
[06:30:21] [PASSED] 4
[06:30:22] [PASSED] 8
[06:30:22] [PASSED] 32
[06:30:22] [PASSED] 256
[06:30:22] =================== [PASSED] test_reuse ====================
[06:30:22] =================== test_range_overlap  ====================
[06:30:22] [PASSED] 4
[06:30:22] [PASSED] 8
[06:30:22] [PASSED] 32
[06:30:22] [PASSED] 256
[06:30:22] =============== [PASSED] test_range_overlap ================
[06:30:22] =================== test_range_compact  ====================
[06:30:22] [PASSED] 4
[06:30:22] [PASSED] 8
[06:30:22] [PASSED] 32
[06:30:22] [PASSED] 256
[06:30:22] =============== [PASSED] test_range_compact ================
[06:30:22] ==================== test_range_spare  =====================
[06:30:22] [PASSED] 4
[06:30:22] [PASSED] 8
[06:30:22] [PASSED] 32
[06:30:22] [PASSED] 256
[06:30:22] ================ [PASSED] test_range_spare =================
[06:30:22] ===================== [PASSED] guc_dbm =====================
[06:30:22] =================== guc_idm (6 subtests) ===================
[06:30:22] [PASSED] bad_init
[06:30:22] [PASSED] no_init
[06:30:22] [PASSED] init_fini
[06:30:22] [PASSED] check_used
[06:30:22] [PASSED] check_quota
[06:30:22] [PASSED] check_all
[06:30:22] ===================== [PASSED] guc_idm =====================
[06:30:22] ================== no_relay (3 subtests) ===================
[06:30:22] [PASSED] xe_drops_guc2pf_if_not_ready
[06:30:22] [PASSED] xe_drops_guc2vf_if_not_ready
[06:30:22] [PASSED] xe_rejects_send_if_not_ready
[06:30:22] ==================== [PASSED] no_relay =====================
[06:30:22] ================== pf_relay (14 subtests) ==================
[06:30:22] [PASSED] pf_rejects_guc2pf_too_short
[06:30:22] [PASSED] pf_rejects_guc2pf_too_long
[06:30:22] [PASSED] pf_rejects_guc2pf_no_payload
[06:30:22] [PASSED] pf_fails_no_payload
[06:30:22] [PASSED] pf_fails_bad_origin
[06:30:22] [PASSED] pf_fails_bad_type
[06:30:22] [PASSED] pf_txn_reports_error
[06:30:22] [PASSED] pf_txn_sends_pf2guc
[06:30:22] [PASSED] pf_sends_pf2guc
[06:30:22] [SKIPPED] pf_loopback_nop
[06:30:22] [SKIPPED] pf_loopback_echo
[06:30:22] [SKIPPED] pf_loopback_fail
[06:30:22] [SKIPPED] pf_loopback_busy
[06:30:22] [SKIPPED] pf_loopback_retry
[06:30:22] ==================== [PASSED] pf_relay =====================
[06:30:22] ================== vf_relay (3 subtests) ===================
[06:30:22] [PASSED] vf_rejects_guc2vf_too_short
[06:30:22] [PASSED] vf_rejects_guc2vf_too_long
[06:30:22] [PASSED] vf_rejects_guc2vf_no_payload
[06:30:22] ==================== [PASSED] vf_relay =====================
[06:30:22] ================= pf_service (11 subtests) =================
[06:30:22] [PASSED] pf_negotiate_any
[06:30:22] [PASSED] pf_negotiate_base_match
[06:30:22] [PASSED] pf_negotiate_base_newer
[06:30:22] [PASSED] pf_negotiate_base_next
[06:30:22] [SKIPPED] pf_negotiate_base_older
[06:30:22] [PASSED] pf_negotiate_base_prev
[06:30:22] [PASSED] pf_negotiate_latest_match
[06:30:22] [PASSED] pf_negotiate_latest_newer
[06:30:22] [PASSED] pf_negotiate_latest_next
[06:30:22] [SKIPPED] pf_negotiate_latest_older
[06:30:22] [SKIPPED] pf_negotiate_latest_prev
[06:30:22] =================== [PASSED] pf_service ====================
[06:30:22] ===================== lmtt (1 subtest) =====================
[06:30:22] ======================== test_ops  =========================
[06:30:22] [PASSED] 2-level
[06:30:22] [PASSED] multi-level
[06:30:22] ==================== [PASSED] test_ops =====================
[06:30:22] ====================== [PASSED] lmtt =======================
[06:30:22] =================== xe_mocs (2 subtests) ===================
[06:30:22] ================ xe_live_mocs_kernel_kunit  ================
[06:30:22] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[06:30:22] ================ xe_live_mocs_reset_kunit  =================
[06:30:22] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[06:30:22] ==================== [SKIPPED] xe_mocs =====================
[06:30:22] ================= xe_migrate (2 subtests) ==================
[06:30:22] ================= xe_migrate_sanity_kunit  =================
[06:30:22] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[06:30:22] ================== xe_validate_ccs_kunit  ==================
[06:30:22] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[06:30:22] =================== [SKIPPED] xe_migrate ===================
[06:30:22] ================== xe_dma_buf (1 subtest) ==================
[06:30:22] ==================== xe_dma_buf_kunit  =====================
[06:30:22] ================ [SKIPPED] xe_dma_buf_kunit ================
[06:30:22] =================== [SKIPPED] xe_dma_buf ===================
[06:30:22] ================= xe_bo_shrink (1 subtest) =================
[06:30:22] =================== xe_bo_shrink_kunit  ====================
[06:30:22] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[06:30:22] ================== [SKIPPED] xe_bo_shrink ==================
[06:30:22] ==================== xe_bo (2 subtests) ====================
[06:30:22] ================== xe_ccs_migrate_kunit  ===================
[06:30:22] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[06:30:22] ==================== xe_bo_evict_kunit  ====================
[06:30:22] =============== [SKIPPED] xe_bo_evict_kunit ================
[06:30:22] ===================== [SKIPPED] xe_bo ======================
[06:30:22] ==================== args (11 subtests) ====================
[06:30:22] [PASSED] count_args_test
[06:30:22] [PASSED] call_args_example
[06:30:22] [PASSED] call_args_test
[06:30:22] [PASSED] drop_first_arg_example
[06:30:22] [PASSED] drop_first_arg_test
[06:30:22] [PASSED] first_arg_example
[06:30:22] [PASSED] first_arg_test
[06:30:22] [PASSED] last_arg_example
[06:30:22] [PASSED] last_arg_test
[06:30:22] [PASSED] pick_arg_example
[06:30:22] [PASSED] sep_comma_example
[06:30:22] ====================== [PASSED] args =======================
[06:30:22] =================== xe_pci (3 subtests) ====================
[06:30:22] ==================== check_graphics_ip  ====================
[06:30:22] [PASSED] 12.70 Xe_LPG
[06:30:22] [PASSED] 12.71 Xe_LPG
[06:30:22] [PASSED] 12.74 Xe_LPG+
[06:30:22] [PASSED] 20.01 Xe2_HPG
[06:30:22] [PASSED] 20.02 Xe2_HPG
[06:30:22] [PASSED] 20.04 Xe2_LPG
[06:30:22] [PASSED] 30.00 Xe3_LPG
[06:30:22] [PASSED] 30.01 Xe3_LPG
[06:30:22] [PASSED] 30.03 Xe3_LPG
[06:30:22] ================ [PASSED] check_graphics_ip ================
[06:30:22] ===================== check_media_ip  ======================
[06:30:22] [PASSED] 13.00 Xe_LPM+
[06:30:22] [PASSED] 13.01 Xe2_HPM
[06:30:22] [PASSED] 20.00 Xe2_LPM
[06:30:22] [PASSED] 30.00 Xe3_LPM
[06:30:22] [PASSED] 30.02 Xe3_LPM
[06:30:22] ================= [PASSED] check_media_ip ==================
[06:30:22] ================= check_platform_gt_count  =================
[06:30:22] [PASSED] 0x9A60 (TIGERLAKE)
[06:30:22] [PASSED] 0x9A68 (TIGERLAKE)
[06:30:22] [PASSED] 0x9A70 (TIGERLAKE)
[06:30:22] [PASSED] 0x9A40 (TIGERLAKE)
[06:30:22] [PASSED] 0x9A49 (TIGERLAKE)
[06:30:22] [PASSED] 0x9A59 (TIGERLAKE)
[06:30:22] [PASSED] 0x9A78 (TIGERLAKE)
[06:30:22] [PASSED] 0x9AC0 (TIGERLAKE)
[06:30:22] [PASSED] 0x9AC9 (TIGERLAKE)
[06:30:22] [PASSED] 0x9AD9 (TIGERLAKE)
[06:30:22] [PASSED] 0x9AF8 (TIGERLAKE)
[06:30:22] [PASSED] 0x4C80 (ROCKETLAKE)
[06:30:22] [PASSED] 0x4C8A (ROCKETLAKE)
[06:30:22] [PASSED] 0x4C8B (ROCKETLAKE)
[06:30:22] [PASSED] 0x4C8C (ROCKETLAKE)
[06:30:22] [PASSED] 0x4C90 (ROCKETLAKE)
[06:30:22] [PASSED] 0x4C9A (ROCKETLAKE)
[06:30:22] [PASSED] 0x4680 (ALDERLAKE_S)
[06:30:22] [PASSED] 0x4682 (ALDERLAKE_S)
[06:30:22] [PASSED] 0x4688 (ALDERLAKE_S)
[06:30:22] [PASSED] 0x468A (ALDERLAKE_S)
[06:30:22] [PASSED] 0x468B (ALDERLAKE_S)
[06:30:22] [PASSED] 0x4690 (ALDERLAKE_S)
[06:30:22] [PASSED] 0x4692 (ALDERLAKE_S)
[06:30:22] [PASSED] 0x4693 (ALDERLAKE_S)
[06:30:22] [PASSED] 0x46A0 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46A1 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46A2 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46A3 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46A6 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46A8 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46AA (ALDERLAKE_P)
[06:30:22] [PASSED] 0x462A (ALDERLAKE_P)
[06:30:22] [PASSED] 0x4626 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x4628 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46B0 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46B1 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46B2 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46B3 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46C0 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46C1 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46C2 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46C3 (ALDERLAKE_P)
[06:30:22] [PASSED] 0x46D0 (ALDERLAKE_N)
[06:30:22] [PASSED] 0x46D1 (ALDERLAKE_N)
[06:30:22] [PASSED] 0x46D2 (ALDERLAKE_N)
[06:30:22] [PASSED] 0x46D3 (ALDERLAKE_N)
[06:30:22] [PASSED] 0x46D4 (ALDERLAKE_N)
[06:30:22] [PASSED] 0xA721 (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA7A1 (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA7A9 (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA7AC (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA7AD (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA720 (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA7A0 (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA7A8 (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA7AA (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA7AB (ALDERLAKE_P)
[06:30:22] [PASSED] 0xA780 (ALDERLAKE_S)
[06:30:22] [PASSED] 0xA781 (ALDERLAKE_S)
[06:30:22] [PASSED] 0xA782 (ALDERLAKE_S)
[06:30:22] [PASSED] 0xA783 (ALDERLAKE_S)
[06:30:22] [PASSED] 0xA788 (ALDERLAKE_S)
[06:30:22] [PASSED] 0xA789 (ALDERLAKE_S)
[06:30:22] [PASSED] 0xA78A (ALDERLAKE_S)
[06:30:22] [PASSED] 0xA78B (ALDERLAKE_S)
[06:30:22] [PASSED] 0x4905 (DG1)
[06:30:22] [PASSED] 0x4906 (DG1)
[06:30:22] [PASSED] 0x4907 (DG1)
[06:30:22] [PASSED] 0x4908 (DG1)
[06:30:22] [PASSED] 0x4909 (DG1)
[06:30:22] [PASSED] 0x56C0 (DG2)
[06:30:22] [PASSED] 0x56C2 (DG2)
[06:30:22] [PASSED] 0x56C1 (DG2)
[06:30:22] [PASSED] 0x7D51 (METEORLAKE)
[06:30:22] [PASSED] 0x7DD1 (METEORLAKE)
[06:30:22] [PASSED] 0x7D41 (METEORLAKE)
[06:30:22] [PASSED] 0x7D67 (METEORLAKE)
[06:30:22] [PASSED] 0xB640 (METEORLAKE)
[06:30:22] [PASSED] 0x56A0 (DG2)
[06:30:22] [PASSED] 0x56A1 (DG2)
[06:30:22] [PASSED] 0x56A2 (DG2)
[06:30:22] [PASSED] 0x56BE (DG2)
[06:30:22] [PASSED] 0x56BF (DG2)
[06:30:22] [PASSED] 0x5690 (DG2)
[06:30:22] [PASSED] 0x5691 (DG2)
[06:30:22] [PASSED] 0x5692 (DG2)
[06:30:22] [PASSED] 0x56A5 (DG2)
[06:30:22] [PASSED] 0x56A6 (DG2)
[06:30:22] [PASSED] 0x56B0 (DG2)
[06:30:22] [PASSED] 0x56B1 (DG2)
[06:30:22] [PASSED] 0x56BA (DG2)
[06:30:22] [PASSED] 0x56BB (DG2)
[06:30:22] [PASSED] 0x56BC (DG2)
[06:30:22] [PASSED] 0x56BD (DG2)
[06:30:22] [PASSED] 0x5693 (DG2)
[06:30:22] [PASSED] 0x5694 (DG2)
[06:30:22] [PASSED] 0x5695 (DG2)
[06:30:22] [PASSED] 0x56A3 (DG2)
[06:30:22] [PASSED] 0x56A4 (DG2)
[06:30:22] [PASSED] 0x56B2 (DG2)
[06:30:22] [PASSED] 0x56B3 (DG2)
[06:30:22] [PASSED] 0x5696 (DG2)
[06:30:22] [PASSED] 0x5697 (DG2)
[06:30:22] [PASSED] 0xB69 (PVC)
[06:30:22] [PASSED] 0xB6E (PVC)
[06:30:22] [PASSED] 0xBD4 (PVC)
[06:30:22] [PASSED] 0xBD5 (PVC)
[06:30:22] [PASSED] 0xBD6 (PVC)
[06:30:22] [PASSED] 0xBD7 (PVC)
[06:30:22] [PASSED] 0xBD8 (PVC)
[06:30:22] [PASSED] 0xBD9 (PVC)
[06:30:22] [PASSED] 0xBDA (PVC)
[06:30:22] [PASSED] 0xBDB (PVC)
[06:30:22] [PASSED] 0xBE0 (PVC)
[06:30:22] [PASSED] 0xBE1 (PVC)
[06:30:22] [PASSED] 0xBE5 (PVC)
[06:30:22] [PASSED] 0x7D40 (METEORLAKE)
[06:30:22] [PASSED] 0x7D45 (METEORLAKE)
[06:30:22] [PASSED] 0x7D55 (METEORLAKE)
[06:30:22] [PASSED] 0x7D60 (METEORLAKE)
[06:30:22] [PASSED] 0x7DD5 (METEORLAKE)
[06:30:22] [PASSED] 0x6420 (LUNARLAKE)
[06:30:22] [PASSED] 0x64A0 (LUNARLAKE)
[06:30:22] [PASSED] 0x64B0 (LUNARLAKE)
[06:30:22] [PASSED] 0xE202 (BATTLEMAGE)
[06:30:22] [PASSED] 0xE20B (BATTLEMAGE)
[06:30:22] [PASSED] 0xE20C (BATTLEMAGE)
[06:30:22] [PASSED] 0xE20D (BATTLEMAGE)
[06:30:22] [PASSED] 0xE210 (BATTLEMAGE)
[06:30:22] [PASSED] 0xE211 (BATTLEMAGE)
[06:30:22] [PASSED] 0xE212 (BATTLEMAGE)
[06:30:22] [PASSED] 0xE216 (BATTLEMAGE)
[06:30:22] [PASSED] 0xE220 (BATTLEMAGE)
[06:30:22] [PASSED] 0xE221 (BATTLEMAGE)
[06:30:22] [PASSED] 0xE222 (BATTLEMAGE)
[06:30:22] [PASSED] 0xE223 (BATTLEMAGE)
[06:30:22] [PASSED] 0xB080 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB081 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB082 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB083 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB084 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB085 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB086 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB087 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB08F (PANTHERLAKE)
[06:30:22] [PASSED] 0xB090 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB0A0 (PANTHERLAKE)
[06:30:22] [PASSED] 0xB0B0 (PANTHERLAKE)
[06:30:22] [PASSED] 0xFD80 (PANTHERLAKE)
[06:30:22] [PASSED] 0xFD81 (PANTHERLAKE)
[06:30:22] ============= [PASSED] check_platform_gt_count =============
[06:30:22] ===================== [PASSED] xe_pci ======================
[06:30:22] =================== xe_rtp (2 subtests) ====================
[06:30:22] =============== xe_rtp_process_to_sr_tests  ================
[06:30:22] [PASSED] coalesce-same-reg
[06:30:22] [PASSED] no-match-no-add
[06:30:22] [PASSED] match-or
[06:30:22] [PASSED] match-or-xfail
[06:30:22] [PASSED] no-match-no-add-multiple-rules
[06:30:22] [PASSED] two-regs-two-entries
[06:30:22] [PASSED] clr-one-set-other
[06:30:22] [PASSED] set-field
[06:30:22] [PASSED] conflict-duplicate
[06:30:22] [PASSED] conflict-not-disjoint
[06:30:22] [PASSED] conflict-reg-type
[06:30:22] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[06:30:22] ================== xe_rtp_process_tests  ===================
[06:30:22] [PASSED] active1
[06:30:22] [PASSED] active2
[06:30:22] [PASSED] active-inactive
[06:30:22] [PASSED] inactive-active
[06:30:22] [PASSED] inactive-1st_or_active-inactive
[06:30:22] [PASSED] inactive-2nd_or_active-inactive
[06:30:22] [PASSED] inactive-last_or_active-inactive
[06:30:22] [PASSED] inactive-no_or_active-inactive
[06:30:22] ============== [PASSED] xe_rtp_process_tests ===============
[06:30:22] ===================== [PASSED] xe_rtp ======================
[06:30:22] ==================== xe_wa (1 subtest) =====================
[06:30:22] ======================== xe_wa_gt  =========================
[06:30:22] [PASSED] TIGERLAKE (B0)
[06:30:22] [PASSED] DG1 (A0)
[06:30:22] [PASSED] DG1 (B0)
[06:30:22] [PASSED] ALDERLAKE_S (A0)
[06:30:22] [PASSED] ALDERLAKE_S (B0)
[06:30:22] [PASSED] ALDERLAKE_S (C0)
[06:30:22] [PASSED] ALDERLAKE_S (D0)
[06:30:22] [PASSED] ALDERLAKE_P (A0)
[06:30:22] [PASSED] ALDERLAKE_P (B0)
[06:30:22] [PASSED] ALDERLAKE_P (C0)
[06:30:22] [PASSED] ALDERLAKE_S_RPLS (D0)
[06:30:22] [PASSED] ALDERLAKE_P_RPLU (E0)
[06:30:22] [PASSED] DG2_G10 (C0)
[06:30:22] [PASSED] DG2_G11 (B1)
[06:30:22] [PASSED] DG2_G12 (A1)
[06:30:22] [PASSED] METEORLAKE (g:A0, m:A0)
[06:30:22] [PASSED] METEORLAKE (g:A0, m:A0)
[06:30:22] [PASSED] METEORLAKE (g:A0, m:A0)
[06:30:22] [PASSED] LUNARLAKE (g:A0, m:A0)
[06:30:22] [PASSED] LUNARLAKE (g:B0, m:A0)
[06:30:22] [PASSED] BATTLEMAGE (g:A0, m:A1)
stty: 'standard input': Inappropriate ioctl for device
[06:30:22] ==================== [PASSED] xe_wa_gt =====================
[06:30:22] ====================== [PASSED] xe_wa ======================
[06:30:22] ============================================================
[06:30:22] Testing complete. Ran 296 tests: passed: 280, skipped: 16
[06:30:22] Elapsed time: 31.486s total, 4.124s configuring, 26.995s building, 0.312s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[06:30:22] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:30:23] 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
[06:30:45] Starting KUnit Kernel (1/1)...
[06:30:45] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:30:45] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[06:30:45] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[06:30:45] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[06:30:45] =========== drm_validate_clone_mode (2 subtests) ===========
[06:30:45] ============== drm_test_check_in_clone_mode  ===============
[06:30:45] [PASSED] in_clone_mode
[06:30:45] [PASSED] not_in_clone_mode
[06:30:45] ========== [PASSED] drm_test_check_in_clone_mode ===========
[06:30:45] =============== drm_test_check_valid_clones  ===============
[06:30:45] [PASSED] not_in_clone_mode
[06:30:45] [PASSED] valid_clone
[06:30:45] [PASSED] invalid_clone
[06:30:45] =========== [PASSED] drm_test_check_valid_clones ===========
[06:30:45] ============= [PASSED] drm_validate_clone_mode =============
[06:30:45] ============= drm_validate_modeset (1 subtest) =============
[06:30:45] [PASSED] drm_test_check_connector_changed_modeset
[06:30:45] ============== [PASSED] drm_validate_modeset ===============
[06:30:45] ====== drm_test_bridge_get_current_state (2 subtests) ======
[06:30:45] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[06:30:45] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[06:30:45] ======== [PASSED] drm_test_bridge_get_current_state ========
[06:30:45] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[06:30:45] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[06:30:45] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[06:30:45] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[06:30:45] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[06:30:45] ============== drm_bridge_alloc (2 subtests) ===============
[06:30:45] [PASSED] drm_test_drm_bridge_alloc_basic
[06:30:45] [PASSED] drm_test_drm_bridge_alloc_get_put
[06:30:45] ================ [PASSED] drm_bridge_alloc =================
[06:30:45] ================== drm_buddy (7 subtests) ==================
[06:30:45] [PASSED] drm_test_buddy_alloc_limit
[06:30:45] [PASSED] drm_test_buddy_alloc_optimistic
[06:30:45] [PASSED] drm_test_buddy_alloc_pessimistic
[06:30:45] [PASSED] drm_test_buddy_alloc_pathological
[06:30:45] [PASSED] drm_test_buddy_alloc_contiguous
[06:30:45] [PASSED] drm_test_buddy_alloc_clear
[06:30:45] [PASSED] drm_test_buddy_alloc_range_bias
[06:30:45] ==================== [PASSED] drm_buddy ====================
[06:30:45] ============= drm_cmdline_parser (40 subtests) =============
[06:30:45] [PASSED] drm_test_cmdline_force_d_only
[06:30:45] [PASSED] drm_test_cmdline_force_D_only_dvi
[06:30:45] [PASSED] drm_test_cmdline_force_D_only_hdmi
[06:30:45] [PASSED] drm_test_cmdline_force_D_only_not_digital
[06:30:45] [PASSED] drm_test_cmdline_force_e_only
[06:30:45] [PASSED] drm_test_cmdline_res
[06:30:45] [PASSED] drm_test_cmdline_res_vesa
[06:30:45] [PASSED] drm_test_cmdline_res_vesa_rblank
[06:30:45] [PASSED] drm_test_cmdline_res_rblank
[06:30:45] [PASSED] drm_test_cmdline_res_bpp
[06:30:45] [PASSED] drm_test_cmdline_res_refresh
[06:30:45] [PASSED] drm_test_cmdline_res_bpp_refresh
[06:30:45] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[06:30:45] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[06:30:45] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[06:30:45] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[06:30:45] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[06:30:45] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[06:30:45] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[06:30:45] [PASSED] drm_test_cmdline_res_margins_force_on
[06:30:45] [PASSED] drm_test_cmdline_res_vesa_margins
[06:30:45] [PASSED] drm_test_cmdline_name
[06:30:45] [PASSED] drm_test_cmdline_name_bpp
[06:30:45] [PASSED] drm_test_cmdline_name_option
[06:30:45] [PASSED] drm_test_cmdline_name_bpp_option
[06:30:45] [PASSED] drm_test_cmdline_rotate_0
[06:30:45] [PASSED] drm_test_cmdline_rotate_90
[06:30:45] [PASSED] drm_test_cmdline_rotate_180
[06:30:45] [PASSED] drm_test_cmdline_rotate_270
[06:30:45] [PASSED] drm_test_cmdline_hmirror
[06:30:45] [PASSED] drm_test_cmdline_vmirror
[06:30:45] [PASSED] drm_test_cmdline_margin_options
[06:30:45] [PASSED] drm_test_cmdline_multiple_options
[06:30:45] [PASSED] drm_test_cmdline_bpp_extra_and_option
[06:30:45] [PASSED] drm_test_cmdline_extra_and_option
[06:30:45] [PASSED] drm_test_cmdline_freestanding_options
[06:30:45] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[06:30:45] [PASSED] drm_test_cmdline_panel_orientation
[06:30:45] ================ drm_test_cmdline_invalid  =================
[06:30:45] [PASSED] margin_only
[06:30:45] [PASSED] interlace_only
[06:30:45] [PASSED] res_missing_x
[06:30:45] [PASSED] res_missing_y
[06:30:45] [PASSED] res_bad_y
[06:30:45] [PASSED] res_missing_y_bpp
[06:30:45] [PASSED] res_bad_bpp
[06:30:45] [PASSED] res_bad_refresh
[06:30:45] [PASSED] res_bpp_refresh_force_on_off
[06:30:45] [PASSED] res_invalid_mode
[06:30:45] [PASSED] res_bpp_wrong_place_mode
[06:30:45] [PASSED] name_bpp_refresh
[06:30:45] [PASSED] name_refresh
[06:30:45] [PASSED] name_refresh_wrong_mode
[06:30:45] [PASSED] name_refresh_invalid_mode
[06:30:45] [PASSED] rotate_multiple
[06:30:45] [PASSED] rotate_invalid_val
[06:30:45] [PASSED] rotate_truncated
[06:30:45] [PASSED] invalid_option
[06:30:45] [PASSED] invalid_tv_option
[06:30:45] [PASSED] truncated_tv_option
[06:30:45] ============ [PASSED] drm_test_cmdline_invalid =============
[06:30:45] =============== drm_test_cmdline_tv_options  ===============
[06:30:45] [PASSED] NTSC
[06:30:45] [PASSED] NTSC_443
[06:30:45] [PASSED] NTSC_J
[06:30:45] [PASSED] PAL
[06:30:45] [PASSED] PAL_M
[06:30:45] [PASSED] PAL_N
[06:30:45] [PASSED] SECAM
[06:30:45] [PASSED] MONO_525
[06:30:45] [PASSED] MONO_625
[06:30:45] =========== [PASSED] drm_test_cmdline_tv_options ===========
[06:30:45] =============== [PASSED] drm_cmdline_parser ================
[06:30:45] ========== drmm_connector_hdmi_init (20 subtests) ==========
[06:30:45] [PASSED] drm_test_connector_hdmi_init_valid
[06:30:45] [PASSED] drm_test_connector_hdmi_init_bpc_8
[06:30:45] [PASSED] drm_test_connector_hdmi_init_bpc_10
[06:30:45] [PASSED] drm_test_connector_hdmi_init_bpc_12
[06:30:45] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[06:30:45] [PASSED] drm_test_connector_hdmi_init_bpc_null
[06:30:45] [PASSED] drm_test_connector_hdmi_init_formats_empty
[06:30:45] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[06:30:45] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[06:30:45] [PASSED] supported_formats=0x9 yuv420_allowed=1
[06:30:45] [PASSED] supported_formats=0x9 yuv420_allowed=0
[06:30:45] [PASSED] supported_formats=0x3 yuv420_allowed=1
[06:30:45] [PASSED] supported_formats=0x3 yuv420_allowed=0
[06:30:45] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[06:30:45] [PASSED] drm_test_connector_hdmi_init_null_ddc
[06:30:45] [PASSED] drm_test_connector_hdmi_init_null_product
[06:30:45] [PASSED] drm_test_connector_hdmi_init_null_vendor
[06:30:45] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[06:30:45] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[06:30:45] [PASSED] drm_test_connector_hdmi_init_product_valid
[06:30:45] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[06:30:45] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[06:30:45] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[06:30:45] ========= drm_test_connector_hdmi_init_type_valid  =========
[06:30:45] [PASSED] HDMI-A
[06:30:45] [PASSED] HDMI-B
[06:30:45] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[06:30:45] ======== drm_test_connector_hdmi_init_type_invalid  ========
[06:30:45] [PASSED] Unknown
[06:30:45] [PASSED] VGA
[06:30:45] [PASSED] DVI-I
[06:30:45] [PASSED] DVI-D
[06:30:45] [PASSED] DVI-A
[06:30:45] [PASSED] Composite
[06:30:45] [PASSED] SVIDEO
[06:30:45] [PASSED] LVDS
[06:30:45] [PASSED] Component
[06:30:45] [PASSED] DIN
[06:30:45] [PASSED] DP
[06:30:45] [PASSED] TV
[06:30:45] [PASSED] eDP
[06:30:45] [PASSED] Virtual
[06:30:45] [PASSED] DSI
[06:30:45] [PASSED] DPI
[06:30:45] [PASSED] Writeback
[06:30:45] [PASSED] SPI
[06:30:45] [PASSED] USB
[06:30:45] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[06:30:45] ============ [PASSED] drmm_connector_hdmi_init =============
[06:30:45] ============= drmm_connector_init (3 subtests) =============
[06:30:45] [PASSED] drm_test_drmm_connector_init
[06:30:45] [PASSED] drm_test_drmm_connector_init_null_ddc
[06:30:45] ========= drm_test_drmm_connector_init_type_valid  =========
[06:30:45] [PASSED] Unknown
[06:30:45] [PASSED] VGA
[06:30:45] [PASSED] DVI-I
[06:30:45] [PASSED] DVI-D
[06:30:45] [PASSED] DVI-A
[06:30:45] [PASSED] Composite
[06:30:45] [PASSED] SVIDEO
[06:30:45] [PASSED] LVDS
[06:30:45] [PASSED] Component
[06:30:45] [PASSED] DIN
[06:30:45] [PASSED] DP
[06:30:45] [PASSED] HDMI-A
[06:30:45] [PASSED] HDMI-B
[06:30:45] [PASSED] TV
[06:30:45] [PASSED] eDP
[06:30:45] [PASSED] Virtual
[06:30:45] [PASSED] DSI
[06:30:45] [PASSED] DPI
[06:30:45] [PASSED] Writeback
[06:30:45] [PASSED] SPI
[06:30:45] [PASSED] USB
[06:30:45] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[06:30:45] =============== [PASSED] drmm_connector_init ===============
[06:30:45] ========= drm_connector_dynamic_init (6 subtests) ==========
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_init
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_init_properties
[06:30:45] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[06:30:45] [PASSED] Unknown
[06:30:45] [PASSED] VGA
[06:30:45] [PASSED] DVI-I
[06:30:45] [PASSED] DVI-D
[06:30:45] [PASSED] DVI-A
[06:30:45] [PASSED] Composite
[06:30:45] [PASSED] SVIDEO
[06:30:45] [PASSED] LVDS
[06:30:45] [PASSED] Component
[06:30:45] [PASSED] DIN
[06:30:45] [PASSED] DP
[06:30:45] [PASSED] HDMI-A
[06:30:45] [PASSED] HDMI-B
[06:30:45] [PASSED] TV
[06:30:45] [PASSED] eDP
[06:30:45] [PASSED] Virtual
[06:30:45] [PASSED] DSI
[06:30:45] [PASSED] DPI
[06:30:45] [PASSED] Writeback
[06:30:45] [PASSED] SPI
[06:30:45] [PASSED] USB
[06:30:45] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[06:30:45] ======== drm_test_drm_connector_dynamic_init_name  =========
[06:30:45] [PASSED] Unknown
[06:30:45] [PASSED] VGA
[06:30:45] [PASSED] DVI-I
[06:30:45] [PASSED] DVI-D
[06:30:45] [PASSED] DVI-A
[06:30:45] [PASSED] Composite
[06:30:45] [PASSED] SVIDEO
[06:30:45] [PASSED] LVDS
[06:30:45] [PASSED] Component
[06:30:45] [PASSED] DIN
[06:30:45] [PASSED] DP
[06:30:45] [PASSED] HDMI-A
[06:30:45] [PASSED] HDMI-B
[06:30:45] [PASSED] TV
[06:30:45] [PASSED] eDP
[06:30:45] [PASSED] Virtual
[06:30:45] [PASSED] DSI
[06:30:45] [PASSED] DPI
[06:30:45] [PASSED] Writeback
[06:30:45] [PASSED] SPI
[06:30:45] [PASSED] USB
[06:30:45] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[06:30:45] =========== [PASSED] drm_connector_dynamic_init ============
[06:30:45] ==== drm_connector_dynamic_register_early (4 subtests) =====
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[06:30:45] ====== [PASSED] drm_connector_dynamic_register_early =======
[06:30:45] ======= drm_connector_dynamic_register (7 subtests) ========
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[06:30:45] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[06:30:45] ========= [PASSED] drm_connector_dynamic_register ==========
[06:30:45] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[06:30:45] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[06:30:45] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[06:30:45] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[06:30:45] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[06:30:45] ========== drm_test_get_tv_mode_from_name_valid  ===========
[06:30:45] [PASSED] NTSC
[06:30:45] [PASSED] NTSC-443
[06:30:45] [PASSED] NTSC-J
[06:30:45] [PASSED] PAL
[06:30:45] [PASSED] PAL-M
[06:30:45] [PASSED] PAL-N
[06:30:45] [PASSED] SECAM
[06:30:45] [PASSED] Mono
[06:30:45] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[06:30:45] [PASSED] drm_test_get_tv_mode_from_name_truncated
[06:30:45] ============ [PASSED] drm_get_tv_mode_from_name ============
[06:30:45] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[06:30:45] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[06:30:45] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[06:30:45] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[06:30:45] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[06:30:45] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[06:30:45] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[06:30:45] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[06:30:45] [PASSED] VIC 96
[06:30:45] [PASSED] VIC 97
[06:30:45] [PASSED] VIC 101
[06:30:45] [PASSED] VIC 102
[06:30:45] [PASSED] VIC 106
[06:30:45] [PASSED] VIC 107
[06:30:45] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[06:30:45] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[06:30:45] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[06:30:45] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[06:30:45] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[06:30:45] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[06:30:45] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[06:30:45] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[06:30:45] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[06:30:45] [PASSED] Automatic
[06:30:45] [PASSED] Full
[06:30:45] [PASSED] Limited 16:235
[06:30:45] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[06:30:45] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[06:30:45] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[06:30:45] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[06:30:45] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[06:30:45] [PASSED] RGB
[06:30:45] [PASSED] YUV 4:2:0
[06:30:45] [PASSED] YUV 4:2:2
[06:30:45] [PASSED] YUV 4:4:4
[06:30:45] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[06:30:45] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[06:30:45] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[06:30:45] ============= drm_damage_helper (21 subtests) ==============
[06:30:45] [PASSED] drm_test_damage_iter_no_damage
[06:30:45] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[06:30:45] [PASSED] drm_test_damage_iter_no_damage_src_moved
[06:30:45] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[06:30:45] [PASSED] drm_test_damage_iter_no_damage_not_visible
[06:30:45] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[06:30:45] [PASSED] drm_test_damage_iter_no_damage_no_fb
[06:30:45] [PASSED] drm_test_damage_iter_simple_damage
[06:30:45] [PASSED] drm_test_damage_iter_single_damage
[06:30:45] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[06:30:45] [PASSED] drm_test_damage_iter_single_damage_outside_src
[06:30:45] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[06:30:45] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[06:30:45] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[06:30:45] [PASSED] drm_test_damage_iter_single_damage_src_moved
[06:30:45] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[06:30:45] [PASSED] drm_test_damage_iter_damage
[06:30:45] [PASSED] drm_test_damage_iter_damage_one_intersect
[06:30:45] [PASSED] drm_test_damage_iter_damage_one_outside
[06:30:45] [PASSED] drm_test_damage_iter_damage_src_moved
[06:30:45] [PASSED] drm_test_damage_iter_damage_not_visible
[06:30:45] ================ [PASSED] drm_damage_helper ================
[06:30:45] ============== drm_dp_mst_helper (3 subtests) ==============
[06:30:45] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[06:30:45] [PASSED] Clock 154000 BPP 30 DSC disabled
[06:30:45] [PASSED] Clock 234000 BPP 30 DSC disabled
[06:30:45] [PASSED] Clock 297000 BPP 24 DSC disabled
[06:30:45] [PASSED] Clock 332880 BPP 24 DSC enabled
[06:30:45] [PASSED] Clock 324540 BPP 24 DSC enabled
[06:30:45] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[06:30:45] ============== drm_test_dp_mst_calc_pbn_div  ===============
[06:30:45] [PASSED] Link rate 2000000 lane count 4
[06:30:45] [PASSED] Link rate 2000000 lane count 2
[06:30:45] [PASSED] Link rate 2000000 lane count 1
[06:30:45] [PASSED] Link rate 1350000 lane count 4
[06:30:45] [PASSED] Link rate 1350000 lane count 2
[06:30:45] [PASSED] Link rate 1350000 lane count 1
[06:30:45] [PASSED] Link rate 1000000 lane count 4
[06:30:45] [PASSED] Link rate 1000000 lane count 2
[06:30:45] [PASSED] Link rate 1000000 lane count 1
[06:30:45] [PASSED] Link rate 810000 lane count 4
[06:30:45] [PASSED] Link rate 810000 lane count 2
[06:30:45] [PASSED] Link rate 810000 lane count 1
[06:30:45] [PASSED] Link rate 540000 lane count 4
[06:30:45] [PASSED] Link rate 540000 lane count 2
[06:30:45] [PASSED] Link rate 540000 lane count 1
[06:30:45] [PASSED] Link rate 270000 lane count 4
[06:30:45] [PASSED] Link rate 270000 lane count 2
[06:30:45] [PASSED] Link rate 270000 lane count 1
[06:30:45] [PASSED] Link rate 162000 lane count 4
[06:30:45] [PASSED] Link rate 162000 lane count 2
[06:30:45] [PASSED] Link rate 162000 lane count 1
[06:30:45] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[06:30:45] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[06:30:45] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[06:30:45] [PASSED] DP_POWER_UP_PHY with port number
[06:30:45] [PASSED] DP_POWER_DOWN_PHY with port number
[06:30:45] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[06:30:45] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[06:30:45] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[06:30:45] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[06:30:45] [PASSED] DP_QUERY_PAYLOAD with port number
[06:30:45] [PASSED] DP_QUERY_PAYLOAD with VCPI
[06:30:45] [PASSED] DP_REMOTE_DPCD_READ with port number
[06:30:45] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[06:30:45] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[06:30:45] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[06:30:45] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[06:30:45] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[06:30:45] [PASSED] DP_REMOTE_I2C_READ with port number
[06:30:45] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[06:30:45] [PASSED] DP_REMOTE_I2C_READ with transactions array
[06:30:45] [PASSED] DP_REMOTE_I2C_WRITE with port number
[06:30:45] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[06:30:45] [PASSED] DP_REMOTE_I2C_WRITE with data array
[06:30:45] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[06:30:45] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[06:30:45] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[06:30:45] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[06:30:45] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[06:30:45] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[06:30:45] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[06:30:45] ================ [PASSED] drm_dp_mst_helper ================
[06:30:45] ================== drm_exec (7 subtests) ===================
[06:30:45] [PASSED] sanitycheck
[06:30:45] [PASSED] test_lock
[06:30:45] [PASSED] test_lock_unlock
[06:30:45] [PASSED] test_duplicates
[06:30:45] [PASSED] test_prepare
[06:30:45] [PASSED] test_prepare_array
[06:30:45] [PASSED] test_multiple_loops
[06:30:45] ==================== [PASSED] drm_exec =====================
[06:30:45] =========== drm_format_helper_test (17 subtests) ===========
[06:30:45] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[06:30:45] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[06:30:45] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[06:30:45] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[06:30:45] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[06:30:45] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[06:30:45] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[06:30:45] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[06:30:45] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[06:30:45] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[06:30:45] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[06:30:45] ============== drm_test_fb_xrgb8888_to_mono  ===============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[06:30:45] ==================== drm_test_fb_swab  =====================
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ================ [PASSED] drm_test_fb_swab =================
[06:30:45] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[06:30:45] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[06:30:45] [PASSED] single_pixel_source_buffer
[06:30:45] [PASSED] single_pixel_clip_rectangle
[06:30:45] [PASSED] well_known_colors
[06:30:45] [PASSED] destination_pitch
[06:30:45] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[06:30:45] ================= drm_test_fb_clip_offset  =================
[06:30:45] [PASSED] pass through
[06:30:45] [PASSED] horizontal offset
[06:30:45] [PASSED] vertical offset
[06:30:45] [PASSED] horizontal and vertical offset
[06:30:45] [PASSED] horizontal offset (custom pitch)
[06:30:45] [PASSED] vertical offset (custom pitch)
[06:30:45] [PASSED] horizontal and vertical offset (custom pitch)
[06:30:45] ============= [PASSED] drm_test_fb_clip_offset =============
[06:30:45] =================== drm_test_fb_memcpy  ====================
[06:30:45] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[06:30:45] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[06:30:45] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[06:30:45] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[06:30:45] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[06:30:45] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[06:30:45] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[06:30:45] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[06:30:45] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[06:30:45] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[06:30:45] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[06:30:45] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[06:30:45] =============== [PASSED] drm_test_fb_memcpy ================
[06:30:45] ============= [PASSED] drm_format_helper_test ==============
[06:30:45] ================= drm_format (18 subtests) =================
[06:30:45] [PASSED] drm_test_format_block_width_invalid
[06:30:45] [PASSED] drm_test_format_block_width_one_plane
[06:30:45] [PASSED] drm_test_format_block_width_two_plane
[06:30:45] [PASSED] drm_test_format_block_width_three_plane
[06:30:45] [PASSED] drm_test_format_block_width_tiled
[06:30:45] [PASSED] drm_test_format_block_height_invalid
[06:30:45] [PASSED] drm_test_format_block_height_one_plane
[06:30:45] [PASSED] drm_test_format_block_height_two_plane
[06:30:45] [PASSED] drm_test_format_block_height_three_plane
[06:30:45] [PASSED] drm_test_format_block_height_tiled
[06:30:45] [PASSED] drm_test_format_min_pitch_invalid
[06:30:45] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[06:30:45] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[06:30:45] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[06:30:45] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[06:30:45] [PASSED] drm_test_format_min_pitch_two_plane
[06:30:45] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[06:30:45] [PASSED] drm_test_format_min_pitch_tiled
[06:30:45] =================== [PASSED] drm_format ====================
[06:30:45] ============== drm_framebuffer (10 subtests) ===============
[06:30:45] ========== drm_test_framebuffer_check_src_coords  ==========
[06:30:45] [PASSED] Success: source fits into fb
[06:30:45] [PASSED] Fail: overflowing fb with x-axis coordinate
[06:30:45] [PASSED] Fail: overflowing fb with y-axis coordinate
[06:30:45] [PASSED] Fail: overflowing fb with source width
[06:30:45] [PASSED] Fail: overflowing fb with source height
[06:30:45] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[06:30:45] [PASSED] drm_test_framebuffer_cleanup
[06:30:45] =============== drm_test_framebuffer_create  ===============
[06:30:45] [PASSED] ABGR8888 normal sizes
[06:30:45] [PASSED] ABGR8888 max sizes
[06:30:45] [PASSED] ABGR8888 pitch greater than min required
[06:30:45] [PASSED] ABGR8888 pitch less than min required
[06:30:45] [PASSED] ABGR8888 Invalid width
[06:30:45] [PASSED] ABGR8888 Invalid buffer handle
[06:30:45] [PASSED] No pixel format
[06:30:45] [PASSED] ABGR8888 Width 0
[06:30:45] [PASSED] ABGR8888 Height 0
[06:30:45] [PASSED] ABGR8888 Out of bound height * pitch combination
[06:30:45] [PASSED] ABGR8888 Large buffer offset
[06:30:45] [PASSED] ABGR8888 Buffer offset for inexistent plane
[06:30:45] [PASSED] ABGR8888 Invalid flag
[06:30:45] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[06:30:45] [PASSED] ABGR8888 Valid buffer modifier
[06:30:45] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[06:30:45] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[06:30:45] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[06:30:45] [PASSED] NV12 Normal sizes
[06:30:45] [PASSED] NV12 Max sizes
[06:30:45] [PASSED] NV12 Invalid pitch
[06:30:45] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[06:30:45] [PASSED] NV12 different  modifier per-plane
[06:30:45] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[06:30:45] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[06:30:45] [PASSED] NV12 Modifier for inexistent plane
[06:30:45] [PASSED] NV12 Handle for inexistent plane
[06:30:45] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[06:30:45] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[06:30:45] [PASSED] YVU420 Normal sizes
[06:30:45] [PASSED] YVU420 Max sizes
[06:30:45] [PASSED] YVU420 Invalid pitch
[06:30:45] [PASSED] YVU420 Different pitches
[06:30:45] [PASSED] YVU420 Different buffer offsets/pitches
[06:30:45] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[06:30:45] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[06:30:45] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[06:30:45] [PASSED] YVU420 Valid modifier
[06:30:45] [PASSED] YVU420 Different modifiers per plane
[06:30:45] [PASSED] YVU420 Modifier for inexistent plane
[06:30:45] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[06:30:45] [PASSED] X0L2 Normal sizes
[06:30:45] [PASSED] X0L2 Max sizes
[06:30:45] [PASSED] X0L2 Invalid pitch
[06:30:45] [PASSED] X0L2 Pitch greater than minimum required
[06:30:45] [PASSED] X0L2 Handle for inexistent plane
[06:30:45] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[06:30:45] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[06:30:45] [PASSED] X0L2 Valid modifier
[06:30:45] [PASSED] X0L2 Modifier for inexistent plane
[06:30:45] =========== [PASSED] drm_test_framebuffer_create ===========
[06:30:45] [PASSED] drm_test_framebuffer_free
[06:30:45] [PASSED] drm_test_framebuffer_init
[06:30:45] [PASSED] drm_test_framebuffer_init_bad_format
[06:30:45] [PASSED] drm_test_framebuffer_init_dev_mismatch
[06:30:45] [PASSED] drm_test_framebuffer_lookup
[06:30:45] [PASSED] drm_test_framebuffer_lookup_inexistent
[06:30:45] [PASSED] drm_test_framebuffer_modifiers_not_supported
[06:30:45] ================= [PASSED] drm_framebuffer =================
[06:30:45] ================ drm_gem_shmem (8 subtests) ================
[06:30:45] [PASSED] drm_gem_shmem_test_obj_create
[06:30:45] [PASSED] drm_gem_shmem_test_obj_create_private
[06:30:45] [PASSED] drm_gem_shmem_test_pin_pages
[06:30:45] [PASSED] drm_gem_shmem_test_vmap
[06:30:45] [PASSED] drm_gem_shmem_test_get_pages_sgt
[06:30:45] [PASSED] drm_gem_shmem_test_get_sg_table
[06:30:45] [PASSED] drm_gem_shmem_test_madvise
[06:30:45] [PASSED] drm_gem_shmem_test_purge
[06:30:45] ================== [PASSED] drm_gem_shmem ==================
[06:30:45] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[06:30:45] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420  =======
[06:30:45] [PASSED] Automatic
[06:30:45] [PASSED] Full
[06:30:45] [PASSED] Limited 16:235
[06:30:45] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[06:30:45] [PASSED] drm_test_check_disable_connector
[06:30:45] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[06:30:45] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[06:30:45] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[06:30:45] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[06:30:45] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[06:30:45] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[06:30:45] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[06:30:45] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[06:30:45] [PASSED] drm_test_check_output_bpc_dvi
[06:30:45] [PASSED] drm_test_check_output_bpc_format_vic_1
[06:30:45] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[06:30:45] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[06:30:45] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[06:30:45] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[06:30:45] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[06:30:45] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[06:30:45] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[06:30:45] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[06:30:45] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[06:30:45] [PASSED] drm_test_check_broadcast_rgb_value
[06:30:45] [PASSED] drm_test_check_bpc_8_value
[06:30:45] [PASSED] drm_test_check_bpc_10_value
[06:30:45] [PASSED] drm_test_check_bpc_12_value
[06:30:45] [PASSED] drm_test_check_format_value
[06:30:45] [PASSED] drm_test_check_tmds_char_value
[06:30:45] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[06:30:45] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[06:30:45] [PASSED] drm_test_check_mode_valid
[06:30:45] [PASSED] drm_test_check_mode_valid_reject
[06:30:45] [PASSED] drm_test_check_mode_valid_reject_rate
[06:30:45] [PASSED] drm_test_check_mode_valid_reject_max_clock
[06:30:45] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[06:30:45] ================= drm_managed (2 subtests) =================
[06:30:45] [PASSED] drm_test_managed_release_action
[06:30:45] [PASSED] drm_test_managed_run_action
[06:30:45] =================== [PASSED] drm_managed ===================
[06:30:45] =================== drm_mm (6 subtests) ====================
[06:30:45] [PASSED] drm_test_mm_init
[06:30:45] [PASSED] drm_test_mm_debug
[06:30:45] [PASSED] drm_test_mm_align32
[06:30:45] [PASSED] drm_test_mm_align64
[06:30:45] [PASSED] drm_test_mm_lowest
[06:30:45] [PASSED] drm_test_mm_highest
[06:30:45] ===================== [PASSED] drm_mm ======================
[06:30:45] ============= drm_modes_analog_tv (5 subtests) =============
[06:30:45] [PASSED] drm_test_modes_analog_tv_mono_576i
[06:30:45] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[06:30:45] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[06:30:45] [PASSED] drm_test_modes_analog_tv_pal_576i
[06:30:45] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[06:30:45] =============== [PASSED] drm_modes_analog_tv ===============
[06:30:45] ============== drm_plane_helper (2 subtests) ===============
[06:30:45] =============== drm_test_check_plane_state  ================
[06:30:45] [PASSED] clipping_simple
[06:30:45] [PASSED] clipping_rotate_reflect
[06:30:45] [PASSED] positioning_simple
[06:30:45] [PASSED] upscaling
[06:30:45] [PASSED] downscaling
[06:30:45] [PASSED] rounding1
[06:30:45] [PASSED] rounding2
[06:30:45] [PASSED] rounding3
[06:30:45] [PASSED] rounding4
[06:30:45] =========== [PASSED] drm_test_check_plane_state ============
[06:30:45] =========== drm_test_check_invalid_plane_state  ============
[06:30:45] [PASSED] positioning_invalid
[06:30:45] [PASSED] upscaling_invalid
[06:30:45] [PASSED] downscaling_invalid
[06:30:45] ======= [PASSED] drm_test_check_invalid_plane_state ========
[06:30:45] ================ [PASSED] drm_plane_helper =================
[06:30:45] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[06:30:45] ====== drm_test_connector_helper_tv_get_modes_check  =======
[06:30:45] [PASSED] None
[06:30:45] [PASSED] PAL
[06:30:45] [PASSED] NTSC
[06:30:45] [PASSED] Both, NTSC Default
[06:30:45] [PASSED] Both, PAL Default
[06:30:45] [PASSED] Both, NTSC Default, with PAL on command-line
[06:30:45] [PASSED] Both, PAL Default, with NTSC on command-line
[06:30:45] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[06:30:45] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[06:30:45] ================== drm_rect (9 subtests) ===================
[06:30:45] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[06:30:45] [PASSED] drm_test_rect_clip_scaled_not_clipped
[06:30:45] [PASSED] drm_test_rect_clip_scaled_clipped
[06:30:45] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[06:30:45] ================= drm_test_rect_intersect  =================
[06:30:45] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[06:30:45] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[06:30:45] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[06:30:45] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[06:30:45] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[06:30:45] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[06:30:45] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[06:30:45] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[06:30:45] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[06:30:45] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[06:30:45] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[06:30:45] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[06:30:45] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[06:30:45] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[06:30:45] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[06:30:45] ============= [PASSED] drm_test_rect_intersect =============
[06:30:45] ================ drm_test_rect_calc_hscale  ================
[06:30:45] [PASSED] normal use
[06:30:45] [PASSED] out of max range
[06:30:45] [PASSED] out of min range
[06:30:45] [PASSED] zero dst
[06:30:45] [PASSED] negative src
[06:30:45] [PASSED] negative dst
[06:30:45] ============ [PASSED] drm_test_rect_calc_hscale ============
[06:30:45] ================ drm_test_rect_calc_vscale  ================
[06:30:45] [PASSED] normal use
[06:30:45] [PASSED] out of max range
[06:30:45] [PASSED] out of min range
[06:30:45] [PASSED] zero dst
[06:30:45] [PASSED] negative src
[06:30:45] [PASSED] negative dst
[06:30:45] ============ [PASSED] drm_test_rect_calc_vscale ============
[06:30:45] ================== drm_test_rect_rotate  ===================
[06:30:45] [PASSED] reflect-x
[06:30:45] [PASSED] reflect-y
[06:30:45] [PASSED] rotate-0
[06:30:45] [PASSED] rotate-90
[06:30:45] [PASSED] rotate-180
[06:30:45] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[06:30:45] ============== [PASSED] drm_test_rect_rotate ===============
[06:30:45] ================ drm_test_rect_rotate_inv  =================
[06:30:45] [PASSED] reflect-x
[06:30:45] [PASSED] reflect-y
[06:30:45] [PASSED] rotate-0
[06:30:45] [PASSED] rotate-90
[06:30:45] [PASSED] rotate-180
[06:30:45] [PASSED] rotate-270
[06:30:45] ============ [PASSED] drm_test_rect_rotate_inv =============
[06:30:45] ==================== [PASSED] drm_rect =====================
[06:30:45] ============ drm_sysfb_modeset_test (1 subtest) ============
[06:30:45] ============ drm_test_sysfb_build_fourcc_list  =============
[06:30:45] [PASSED] no native formats
[06:30:45] [PASSED] XRGB8888 as native format
[06:30:45] [PASSED] remove duplicates
[06:30:45] [PASSED] convert alpha formats
[06:30:45] [PASSED] random formats
[06:30:45] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[06:30:45] ============= [PASSED] drm_sysfb_modeset_test ==============
[06:30:45] ============================================================
[06:30:45] Testing complete. Ran 616 tests: passed: 616
[06:30:45] Elapsed time: 23.117s total, 1.705s configuring, 21.246s building, 0.141s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[06:30:45] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:30:47] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[06:30:54] Starting KUnit Kernel (1/1)...
[06:30:54] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:30:54] ================= ttm_device (5 subtests) ==================
[06:30:54] [PASSED] ttm_device_init_basic
[06:30:54] [PASSED] ttm_device_init_multiple
[06:30:54] [PASSED] ttm_device_fini_basic
[06:30:54] [PASSED] ttm_device_init_no_vma_man
[06:30:54] ================== ttm_device_init_pools  ==================
[06:30:54] [PASSED] No DMA allocations, no DMA32 required
[06:30:54] [PASSED] DMA allocations, DMA32 required
[06:30:54] [PASSED] No DMA allocations, DMA32 required
[06:30:54] [PASSED] DMA allocations, no DMA32 required
[06:30:54] ============== [PASSED] ttm_device_init_pools ==============
[06:30:54] =================== [PASSED] ttm_device ====================
[06:30:54] ================== ttm_pool (8 subtests) ===================
[06:30:54] ================== ttm_pool_alloc_basic  ===================
[06:30:54] [PASSED] One page
[06:30:54] [PASSED] More than one page
[06:30:54] [PASSED] Above the allocation limit
[06:30:54] [PASSED] One page, with coherent DMA mappings enabled
[06:30:54] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[06:30:54] ============== [PASSED] ttm_pool_alloc_basic ===============
[06:30:54] ============== ttm_pool_alloc_basic_dma_addr  ==============
[06:30:54] [PASSED] One page
[06:30:54] [PASSED] More than one page
[06:30:54] [PASSED] Above the allocation limit
[06:30:54] [PASSED] One page, with coherent DMA mappings enabled
[06:30:54] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[06:30:54] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[06:30:54] [PASSED] ttm_pool_alloc_order_caching_match
[06:30:54] [PASSED] ttm_pool_alloc_caching_mismatch
[06:30:54] [PASSED] ttm_pool_alloc_order_mismatch
[06:30:54] [PASSED] ttm_pool_free_dma_alloc
[06:30:54] [PASSED] ttm_pool_free_no_dma_alloc
[06:30:54] [PASSED] ttm_pool_fini_basic
[06:30:54] ==================== [PASSED] ttm_pool =====================
[06:30:54] ================ ttm_resource (8 subtests) =================
[06:30:54] ================= ttm_resource_init_basic  =================
[06:30:54] [PASSED] Init resource in TTM_PL_SYSTEM
[06:30:54] [PASSED] Init resource in TTM_PL_VRAM
[06:30:54] [PASSED] Init resource in a private placement
[06:30:54] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[06:30:54] ============= [PASSED] ttm_resource_init_basic =============
[06:30:54] [PASSED] ttm_resource_init_pinned
[06:30:54] [PASSED] ttm_resource_fini_basic
[06:30:54] [PASSED] ttm_resource_manager_init_basic
[06:30:54] [PASSED] ttm_resource_manager_usage_basic
[06:30:54] [PASSED] ttm_resource_manager_set_used_basic
[06:30:54] [PASSED] ttm_sys_man_alloc_basic
[06:30:54] [PASSED] ttm_sys_man_free_basic
[06:30:54] ================== [PASSED] ttm_resource ===================
[06:30:54] =================== ttm_tt (15 subtests) ===================
[06:30:54] ==================== ttm_tt_init_basic  ====================
[06:30:54] [PASSED] Page-aligned size
[06:30:54] [PASSED] Extra pages requested
[06:30:54] ================ [PASSED] ttm_tt_init_basic ================
[06:30:54] [PASSED] ttm_tt_init_misaligned
[06:30:54] [PASSED] ttm_tt_fini_basic
[06:30:54] [PASSED] ttm_tt_fini_sg
[06:30:54] [PASSED] ttm_tt_fini_shmem
[06:30:54] [PASSED] ttm_tt_create_basic
[06:30:54] [PASSED] ttm_tt_create_invalid_bo_type
[06:30:54] [PASSED] ttm_tt_create_ttm_exists
[06:30:54] [PASSED] ttm_tt_create_failed
[06:30:54] [PASSED] ttm_tt_destroy_basic
[06:30:54] [PASSED] ttm_tt_populate_null_ttm
[06:30:54] [PASSED] ttm_tt_populate_populated_ttm
[06:30:54] [PASSED] ttm_tt_unpopulate_basic
[06:30:54] [PASSED] ttm_tt_unpopulate_empty_ttm
[06:30:54] [PASSED] ttm_tt_swapin_basic
[06:30:54] ===================== [PASSED] ttm_tt ======================
[06:30:54] =================== ttm_bo (14 subtests) ===================
[06:30:54] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[06:30:54] [PASSED] Cannot be interrupted and sleeps
[06:30:54] [PASSED] Cannot be interrupted, locks straight away
[06:30:54] [PASSED] Can be interrupted, sleeps
[06:30:54] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[06:30:54] [PASSED] ttm_bo_reserve_locked_no_sleep
[06:30:54] [PASSED] ttm_bo_reserve_no_wait_ticket
[06:30:54] [PASSED] ttm_bo_reserve_double_resv
[06:30:54] [PASSED] ttm_bo_reserve_interrupted
[06:30:54] [PASSED] ttm_bo_reserve_deadlock
[06:30:54] [PASSED] ttm_bo_unreserve_basic
[06:30:54] [PASSED] ttm_bo_unreserve_pinned
[06:30:54] [PASSED] ttm_bo_unreserve_bulk
[06:30:54] [PASSED] ttm_bo_put_basic
[06:30:54] [PASSED] ttm_bo_put_shared_resv
[06:30:54] [PASSED] ttm_bo_pin_basic
[06:30:54] [PASSED] ttm_bo_pin_unpin_resource
[06:30:54] [PASSED] ttm_bo_multiple_pin_one_unpin
[06:30:54] ===================== [PASSED] ttm_bo ======================
[06:30:54] ============== ttm_bo_validate (22 subtests) ===============
[06:30:54] ============== ttm_bo_init_reserved_sys_man  ===============
[06:30:54] [PASSED] Buffer object for userspace
[06:30:54] [PASSED] Kernel buffer object
[06:30:54] [PASSED] Shared buffer object
[06:30:54] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[06:30:54] ============== ttm_bo_init_reserved_mock_man  ==============
[06:30:54] [PASSED] Buffer object for userspace
[06:30:54] [PASSED] Kernel buffer object
[06:30:54] [PASSED] Shared buffer object
[06:30:54] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[06:30:54] [PASSED] ttm_bo_init_reserved_resv
[06:30:54] ================== ttm_bo_validate_basic  ==================
[06:30:54] [PASSED] Buffer object for userspace
[06:30:54] [PASSED] Kernel buffer object
[06:30:54] [PASSED] Shared buffer object
[06:30:54] ============== [PASSED] ttm_bo_validate_basic ==============
[06:30:54] [PASSED] ttm_bo_validate_invalid_placement
[06:30:54] ============= ttm_bo_validate_same_placement  ==============
[06:30:54] [PASSED] System manager
[06:30:54] [PASSED] VRAM manager
[06:30:54] ========= [PASSED] ttm_bo_validate_same_placement ==========
[06:30:54] [PASSED] ttm_bo_validate_failed_alloc
[06:30:54] [PASSED] ttm_bo_validate_pinned
[06:30:54] [PASSED] ttm_bo_validate_busy_placement
[06:30:54] ================ ttm_bo_validate_multihop  =================
[06:30:54] [PASSED] Buffer object for userspace
[06:30:54] [PASSED] Kernel buffer object
[06:30:54] [PASSED] Shared buffer object
[06:30:54] ============ [PASSED] ttm_bo_validate_multihop =============
[06:30:54] ========== ttm_bo_validate_no_placement_signaled  ==========
[06:30:54] [PASSED] Buffer object in system domain, no page vector
[06:30:54] [PASSED] Buffer object in system domain with an existing page vector
[06:30:54] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[06:30:54] ======== ttm_bo_validate_no_placement_not_signaled  ========
[06:30:54] [PASSED] Buffer object for userspace
[06:30:54] [PASSED] Kernel buffer object
[06:30:54] [PASSED] Shared buffer object
[06:30:54] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[06:30:54] [PASSED] ttm_bo_validate_move_fence_signaled
[06:30:55] ========= ttm_bo_validate_move_fence_not_signaled  =========
[06:30:55] [PASSED] Waits for GPU
[06:30:55] [PASSED] Tries to lock straight away
[06:30:55] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[06:30:55] [PASSED] ttm_bo_validate_swapout
[06:30:55] [PASSED] ttm_bo_validate_happy_evict
[06:30:55] [PASSED] ttm_bo_validate_all_pinned_evict
[06:30:55] [PASSED] ttm_bo_validate_allowed_only_evict
[06:30:55] [PASSED] ttm_bo_validate_deleted_evict
[06:30:55] [PASSED] ttm_bo_validate_busy_domain_evict
[06:30:55] [PASSED] ttm_bo_validate_evict_gutting
[06:30:55] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[06:30:55] ================= [PASSED] ttm_bo_validate =================
[06:30:55] ============================================================
[06:30:55] Testing complete. Ran 102 tests: passed: 102
[06:30:55] Elapsed time: 9.981s total, 1.684s configuring, 7.681s building, 0.527s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read()
  2025-07-03  6:20 ` [PATCH 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
@ 2025-07-03  6:57   ` Matthew Brost
  2025-07-03  7:01   ` Matthew Brost
  1 sibling, 0 replies; 17+ messages in thread
From: Matthew Brost @ 2025-07-03  6:57 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe

On Thu, Jul 03, 2025 at 06:20:27AM +0000, Shuicheng Lin wrote:
> xe_pm_runtime_put() is missed to be called for the error path in
> xe_devcoredump_read().
> Add function description comments for xe_devcoredump_read() to help
> understand it.
> 
> Fixes: c4a2e5f865b7 ("drm/xe: Add devcoredump chunking")
> Cc: Matthew Brost <matthew.brost@intel.com>
> Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_devcoredump.c | 32 +++++++++++++++++++++++------
>  1 file changed, 26 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index 94625010abc4..701ffe6c8264 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
> @@ -171,14 +171,29 @@ static void xe_devcoredump_snapshot_free(struct xe_devcoredump_snapshot *ss)
>  
>  #define XE_DEVCOREDUMP_CHUNK_MAX	(SZ_512M + SZ_1G)
>  
> +/**
> + * xe_devcoredump_read - Read data from the Xe device coredump snapshot

The preferred style is:

s/xe_devcoredump_read/xe_devcoredump_read()


> + * @buffer: Destination buffer to copy the coredump data into
> + * @offset: Offset in the coredump data to start reading from
> + * @count: Number of bytes to read
> + * @data: Pointer to the xe_devcoredump structure
> + * @datalen: Length of the data (unused)
> + *
> + * Reads a chunk of the coredump snapshot data into the provided buffer,
> + * handling chunked reads for large coredumps and ensuring proper locking.

A little a more descriptive, would be:

Reads a chunk of the coredump snapshot data into the provided buffer. If the
devcoredump is smaller than 1.5 GB, it is read directly from a pre-written
buffer. For larger devcoredumps, the pre-written buffer must be periodically
repopulated from the snapshot state due to kmalloc size limitations.

> + *
> + * Return: Number of bytes copied on success, or a negative error code on failure.
> + */
>  static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  				   size_t count, void *data, size_t datalen)
>  {
>  	struct xe_devcoredump *coredump = data;
>  	struct xe_devcoredump_snapshot *ss;
> -	ssize_t byte_copied;
> +	ssize_t byte_copied = 0;
>  	u32 chunk_offset;
>  	ssize_t new_chunk_position;
> +	bool pm_acquired = false;
> +	int ret = 0;
>  
>  	if (!coredump)
>  		return -ENODEV;
> @@ -188,19 +203,23 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  	/* Ensure delayed work is captured before continuing */
>  	flush_work(&ss->work);
>  
> -	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
> +	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX) {
>  		xe_pm_runtime_get(gt_to_xe(ss->gt));
> +		pm_acquired = true;
> +	}

I'd write this like:

pm_acquired = ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX;
if (pm_acquired)
	xe_pm_runtime_get(gt_to_xe(ss->gt));

>  
>  	mutex_lock(&coredump->lock);
>  
>  	if (!ss->read.buffer) {
>  		mutex_unlock(&coredump->lock);
> -		return -ENODEV;
> +		ret = -ENODEV;
> +		goto pm_put;
>  	}
>  
>  	if (offset >= ss->read.size) {
>  		mutex_unlock(&coredump->lock);
> -		return 0;
> +		ret = 0;

You don't need to set ret = 0 here as it is initialized to zero above.

Nits aside, patch functionally looks correct.

Matt

> +		goto pm_put;
>  	}
>  
>  	new_chunk_position = div_u64_rem(offset,
> @@ -223,10 +242,11 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  
>  	mutex_unlock(&coredump->lock);
>  
> -	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
> +pm_put:
> +	if (pm_acquired)
>  		xe_pm_runtime_put(gt_to_xe(ss->gt));
>  
> -	return byte_copied;
> +	return byte_copied ? byte_copied : ret;
>  }
>  
>  static void xe_devcoredump_free(void *data)
> -- 
> 2.49.0
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read()
  2025-07-03  6:20 ` [PATCH 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
  2025-07-03  6:57   ` Matthew Brost
@ 2025-07-03  7:01   ` Matthew Brost
  1 sibling, 0 replies; 17+ messages in thread
From: Matthew Brost @ 2025-07-03  7:01 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe

On Thu, Jul 03, 2025 at 06:20:27AM +0000, Shuicheng Lin wrote:
> xe_pm_runtime_put() is missed to be called for the error path in
> xe_devcoredump_read().
> Add function description comments for xe_devcoredump_read() to help
> understand it.
> 

Opps, missed one more thing.

> Fixes: c4a2e5f865b7 ("drm/xe: Add devcoredump chunking")
> Cc: Matthew Brost <matthew.brost@intel.com>
> Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_devcoredump.c | 32 +++++++++++++++++++++++------
>  1 file changed, 26 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index 94625010abc4..701ffe6c8264 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
> @@ -171,14 +171,29 @@ static void xe_devcoredump_snapshot_free(struct xe_devcoredump_snapshot *ss)
>  
>  #define XE_DEVCOREDUMP_CHUNK_MAX	(SZ_512M + SZ_1G)
>  
> +/**
> + * xe_devcoredump_read - Read data from the Xe device coredump snapshot
> + * @buffer: Destination buffer to copy the coredump data into
> + * @offset: Offset in the coredump data to start reading from
> + * @count: Number of bytes to read
> + * @data: Pointer to the xe_devcoredump structure
> + * @datalen: Length of the data (unused)
> + *
> + * Reads a chunk of the coredump snapshot data into the provided buffer,
> + * handling chunked reads for large coredumps and ensuring proper locking.
> + *
> + * Return: Number of bytes copied on success, or a negative error code on failure.
> + */
>  static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  				   size_t count, void *data, size_t datalen)
>  {
>  	struct xe_devcoredump *coredump = data;
>  	struct xe_devcoredump_snapshot *ss;
> -	ssize_t byte_copied;
> +	ssize_t byte_copied = 0;
>  	u32 chunk_offset;
>  	ssize_t new_chunk_position;
> +	bool pm_acquired = false;
> +	int ret = 0;
>  
>  	if (!coredump)
>  		return -ENODEV;
> @@ -188,19 +203,23 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  	/* Ensure delayed work is captured before continuing */
>  	flush_work(&ss->work);
>  
> -	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
> +	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX) {
>  		xe_pm_runtime_get(gt_to_xe(ss->gt));
> +		pm_acquired = true;
> +	}
>  
>  	mutex_lock(&coredump->lock);
>  
>  	if (!ss->read.buffer) {
>  		mutex_unlock(&coredump->lock);

Delete the above line.

> -		return -ENODEV;
> +		ret = -ENODEV;
> +		goto pm_put;

goto unlock;

>  	}
>  
>  	if (offset >= ss->read.size) {
>  		mutex_unlock(&coredump->lock);

Delete the above line.

> -		return 0;
> +		ret = 0;
> +		goto pm_put;

goto unlock;

>  	}
>  
>  	new_chunk_position = div_u64_rem(offset,
> @@ -223,10 +242,11 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  

unlock:
>  	mutex_unlock(&coredump->lock);
>  
> -	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
> +pm_put:

Drop the above label.

Matt

> +	if (pm_acquired)
>  		xe_pm_runtime_put(gt_to_xe(ss->gt));
>  
> -	return byte_copied;
> +	return byte_copied ? byte_copied : ret;
>  }
>  
>  static void xe_devcoredump_free(void *data)
> -- 
> 2.49.0
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 0/2] Remove unused code in devcoredump_snapshot()
  2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
                   ` (3 preceding siblings ...)
  2025-07-03  6:30 ` ✓ CI.KUnit: success " Patchwork
@ 2025-07-03  7:41 ` Shuicheng Lin
  2025-07-03  7:41   ` [PATCH v2 1/2] drm/xe: " Shuicheng Lin
  2025-07-03  7:41   ` [PATCH v2 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
  2025-07-04  5:56 ` ✗ CI.checkpatch: warning for Remove unused code in devcoredump_snapshot (rev2) Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 2 replies; 17+ messages in thread
From: Shuicheng Lin @ 2025-07-03  7:41 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.brost, Shuicheng Lin


Shuicheng Lin (2):
  drm/xe: Remove unused code in devcoredump_snapshot()
  drm/xe: Release runtime pm for error path of xe_devcoredump_read()

 drivers/gpu/drm/xe/xe_devcoredump.c | 50 ++++++++++++++++-------------
 1 file changed, 28 insertions(+), 22 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 1/2] drm/xe: Remove unused code in devcoredump_snapshot()
  2025-07-03  7:41 ` [PATCH v2 0/2] Remove unused code in devcoredump_snapshot() Shuicheng Lin
@ 2025-07-03  7:41   ` Shuicheng Lin
  2025-07-03 14:38     ` Dong, Zhanjun
  2025-07-03 15:35     ` Matthew Brost
  2025-07-03  7:41   ` [PATCH v2 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
  1 sibling, 2 replies; 17+ messages in thread
From: Shuicheng Lin @ 2025-07-03  7:41 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.brost, Shuicheng Lin, Zhanjun Dong, Rodrigo Vivi

The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture
into dev coredump") has removed the related usage code.
Remove the code to tidy up the function.

Cc: Zhanjun Dong <zhanjun.dong@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
 drivers/gpu/drm/xe/xe_devcoredump.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index 7a8af2311318..94625010abc4 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -313,13 +313,9 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
 {
 	struct xe_devcoredump_snapshot *ss = &coredump->snapshot;
 	struct xe_guc *guc = exec_queue_to_guc(q);
-	u32 adj_logical_mask = q->logical_mask;
-	u32 width_mask = (0x1 << q->width) - 1;
 	const char *process_name = "no process";
-
 	unsigned int fw_ref;
 	bool cookie;
-	int i;
 
 	ss->snapshot_time = ktime_get_real();
 	ss->boot_time = ktime_get_boottime();
@@ -335,14 +331,6 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
 	INIT_WORK(&ss->work, xe_devcoredump_deferred_snap_work);
 
 	cookie = dma_fence_begin_signalling();
-	for (i = 0; q->width > 1 && i < XE_HW_ENGINE_MAX_INSTANCE;) {
-		if (adj_logical_mask & BIT(i)) {
-			adj_logical_mask |= width_mask << i;
-			i += q->width;
-		} else {
-			++i;
-		}
-	}
 
 	/* keep going if fw fails as we still want to save the memory and SW data */
 	fw_ref = xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL);
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v2 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read()
  2025-07-03  7:41 ` [PATCH v2 0/2] Remove unused code in devcoredump_snapshot() Shuicheng Lin
  2025-07-03  7:41   ` [PATCH v2 1/2] drm/xe: " Shuicheng Lin
@ 2025-07-03  7:41   ` Shuicheng Lin
  2025-07-03 15:34     ` Matthew Brost
  1 sibling, 1 reply; 17+ messages in thread
From: Shuicheng Lin @ 2025-07-03  7:41 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.brost, Shuicheng Lin

xe_pm_runtime_put() is missed to be called for the error path in
xe_devcoredump_read().
Add function description comments for xe_devcoredump_read() to help
understand it.

v2: more detail function comments and refine goto logic (Matt)

Fixes: c4a2e5f865b7 ("drm/xe: Add devcoredump chunking")
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
 drivers/gpu/drm/xe/xe_devcoredump.c | 38 +++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index 94625010abc4..203e3038cc81 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -171,14 +171,32 @@ static void xe_devcoredump_snapshot_free(struct xe_devcoredump_snapshot *ss)
 
 #define XE_DEVCOREDUMP_CHUNK_MAX	(SZ_512M + SZ_1G)
 
+/**
+ * xe_devcoredump_read() - Read data from the Xe device coredump snapshot
+ * @buffer: Destination buffer to copy the coredump data into
+ * @offset: Offset in the coredump data to start reading from
+ * @count: Number of bytes to read
+ * @data: Pointer to the xe_devcoredump structure
+ * @datalen: Length of the data (unused)
+ *
+ * Reads a chunk of the coredump snapshot data into the provided buffer.
+ * If the devcoredump is smaller than 1.5 GB (XE_DEVCOREDUMP_CHUNK_MAX),
+ * it is read directly from a pre-written buffer. For larger devcoredumps,
+ * the pre-written buffer must be periodically repopulated from the snapshot
+ * state due to kmalloc size limitations.
+ *
+ * Return: Number of bytes copied on success, or a negative error code on failure.
+ */
 static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 				   size_t count, void *data, size_t datalen)
 {
 	struct xe_devcoredump *coredump = data;
 	struct xe_devcoredump_snapshot *ss;
-	ssize_t byte_copied;
+	ssize_t byte_copied = 0;
 	u32 chunk_offset;
 	ssize_t new_chunk_position;
+	bool pm_needed = false;
+	int ret = 0;
 
 	if (!coredump)
 		return -ENODEV;
@@ -188,20 +206,19 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 	/* Ensure delayed work is captured before continuing */
 	flush_work(&ss->work);
 
-	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
+	pm_needed = ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX;
+	if (pm_needed)
 		xe_pm_runtime_get(gt_to_xe(ss->gt));
 
 	mutex_lock(&coredump->lock);
 
 	if (!ss->read.buffer) {
-		mutex_unlock(&coredump->lock);
-		return -ENODEV;
+		ret = -ENODEV;
+		goto unlock;
 	}
 
-	if (offset >= ss->read.size) {
-		mutex_unlock(&coredump->lock);
-		return 0;
-	}
+	if (offset >= ss->read.size)
+		goto unlock;
 
 	new_chunk_position = div_u64_rem(offset,
 					 XE_DEVCOREDUMP_CHUNK_MAX,
@@ -221,12 +238,13 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 		ss->read.size - offset;
 	memcpy(buffer, ss->read.buffer + chunk_offset, byte_copied);
 
+unlock:
 	mutex_unlock(&coredump->lock);
 
-	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
+	if (pm_needed)
 		xe_pm_runtime_put(gt_to_xe(ss->gt));
 
-	return byte_copied;
+	return byte_copied ? byte_copied : ret;
 }
 
 static void xe_devcoredump_free(void *data)
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v2 1/2] drm/xe: Remove unused code in devcoredump_snapshot()
  2025-07-03  8:32 [PATCH v2 0/2] Remove unused code in devcoredump_snapshot() Shuicheng Lin
@ 2025-07-03  8:32 ` Shuicheng Lin
  0 siblings, 0 replies; 17+ messages in thread
From: Shuicheng Lin @ 2025-07-03  8:32 UTC (permalink / raw)
  To: intel-xe; +Cc: Shuicheng Lin, Zhanjun Dong, Rodrigo Vivi

The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture
into dev coredump") has removed the related usage code.
Remove the code to tidy up the function.

Cc: Zhanjun Dong <zhanjun.dong@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
 drivers/gpu/drm/xe/xe_devcoredump.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index 7a8af2311318..94625010abc4 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -313,13 +313,9 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
 {
 	struct xe_devcoredump_snapshot *ss = &coredump->snapshot;
 	struct xe_guc *guc = exec_queue_to_guc(q);
-	u32 adj_logical_mask = q->logical_mask;
-	u32 width_mask = (0x1 << q->width) - 1;
 	const char *process_name = "no process";
-
 	unsigned int fw_ref;
 	bool cookie;
-	int i;
 
 	ss->snapshot_time = ktime_get_real();
 	ss->boot_time = ktime_get_boottime();
@@ -335,14 +331,6 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
 	INIT_WORK(&ss->work, xe_devcoredump_deferred_snap_work);
 
 	cookie = dma_fence_begin_signalling();
-	for (i = 0; q->width > 1 && i < XE_HW_ENGINE_MAX_INSTANCE;) {
-		if (adj_logical_mask & BIT(i)) {
-			adj_logical_mask |= width_mask << i;
-			i += q->width;
-		} else {
-			++i;
-		}
-	}
 
 	/* keep going if fw fails as we still want to save the memory and SW data */
 	fw_ref = xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL);
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH v2 1/2] drm/xe: Remove unused code in devcoredump_snapshot()
  2025-07-03  7:41   ` [PATCH v2 1/2] drm/xe: " Shuicheng Lin
@ 2025-07-03 14:38     ` Dong, Zhanjun
  2025-07-03 15:35     ` Matthew Brost
  1 sibling, 0 replies; 17+ messages in thread
From: Dong, Zhanjun @ 2025-07-03 14:38 UTC (permalink / raw)
  To: Shuicheng Lin, intel-xe; +Cc: matthew.brost, Rodrigo Vivi

LGTM
Reviewed-by: Zhanjun Dong <zhanjun.dong@intel.com>

Regards,
Zhanjun Dong

On 2025-07-03 3:41 a.m., Shuicheng Lin wrote:
> The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture
> into dev coredump") has removed the related usage code.
> Remove the code to tidy up the function.
> 
> Cc: Zhanjun Dong <zhanjun.dong@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_devcoredump.c | 12 ------------
>   1 file changed, 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index 7a8af2311318..94625010abc4 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
> @@ -313,13 +313,9 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
>   {
>   	struct xe_devcoredump_snapshot *ss = &coredump->snapshot;
>   	struct xe_guc *guc = exec_queue_to_guc(q);
> -	u32 adj_logical_mask = q->logical_mask;
> -	u32 width_mask = (0x1 << q->width) - 1;
>   	const char *process_name = "no process";
> -
>   	unsigned int fw_ref;
>   	bool cookie;
> -	int i;
>   
>   	ss->snapshot_time = ktime_get_real();
>   	ss->boot_time = ktime_get_boottime();
> @@ -335,14 +331,6 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
>   	INIT_WORK(&ss->work, xe_devcoredump_deferred_snap_work);
>   
>   	cookie = dma_fence_begin_signalling();
> -	for (i = 0; q->width > 1 && i < XE_HW_ENGINE_MAX_INSTANCE;) {
> -		if (adj_logical_mask & BIT(i)) {
> -			adj_logical_mask |= width_mask << i;
> -			i += q->width;
> -		} else {
> -			++i;
> -		}
> -	}
>   
>   	/* keep going if fw fails as we still want to save the memory and SW data */
>   	fw_ref = xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL);


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v2 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read()
  2025-07-03  7:41   ` [PATCH v2 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
@ 2025-07-03 15:34     ` Matthew Brost
  0 siblings, 0 replies; 17+ messages in thread
From: Matthew Brost @ 2025-07-03 15:34 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe

On Thu, Jul 03, 2025 at 07:41:08AM +0000, Shuicheng Lin wrote:
> xe_pm_runtime_put() is missed to be called for the error path in
> xe_devcoredump_read().
> Add function description comments for xe_devcoredump_read() to help
> understand it.
> 
> v2: more detail function comments and refine goto logic (Matt)
> 
> Fixes: c4a2e5f865b7 ("drm/xe: Add devcoredump chunking")
> Cc: Matthew Brost <matthew.brost@intel.com>

Reviewed-by: Matthew Brost <matthew.brost@intel.com>

> Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_devcoredump.c | 38 +++++++++++++++++++++--------
>  1 file changed, 28 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index 94625010abc4..203e3038cc81 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
> @@ -171,14 +171,32 @@ static void xe_devcoredump_snapshot_free(struct xe_devcoredump_snapshot *ss)
>  
>  #define XE_DEVCOREDUMP_CHUNK_MAX	(SZ_512M + SZ_1G)
>  
> +/**
> + * xe_devcoredump_read() - Read data from the Xe device coredump snapshot
> + * @buffer: Destination buffer to copy the coredump data into
> + * @offset: Offset in the coredump data to start reading from
> + * @count: Number of bytes to read
> + * @data: Pointer to the xe_devcoredump structure
> + * @datalen: Length of the data (unused)
> + *
> + * Reads a chunk of the coredump snapshot data into the provided buffer.
> + * If the devcoredump is smaller than 1.5 GB (XE_DEVCOREDUMP_CHUNK_MAX),
> + * it is read directly from a pre-written buffer. For larger devcoredumps,
> + * the pre-written buffer must be periodically repopulated from the snapshot
> + * state due to kmalloc size limitations.
> + *
> + * Return: Number of bytes copied on success, or a negative error code on failure.
> + */
>  static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  				   size_t count, void *data, size_t datalen)
>  {
>  	struct xe_devcoredump *coredump = data;
>  	struct xe_devcoredump_snapshot *ss;
> -	ssize_t byte_copied;
> +	ssize_t byte_copied = 0;
>  	u32 chunk_offset;
>  	ssize_t new_chunk_position;
> +	bool pm_needed = false;
> +	int ret = 0;
>  
>  	if (!coredump)
>  		return -ENODEV;
> @@ -188,20 +206,19 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  	/* Ensure delayed work is captured before continuing */
>  	flush_work(&ss->work);
>  
> -	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
> +	pm_needed = ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX;
> +	if (pm_needed)
>  		xe_pm_runtime_get(gt_to_xe(ss->gt));
>  
>  	mutex_lock(&coredump->lock);
>  
>  	if (!ss->read.buffer) {
> -		mutex_unlock(&coredump->lock);
> -		return -ENODEV;
> +		ret = -ENODEV;
> +		goto unlock;
>  	}
>  
> -	if (offset >= ss->read.size) {
> -		mutex_unlock(&coredump->lock);
> -		return 0;
> -	}
> +	if (offset >= ss->read.size)
> +		goto unlock;
>  
>  	new_chunk_position = div_u64_rem(offset,
>  					 XE_DEVCOREDUMP_CHUNK_MAX,
> @@ -221,12 +238,13 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
>  		ss->read.size - offset;
>  	memcpy(buffer, ss->read.buffer + chunk_offset, byte_copied);
>  
> +unlock:
>  	mutex_unlock(&coredump->lock);
>  
> -	if (ss->read.size > XE_DEVCOREDUMP_CHUNK_MAX)
> +	if (pm_needed)
>  		xe_pm_runtime_put(gt_to_xe(ss->gt));
>  
> -	return byte_copied;
> +	return byte_copied ? byte_copied : ret;
>  }
>  
>  static void xe_devcoredump_free(void *data)
> -- 
> 2.49.0
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v2 1/2] drm/xe: Remove unused code in devcoredump_snapshot()
  2025-07-03  7:41   ` [PATCH v2 1/2] drm/xe: " Shuicheng Lin
  2025-07-03 14:38     ` Dong, Zhanjun
@ 2025-07-03 15:35     ` Matthew Brost
  1 sibling, 0 replies; 17+ messages in thread
From: Matthew Brost @ 2025-07-03 15:35 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe, Zhanjun Dong, Rodrigo Vivi

On Thu, Jul 03, 2025 at 07:41:07AM +0000, Shuicheng Lin wrote:
> The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture
> into dev coredump") has removed the related usage code.
> Remove the code to tidy up the function.
> 
> Cc: Zhanjun Dong <zhanjun.dong@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>

Reviewed-by: Matthew Brost <matthew.brost@intel.com>

> ---
>  drivers/gpu/drm/xe/xe_devcoredump.c | 12 ------------
>  1 file changed, 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index 7a8af2311318..94625010abc4 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
> @@ -313,13 +313,9 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
>  {
>  	struct xe_devcoredump_snapshot *ss = &coredump->snapshot;
>  	struct xe_guc *guc = exec_queue_to_guc(q);
> -	u32 adj_logical_mask = q->logical_mask;
> -	u32 width_mask = (0x1 << q->width) - 1;
>  	const char *process_name = "no process";
> -
>  	unsigned int fw_ref;
>  	bool cookie;
> -	int i;
>  
>  	ss->snapshot_time = ktime_get_real();
>  	ss->boot_time = ktime_get_boottime();
> @@ -335,14 +331,6 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
>  	INIT_WORK(&ss->work, xe_devcoredump_deferred_snap_work);
>  
>  	cookie = dma_fence_begin_signalling();
> -	for (i = 0; q->width > 1 && i < XE_HW_ENGINE_MAX_INSTANCE;) {
> -		if (adj_logical_mask & BIT(i)) {
> -			adj_logical_mask |= width_mask << i;
> -			i += q->width;
> -		} else {
> -			++i;
> -		}
> -	}
>  
>  	/* keep going if fw fails as we still want to save the memory and SW data */
>  	fw_ref = xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL);
> -- 
> 2.49.0
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✗ CI.checkpatch: warning for Remove unused code in devcoredump_snapshot (rev2)
  2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
                   ` (4 preceding siblings ...)
  2025-07-03  7:41 ` [PATCH v2 0/2] Remove unused code in devcoredump_snapshot() Shuicheng Lin
@ 2025-07-04  5:56 ` Patchwork
  2025-07-04  5:57 ` ✓ CI.KUnit: success " Patchwork
  2025-07-04 20:01 ` ✗ Xe.CI.Full: failure for Remove unused code in devcoredump_snapshot Patchwork
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-07-04  5:56 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe

== Series Details ==

Series: Remove unused code in devcoredump_snapshot (rev2)
URL   : https://patchwork.freedesktop.org/series/151105/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
f8ff75ae1d2127635239b134695774ed4045d05b
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit a271b573509ba2f5f22fd7e88ca8c8b3b2991bea
Author: Shuicheng Lin <shuicheng.lin@intel.com>
Date:   Thu Jul 3 06:20:27 2025 +0000

    drm/xe: Release runtime pm for error path of xe_devcoredump_read()
    
    xe_pm_runtime_put() is missed to be called for the error path in
    xe_devcoredump_read().
    Add function description comments for xe_devcoredump_read() to help
    understand it.
    
    Fixes: c4a2e5f865b7 ("drm/xe: Add devcoredump chunking")
    Cc: Matthew Brost <matthew.brost@intel.com>
    Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
+ /mt/dim checkpatch e86808d7b548084cca8cba1b44aee135ac0d237b drm-intel
c319fd840511 drm/xe: Remove unused code in devcoredump_snapshot()
-:6: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#6: 
The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture

-:6: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit ecb633646391 ("drm/xe/guc: Plumb GuC-capture into dev coredump")'
#6: 
The deleted code is no longer needed bacause patch ecb633646391("drm/xe/guc: Plumb GuC-capture

total: 1 errors, 1 warnings, 0 checks, 27 lines checked
a271b573509b drm/xe: Release runtime pm for error path of xe_devcoredump_read()



^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ CI.KUnit: success for Remove unused code in devcoredump_snapshot (rev2)
  2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
                   ` (5 preceding siblings ...)
  2025-07-04  5:56 ` ✗ CI.checkpatch: warning for Remove unused code in devcoredump_snapshot (rev2) Patchwork
@ 2025-07-04  5:57 ` Patchwork
  2025-07-04 20:01 ` ✗ Xe.CI.Full: failure for Remove unused code in devcoredump_snapshot Patchwork
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-07-04  5:57 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe

== Series Details ==

Series: Remove unused code in devcoredump_snapshot (rev2)
URL   : https://patchwork.freedesktop.org/series/151105/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[05:56:09] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[05:56:13] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[05:56:40] Starting KUnit Kernel (1/1)...
[05:56:40] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[05:56:40] ================== guc_buf (11 subtests) ===================
[05:56:40] [PASSED] test_smallest
[05:56:40] [PASSED] test_largest
[05:56:40] [PASSED] test_granular
[05:56:40] [PASSED] test_unique
[05:56:40] [PASSED] test_overlap
[05:56:40] [PASSED] test_reusable
[05:56:40] [PASSED] test_too_big
[05:56:40] [PASSED] test_flush
[05:56:40] [PASSED] test_lookup
[05:56:40] [PASSED] test_data
[05:56:40] [PASSED] test_class
[05:56:40] ===================== [PASSED] guc_buf =====================
[05:56:40] =================== guc_dbm (7 subtests) ===================
[05:56:40] [PASSED] test_empty
[05:56:40] [PASSED] test_default
[05:56:40] ======================== test_size  ========================
[05:56:40] [PASSED] 4
[05:56:40] [PASSED] 8
[05:56:40] [PASSED] 32
[05:56:40] [PASSED] 256
[05:56:40] ==================== [PASSED] test_size ====================
[05:56:40] ======================= test_reuse  ========================
[05:56:40] [PASSED] 4
[05:56:40] [PASSED] 8
[05:56:40] [PASSED] 32
[05:56:40] [PASSED] 256
[05:56:40] =================== [PASSED] test_reuse ====================
[05:56:40] =================== test_range_overlap  ====================
[05:56:40] [PASSED] 4
[05:56:40] [PASSED] 8
[05:56:40] [PASSED] 32
[05:56:40] [PASSED] 256
[05:56:40] =============== [PASSED] test_range_overlap ================
[05:56:40] =================== test_range_compact  ====================
[05:56:40] [PASSED] 4
[05:56:40] [PASSED] 8
[05:56:40] [PASSED] 32
[05:56:40] [PASSED] 256
[05:56:40] =============== [PASSED] test_range_compact ================
[05:56:40] ==================== test_range_spare  =====================
[05:56:40] [PASSED] 4
[05:56:40] [PASSED] 8
[05:56:40] [PASSED] 32
[05:56:40] [PASSED] 256
[05:56:40] ================ [PASSED] test_range_spare =================
[05:56:40] ===================== [PASSED] guc_dbm =====================
[05:56:40] =================== guc_idm (6 subtests) ===================
[05:56:40] [PASSED] bad_init
[05:56:40] [PASSED] no_init
[05:56:40] [PASSED] init_fini
[05:56:40] [PASSED] check_used
[05:56:40] [PASSED] check_quota
[05:56:40] [PASSED] check_all
[05:56:40] ===================== [PASSED] guc_idm =====================
[05:56:40] ================== no_relay (3 subtests) ===================
[05:56:40] [PASSED] xe_drops_guc2pf_if_not_ready
[05:56:40] [PASSED] xe_drops_guc2vf_if_not_ready
[05:56:40] [PASSED] xe_rejects_send_if_not_ready
[05:56:40] ==================== [PASSED] no_relay =====================
[05:56:40] ================== pf_relay (14 subtests) ==================
[05:56:40] [PASSED] pf_rejects_guc2pf_too_short
[05:56:40] [PASSED] pf_rejects_guc2pf_too_long
[05:56:40] [PASSED] pf_rejects_guc2pf_no_payload
[05:56:40] [PASSED] pf_fails_no_payload
[05:56:40] [PASSED] pf_fails_bad_origin
[05:56:40] [PASSED] pf_fails_bad_type
[05:56:40] [PASSED] pf_txn_reports_error
[05:56:40] [PASSED] pf_txn_sends_pf2guc
[05:56:40] [PASSED] pf_sends_pf2guc
[05:56:40] [SKIPPED] pf_loopback_nop
[05:56:40] [SKIPPED] pf_loopback_echo
[05:56:40] [SKIPPED] pf_loopback_fail
[05:56:40] [SKIPPED] pf_loopback_busy
[05:56:40] [SKIPPED] pf_loopback_retry
[05:56:40] ==================== [PASSED] pf_relay =====================
[05:56:40] ================== vf_relay (3 subtests) ===================
[05:56:40] [PASSED] vf_rejects_guc2vf_too_short
[05:56:40] [PASSED] vf_rejects_guc2vf_too_long
[05:56:40] [PASSED] vf_rejects_guc2vf_no_payload
[05:56:40] ==================== [PASSED] vf_relay =====================
[05:56:40] ================= pf_service (11 subtests) =================
[05:56:40] [PASSED] pf_negotiate_any
[05:56:40] [PASSED] pf_negotiate_base_match
[05:56:40] [PASSED] pf_negotiate_base_newer
[05:56:40] [PASSED] pf_negotiate_base_next
[05:56:40] [SKIPPED] pf_negotiate_base_older
[05:56:40] [PASSED] pf_negotiate_base_prev
[05:56:40] [PASSED] pf_negotiate_latest_match
[05:56:40] [PASSED] pf_negotiate_latest_newer
[05:56:40] [PASSED] pf_negotiate_latest_next
[05:56:40] [SKIPPED] pf_negotiate_latest_older
[05:56:40] [SKIPPED] pf_negotiate_latest_prev
[05:56:40] =================== [PASSED] pf_service ====================
[05:56:40] ===================== lmtt (1 subtest) =====================
[05:56:40] ======================== test_ops  =========================
[05:56:40] [PASSED] 2-level
[05:56:40] [PASSED] multi-level
[05:56:40] ==================== [PASSED] test_ops =====================
[05:56:40] ====================== [PASSED] lmtt =======================
[05:56:40] =================== xe_mocs (2 subtests) ===================
[05:56:40] ================ xe_live_mocs_kernel_kunit  ================
[05:56:40] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[05:56:40] ================ xe_live_mocs_reset_kunit  =================
[05:56:40] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[05:56:40] ==================== [SKIPPED] xe_mocs =====================
[05:56:40] ================= xe_migrate (2 subtests) ==================
[05:56:40] ================= xe_migrate_sanity_kunit  =================
[05:56:40] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[05:56:40] ================== xe_validate_ccs_kunit  ==================
[05:56:40] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[05:56:40] =================== [SKIPPED] xe_migrate ===================
[05:56:40] ================== xe_dma_buf (1 subtest) ==================
[05:56:40] ==================== xe_dma_buf_kunit  =====================
[05:56:40] ================ [SKIPPED] xe_dma_buf_kunit ================
[05:56:40] =================== [SKIPPED] xe_dma_buf ===================
[05:56:40] ================= xe_bo_shrink (1 subtest) =================
[05:56:40] =================== xe_bo_shrink_kunit  ====================
[05:56:40] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[05:56:40] ================== [SKIPPED] xe_bo_shrink ==================
[05:56:40] ==================== xe_bo (2 subtests) ====================
[05:56:40] ================== xe_ccs_migrate_kunit  ===================
[05:56:40] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[05:56:40] ==================== xe_bo_evict_kunit  ====================
[05:56:40] =============== [SKIPPED] xe_bo_evict_kunit ================
[05:56:40] ===================== [SKIPPED] xe_bo ======================
[05:56:40] ==================== args (11 subtests) ====================
[05:56:40] [PASSED] count_args_test
[05:56:40] [PASSED] call_args_example
[05:56:40] [PASSED] call_args_test
[05:56:40] [PASSED] drop_first_arg_example
[05:56:40] [PASSED] drop_first_arg_test
[05:56:40] [PASSED] first_arg_example
[05:56:40] [PASSED] first_arg_test
[05:56:40] [PASSED] last_arg_example
[05:56:40] [PASSED] last_arg_test
[05:56:40] [PASSED] pick_arg_example
[05:56:40] [PASSED] sep_comma_example
[05:56:40] ====================== [PASSED] args =======================
[05:56:40] =================== xe_pci (3 subtests) ====================
[05:56:40] ==================== check_graphics_ip  ====================
[05:56:40] [PASSED] 12.70 Xe_LPG
[05:56:40] [PASSED] 12.71 Xe_LPG
[05:56:40] [PASSED] 12.74 Xe_LPG+
[05:56:40] [PASSED] 20.01 Xe2_HPG
[05:56:40] [PASSED] 20.02 Xe2_HPG
[05:56:40] [PASSED] 20.04 Xe2_LPG
[05:56:40] [PASSED] 30.00 Xe3_LPG
[05:56:40] [PASSED] 30.01 Xe3_LPG
[05:56:40] [PASSED] 30.03 Xe3_LPG
[05:56:40] ================ [PASSED] check_graphics_ip ================
[05:56:40] ===================== check_media_ip  ======================
[05:56:40] [PASSED] 13.00 Xe_LPM+
[05:56:40] [PASSED] 13.01 Xe2_HPM
[05:56:40] [PASSED] 20.00 Xe2_LPM
[05:56:40] [PASSED] 30.00 Xe3_LPM
[05:56:40] [PASSED] 30.02 Xe3_LPM
[05:56:40] ================= [PASSED] check_media_ip ==================
[05:56:40] ================= check_platform_gt_count  =================
[05:56:40] [PASSED] 0x9A60 (TIGERLAKE)
[05:56:40] [PASSED] 0x9A68 (TIGERLAKE)
[05:56:40] [PASSED] 0x9A70 (TIGERLAKE)
[05:56:40] [PASSED] 0x9A40 (TIGERLAKE)
[05:56:40] [PASSED] 0x9A49 (TIGERLAKE)
[05:56:40] [PASSED] 0x9A59 (TIGERLAKE)
[05:56:40] [PASSED] 0x9A78 (TIGERLAKE)
[05:56:40] [PASSED] 0x9AC0 (TIGERLAKE)
[05:56:40] [PASSED] 0x9AC9 (TIGERLAKE)
[05:56:40] [PASSED] 0x9AD9 (TIGERLAKE)
[05:56:40] [PASSED] 0x9AF8 (TIGERLAKE)
[05:56:40] [PASSED] 0x4C80 (ROCKETLAKE)
[05:56:40] [PASSED] 0x4C8A (ROCKETLAKE)
[05:56:40] [PASSED] 0x4C8B (ROCKETLAKE)
[05:56:40] [PASSED] 0x4C8C (ROCKETLAKE)
[05:56:40] [PASSED] 0x4C90 (ROCKETLAKE)
[05:56:40] [PASSED] 0x4C9A (ROCKETLAKE)
[05:56:40] [PASSED] 0x4680 (ALDERLAKE_S)
[05:56:40] [PASSED] 0x4682 (ALDERLAKE_S)
[05:56:40] [PASSED] 0x4688 (ALDERLAKE_S)
[05:56:40] [PASSED] 0x468A (ALDERLAKE_S)
[05:56:40] [PASSED] 0x468B (ALDERLAKE_S)
[05:56:40] [PASSED] 0x4690 (ALDERLAKE_S)
[05:56:40] [PASSED] 0x4692 (ALDERLAKE_S)
[05:56:40] [PASSED] 0x4693 (ALDERLAKE_S)
[05:56:40] [PASSED] 0x46A0 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46A1 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46A2 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46A3 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46A6 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46A8 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46AA (ALDERLAKE_P)
[05:56:40] [PASSED] 0x462A (ALDERLAKE_P)
[05:56:40] [PASSED] 0x4626 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x4628 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46B0 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46B1 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46B2 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46B3 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46C0 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46C1 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46C2 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46C3 (ALDERLAKE_P)
[05:56:40] [PASSED] 0x46D0 (ALDERLAKE_N)
[05:56:40] [PASSED] 0x46D1 (ALDERLAKE_N)
[05:56:40] [PASSED] 0x46D2 (ALDERLAKE_N)
[05:56:40] [PASSED] 0x46D3 (ALDERLAKE_N)
[05:56:40] [PASSED] 0x46D4 (ALDERLAKE_N)
[05:56:40] [PASSED] 0xA721 (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA7A1 (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA7A9 (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA7AC (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA7AD (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA720 (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA7A0 (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA7A8 (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA7AA (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA7AB (ALDERLAKE_P)
[05:56:40] [PASSED] 0xA780 (ALDERLAKE_S)
[05:56:40] [PASSED] 0xA781 (ALDERLAKE_S)
[05:56:40] [PASSED] 0xA782 (ALDERLAKE_S)
[05:56:40] [PASSED] 0xA783 (ALDERLAKE_S)
[05:56:40] [PASSED] 0xA788 (ALDERLAKE_S)
[05:56:40] [PASSED] 0xA789 (ALDERLAKE_S)
[05:56:40] [PASSED] 0xA78A (ALDERLAKE_S)
[05:56:40] [PASSED] 0xA78B (ALDERLAKE_S)
[05:56:40] [PASSED] 0x4905 (DG1)
[05:56:40] [PASSED] 0x4906 (DG1)
[05:56:40] [PASSED] 0x4907 (DG1)
[05:56:40] [PASSED] 0x4908 (DG1)
[05:56:40] [PASSED] 0x4909 (DG1)
[05:56:40] [PASSED] 0x56C0 (DG2)
[05:56:40] [PASSED] 0x56C2 (DG2)
[05:56:40] [PASSED] 0x56C1 (DG2)
[05:56:40] [PASSED] 0x7D51 (METEORLAKE)
[05:56:40] [PASSED] 0x7DD1 (METEORLAKE)
[05:56:40] [PASSED] 0x7D41 (METEORLAKE)
[05:56:40] [PASSED] 0x7D67 (METEORLAKE)
[05:56:40] [PASSED] 0xB640 (METEORLAKE)
[05:56:40] [PASSED] 0x56A0 (DG2)
[05:56:41] [PASSED] 0x56A1 (DG2)
[05:56:41] [PASSED] 0x56A2 (DG2)
[05:56:41] [PASSED] 0x56BE (DG2)
[05:56:41] [PASSED] 0x56BF (DG2)
[05:56:41] [PASSED] 0x5690 (DG2)
[05:56:41] [PASSED] 0x5691 (DG2)
[05:56:41] [PASSED] 0x5692 (DG2)
[05:56:41] [PASSED] 0x56A5 (DG2)
[05:56:41] [PASSED] 0x56A6 (DG2)
[05:56:41] [PASSED] 0x56B0 (DG2)
[05:56:41] [PASSED] 0x56B1 (DG2)
[05:56:41] [PASSED] 0x56BA (DG2)
[05:56:41] [PASSED] 0x56BB (DG2)
[05:56:41] [PASSED] 0x56BC (DG2)
[05:56:41] [PASSED] 0x56BD (DG2)
[05:56:41] [PASSED] 0x5693 (DG2)
[05:56:41] [PASSED] 0x5694 (DG2)
[05:56:41] [PASSED] 0x5695 (DG2)
[05:56:41] [PASSED] 0x56A3 (DG2)
[05:56:41] [PASSED] 0x56A4 (DG2)
[05:56:41] [PASSED] 0x56B2 (DG2)
[05:56:41] [PASSED] 0x56B3 (DG2)
[05:56:41] [PASSED] 0x5696 (DG2)
[05:56:41] [PASSED] 0x5697 (DG2)
[05:56:41] [PASSED] 0xB69 (PVC)
[05:56:41] [PASSED] 0xB6E (PVC)
[05:56:41] [PASSED] 0xBD4 (PVC)
[05:56:41] [PASSED] 0xBD5 (PVC)
[05:56:41] [PASSED] 0xBD6 (PVC)
[05:56:41] [PASSED] 0xBD7 (PVC)
[05:56:41] [PASSED] 0xBD8 (PVC)
[05:56:41] [PASSED] 0xBD9 (PVC)
[05:56:41] [PASSED] 0xBDA (PVC)
[05:56:41] [PASSED] 0xBDB (PVC)
[05:56:41] [PASSED] 0xBE0 (PVC)
[05:56:41] [PASSED] 0xBE1 (PVC)
[05:56:41] [PASSED] 0xBE5 (PVC)
[05:56:41] [PASSED] 0x7D40 (METEORLAKE)
[05:56:41] [PASSED] 0x7D45 (METEORLAKE)
[05:56:41] [PASSED] 0x7D55 (METEORLAKE)
[05:56:41] [PASSED] 0x7D60 (METEORLAKE)
[05:56:41] [PASSED] 0x7DD5 (METEORLAKE)
[05:56:41] [PASSED] 0x6420 (LUNARLAKE)
[05:56:41] [PASSED] 0x64A0 (LUNARLAKE)
[05:56:41] [PASSED] 0x64B0 (LUNARLAKE)
[05:56:41] [PASSED] 0xE202 (BATTLEMAGE)
[05:56:41] [PASSED] 0xE20B (BATTLEMAGE)
[05:56:41] [PASSED] 0xE20C (BATTLEMAGE)
[05:56:41] [PASSED] 0xE20D (BATTLEMAGE)
[05:56:41] [PASSED] 0xE210 (BATTLEMAGE)
[05:56:41] [PASSED] 0xE211 (BATTLEMAGE)
[05:56:41] [PASSED] 0xE212 (BATTLEMAGE)
[05:56:41] [PASSED] 0xE216 (BATTLEMAGE)
[05:56:41] [PASSED] 0xE220 (BATTLEMAGE)
[05:56:41] [PASSED] 0xE221 (BATTLEMAGE)
[05:56:41] [PASSED] 0xE222 (BATTLEMAGE)
[05:56:41] [PASSED] 0xE223 (BATTLEMAGE)
[05:56:41] [PASSED] 0xB080 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB081 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB082 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB083 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB084 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB085 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB086 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB087 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB08F (PANTHERLAKE)
[05:56:41] [PASSED] 0xB090 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB0A0 (PANTHERLAKE)
[05:56:41] [PASSED] 0xB0B0 (PANTHERLAKE)
[05:56:41] [PASSED] 0xFD80 (PANTHERLAKE)
[05:56:41] [PASSED] 0xFD81 (PANTHERLAKE)
[05:56:41] ============= [PASSED] check_platform_gt_count =============
[05:56:41] ===================== [PASSED] xe_pci ======================
[05:56:41] =================== xe_rtp (2 subtests) ====================
[05:56:41] =============== xe_rtp_process_to_sr_tests  ================
[05:56:41] [PASSED] coalesce-same-reg
[05:56:41] [PASSED] no-match-no-add
[05:56:41] [PASSED] match-or
[05:56:41] [PASSED] match-or-xfail
[05:56:41] [PASSED] no-match-no-add-multiple-rules
[05:56:41] [PASSED] two-regs-two-entries
[05:56:41] [PASSED] clr-one-set-other
[05:56:41] [PASSED] set-field
[05:56:41] [PASSED] conflict-duplicate
[05:56:41] [PASSED] conflict-not-disjoint
[05:56:41] [PASSED] conflict-reg-type
[05:56:41] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[05:56:41] ================== xe_rtp_process_tests  ===================
[05:56:41] [PASSED] active1
[05:56:41] [PASSED] active2
[05:56:41] [PASSED] active-inactive
[05:56:41] [PASSED] inactive-active
[05:56:41] [PASSED] inactive-1st_or_active-inactive
[05:56:41] [PASSED] inactive-2nd_or_active-inactive
[05:56:41] [PASSED] inactive-last_or_active-inactive
[05:56:41] [PASSED] inactive-no_or_active-inactive
[05:56:41] ============== [PASSED] xe_rtp_process_tests ===============
[05:56:41] ===================== [PASSED] xe_rtp ======================
[05:56:41] ==================== xe_wa (1 subtest) =====================
[05:56:41] ======================== xe_wa_gt  =========================
[05:56:41] [PASSED] TIGERLAKE (B0)
[05:56:41] [PASSED] DG1 (A0)
[05:56:41] [PASSED] DG1 (B0)
[05:56:41] [PASSED] ALDERLAKE_S (A0)
[05:56:41] [PASSED] ALDERLAKE_S (B0)
[05:56:41] [PASSED] ALDERLAKE_S (C0)
[05:56:41] [PASSED] ALDERLAKE_S (D0)
[05:56:41] [PASSED] ALDERLAKE_P (A0)
[05:56:41] [PASSED] ALDERLAKE_P (B0)
[05:56:41] [PASSED] ALDERLAKE_P (C0)
[05:56:41] [PASSED] ALDERLAKE_S_RPLS (D0)
[05:56:41] [PASSED] ALDERLAKE_P_RPLU (E0)
[05:56:41] [PASSED] DG2_G10 (C0)
[05:56:41] [PASSED] DG2_G11 (B1)
[05:56:41] [PASSED] DG2_G12 (A1)
[05:56:41] [PASSED] METEORLAKE (g:A0, m:A0)
[05:56:41] [PASSED] METEORLAKE (g:A0, m:A0)
[05:56:41] [PASSED] METEORLAKE (g:A0, m:A0)
[05:56:41] [PASSED] LUNARLAKE (g:A0, m:A0)
[05:56:41] [PASSED] LUNARLAKE (g:B0, m:A0)
[05:56:41] [PASSED] BATTLEMAGE (g:A0, m:A1)
stty: 'standard input': Inappropriate ioctl for device
[05:56:41] ==================== [PASSED] xe_wa_gt =====================
[05:56:41] ====================== [PASSED] xe_wa ======================
[05:56:41] ============================================================
[05:56:41] Testing complete. Ran 296 tests: passed: 280, skipped: 16
[05:56:41] Elapsed time: 31.429s total, 4.221s configuring, 26.891s building, 0.309s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[05:56:41] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[05:56:42] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[05:57:04] Starting KUnit Kernel (1/1)...
[05:57:04] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[05:57:04] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[05:57:04] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[05:57:04] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[05:57:04] =========== drm_validate_clone_mode (2 subtests) ===========
[05:57:04] ============== drm_test_check_in_clone_mode  ===============
[05:57:04] [PASSED] in_clone_mode
[05:57:04] [PASSED] not_in_clone_mode
[05:57:04] ========== [PASSED] drm_test_check_in_clone_mode ===========
[05:57:04] =============== drm_test_check_valid_clones  ===============
[05:57:04] [PASSED] not_in_clone_mode
[05:57:04] [PASSED] valid_clone
[05:57:04] [PASSED] invalid_clone
[05:57:04] =========== [PASSED] drm_test_check_valid_clones ===========
[05:57:04] ============= [PASSED] drm_validate_clone_mode =============
[05:57:04] ============= drm_validate_modeset (1 subtest) =============
[05:57:04] [PASSED] drm_test_check_connector_changed_modeset
[05:57:04] ============== [PASSED] drm_validate_modeset ===============
[05:57:04] ====== drm_test_bridge_get_current_state (2 subtests) ======
[05:57:04] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[05:57:04] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[05:57:04] ======== [PASSED] drm_test_bridge_get_current_state ========
[05:57:04] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[05:57:04] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[05:57:04] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[05:57:04] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[05:57:04] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[05:57:04] ============== drm_bridge_alloc (2 subtests) ===============
[05:57:04] [PASSED] drm_test_drm_bridge_alloc_basic
[05:57:04] [PASSED] drm_test_drm_bridge_alloc_get_put
[05:57:04] ================ [PASSED] drm_bridge_alloc =================
[05:57:04] ================== drm_buddy (7 subtests) ==================
[05:57:04] [PASSED] drm_test_buddy_alloc_limit
[05:57:04] [PASSED] drm_test_buddy_alloc_optimistic
[05:57:04] [PASSED] drm_test_buddy_alloc_pessimistic
[05:57:04] [PASSED] drm_test_buddy_alloc_pathological
[05:57:04] [PASSED] drm_test_buddy_alloc_contiguous
[05:57:04] [PASSED] drm_test_buddy_alloc_clear
[05:57:04] [PASSED] drm_test_buddy_alloc_range_bias
[05:57:04] ==================== [PASSED] drm_buddy ====================
[05:57:04] ============= drm_cmdline_parser (40 subtests) =============
[05:57:04] [PASSED] drm_test_cmdline_force_d_only
[05:57:04] [PASSED] drm_test_cmdline_force_D_only_dvi
[05:57:04] [PASSED] drm_test_cmdline_force_D_only_hdmi
[05:57:04] [PASSED] drm_test_cmdline_force_D_only_not_digital
[05:57:04] [PASSED] drm_test_cmdline_force_e_only
[05:57:04] [PASSED] drm_test_cmdline_res
[05:57:04] [PASSED] drm_test_cmdline_res_vesa
[05:57:04] [PASSED] drm_test_cmdline_res_vesa_rblank
[05:57:04] [PASSED] drm_test_cmdline_res_rblank
[05:57:04] [PASSED] drm_test_cmdline_res_bpp
[05:57:04] [PASSED] drm_test_cmdline_res_refresh
[05:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh
[05:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[05:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[05:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[05:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[05:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[05:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[05:57:04] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[05:57:04] [PASSED] drm_test_cmdline_res_margins_force_on
[05:57:04] [PASSED] drm_test_cmdline_res_vesa_margins
[05:57:04] [PASSED] drm_test_cmdline_name
[05:57:04] [PASSED] drm_test_cmdline_name_bpp
[05:57:04] [PASSED] drm_test_cmdline_name_option
[05:57:04] [PASSED] drm_test_cmdline_name_bpp_option
[05:57:04] [PASSED] drm_test_cmdline_rotate_0
[05:57:04] [PASSED] drm_test_cmdline_rotate_90
[05:57:04] [PASSED] drm_test_cmdline_rotate_180
[05:57:04] [PASSED] drm_test_cmdline_rotate_270
[05:57:04] [PASSED] drm_test_cmdline_hmirror
[05:57:04] [PASSED] drm_test_cmdline_vmirror
[05:57:04] [PASSED] drm_test_cmdline_margin_options
[05:57:04] [PASSED] drm_test_cmdline_multiple_options
[05:57:04] [PASSED] drm_test_cmdline_bpp_extra_and_option
[05:57:04] [PASSED] drm_test_cmdline_extra_and_option
[05:57:04] [PASSED] drm_test_cmdline_freestanding_options
[05:57:04] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[05:57:04] [PASSED] drm_test_cmdline_panel_orientation
[05:57:04] ================ drm_test_cmdline_invalid  =================
[05:57:04] [PASSED] margin_only
[05:57:04] [PASSED] interlace_only
[05:57:04] [PASSED] res_missing_x
[05:57:04] [PASSED] res_missing_y
[05:57:04] [PASSED] res_bad_y
[05:57:04] [PASSED] res_missing_y_bpp
[05:57:04] [PASSED] res_bad_bpp
[05:57:04] [PASSED] res_bad_refresh
[05:57:04] [PASSED] res_bpp_refresh_force_on_off
[05:57:04] [PASSED] res_invalid_mode
[05:57:04] [PASSED] res_bpp_wrong_place_mode
[05:57:04] [PASSED] name_bpp_refresh
[05:57:04] [PASSED] name_refresh
[05:57:04] [PASSED] name_refresh_wrong_mode
[05:57:04] [PASSED] name_refresh_invalid_mode
[05:57:04] [PASSED] rotate_multiple
[05:57:04] [PASSED] rotate_invalid_val
[05:57:04] [PASSED] rotate_truncated
[05:57:04] [PASSED] invalid_option
[05:57:04] [PASSED] invalid_tv_option
[05:57:04] [PASSED] truncated_tv_option
[05:57:04] ============ [PASSED] drm_test_cmdline_invalid =============
[05:57:04] =============== drm_test_cmdline_tv_options  ===============
[05:57:04] [PASSED] NTSC
[05:57:04] [PASSED] NTSC_443
[05:57:04] [PASSED] NTSC_J
[05:57:04] [PASSED] PAL
[05:57:04] [PASSED] PAL_M
[05:57:04] [PASSED] PAL_N
[05:57:04] [PASSED] SECAM
[05:57:04] [PASSED] MONO_525
[05:57:04] [PASSED] MONO_625
[05:57:04] =========== [PASSED] drm_test_cmdline_tv_options ===========
[05:57:04] =============== [PASSED] drm_cmdline_parser ================
[05:57:04] ========== drmm_connector_hdmi_init (20 subtests) ==========
[05:57:04] [PASSED] drm_test_connector_hdmi_init_valid
[05:57:04] [PASSED] drm_test_connector_hdmi_init_bpc_8
[05:57:04] [PASSED] drm_test_connector_hdmi_init_bpc_10
[05:57:04] [PASSED] drm_test_connector_hdmi_init_bpc_12
[05:57:04] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[05:57:04] [PASSED] drm_test_connector_hdmi_init_bpc_null
[05:57:04] [PASSED] drm_test_connector_hdmi_init_formats_empty
[05:57:04] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[05:57:04] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[05:57:04] [PASSED] supported_formats=0x9 yuv420_allowed=1
[05:57:04] [PASSED] supported_formats=0x9 yuv420_allowed=0
[05:57:04] [PASSED] supported_formats=0x3 yuv420_allowed=1
[05:57:04] [PASSED] supported_formats=0x3 yuv420_allowed=0
[05:57:04] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[05:57:04] [PASSED] drm_test_connector_hdmi_init_null_ddc
[05:57:04] [PASSED] drm_test_connector_hdmi_init_null_product
[05:57:04] [PASSED] drm_test_connector_hdmi_init_null_vendor
[05:57:04] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[05:57:04] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[05:57:04] [PASSED] drm_test_connector_hdmi_init_product_valid
[05:57:04] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[05:57:04] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[05:57:04] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[05:57:04] ========= drm_test_connector_hdmi_init_type_valid  =========
[05:57:04] [PASSED] HDMI-A
[05:57:04] [PASSED] HDMI-B
[05:57:04] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[05:57:04] ======== drm_test_connector_hdmi_init_type_invalid  ========
[05:57:04] [PASSED] Unknown
[05:57:04] [PASSED] VGA
[05:57:04] [PASSED] DVI-I
[05:57:04] [PASSED] DVI-D
[05:57:04] [PASSED] DVI-A
[05:57:04] [PASSED] Composite
[05:57:04] [PASSED] SVIDEO
[05:57:04] [PASSED] LVDS
[05:57:04] [PASSED] Component
[05:57:04] [PASSED] DIN
[05:57:04] [PASSED] DP
[05:57:04] [PASSED] TV
[05:57:04] [PASSED] eDP
[05:57:04] [PASSED] Virtual
[05:57:04] [PASSED] DSI
[05:57:04] [PASSED] DPI
[05:57:04] [PASSED] Writeback
[05:57:04] [PASSED] SPI
[05:57:04] [PASSED] USB
[05:57:04] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[05:57:04] ============ [PASSED] drmm_connector_hdmi_init =============
[05:57:04] ============= drmm_connector_init (3 subtests) =============
[05:57:04] [PASSED] drm_test_drmm_connector_init
[05:57:04] [PASSED] drm_test_drmm_connector_init_null_ddc
[05:57:04] ========= drm_test_drmm_connector_init_type_valid  =========
[05:57:04] [PASSED] Unknown
[05:57:04] [PASSED] VGA
[05:57:04] [PASSED] DVI-I
[05:57:04] [PASSED] DVI-D
[05:57:04] [PASSED] DVI-A
[05:57:04] [PASSED] Composite
[05:57:04] [PASSED] SVIDEO
[05:57:04] [PASSED] LVDS
[05:57:04] [PASSED] Component
[05:57:04] [PASSED] DIN
[05:57:04] [PASSED] DP
[05:57:04] [PASSED] HDMI-A
[05:57:04] [PASSED] HDMI-B
[05:57:04] [PASSED] TV
[05:57:04] [PASSED] eDP
[05:57:04] [PASSED] Virtual
[05:57:04] [PASSED] DSI
[05:57:04] [PASSED] DPI
[05:57:04] [PASSED] Writeback
[05:57:04] [PASSED] SPI
[05:57:04] [PASSED] USB
[05:57:04] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[05:57:04] =============== [PASSED] drmm_connector_init ===============
[05:57:04] ========= drm_connector_dynamic_init (6 subtests) ==========
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_init
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_init_properties
[05:57:04] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[05:57:04] [PASSED] Unknown
[05:57:04] [PASSED] VGA
[05:57:04] [PASSED] DVI-I
[05:57:04] [PASSED] DVI-D
[05:57:04] [PASSED] DVI-A
[05:57:04] [PASSED] Composite
[05:57:04] [PASSED] SVIDEO
[05:57:04] [PASSED] LVDS
[05:57:04] [PASSED] Component
[05:57:04] [PASSED] DIN
[05:57:04] [PASSED] DP
[05:57:04] [PASSED] HDMI-A
[05:57:04] [PASSED] HDMI-B
[05:57:04] [PASSED] TV
[05:57:04] [PASSED] eDP
[05:57:04] [PASSED] Virtual
[05:57:04] [PASSED] DSI
[05:57:04] [PASSED] DPI
[05:57:04] [PASSED] Writeback
[05:57:04] [PASSED] SPI
[05:57:04] [PASSED] USB
[05:57:04] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[05:57:04] ======== drm_test_drm_connector_dynamic_init_name  =========
[05:57:04] [PASSED] Unknown
[05:57:04] [PASSED] VGA
[05:57:04] [PASSED] DVI-I
[05:57:04] [PASSED] DVI-D
[05:57:04] [PASSED] DVI-A
[05:57:04] [PASSED] Composite
[05:57:04] [PASSED] SVIDEO
[05:57:04] [PASSED] LVDS
[05:57:04] [PASSED] Component
[05:57:04] [PASSED] DIN
[05:57:04] [PASSED] DP
[05:57:04] [PASSED] HDMI-A
[05:57:04] [PASSED] HDMI-B
[05:57:04] [PASSED] TV
[05:57:04] [PASSED] eDP
[05:57:04] [PASSED] Virtual
[05:57:04] [PASSED] DSI
[05:57:04] [PASSED] DPI
[05:57:04] [PASSED] Writeback
[05:57:04] [PASSED] SPI
[05:57:04] [PASSED] USB
[05:57:04] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[05:57:04] =========== [PASSED] drm_connector_dynamic_init ============
[05:57:04] ==== drm_connector_dynamic_register_early (4 subtests) =====
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[05:57:04] ====== [PASSED] drm_connector_dynamic_register_early =======
[05:57:04] ======= drm_connector_dynamic_register (7 subtests) ========
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[05:57:04] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[05:57:04] ========= [PASSED] drm_connector_dynamic_register ==========
[05:57:04] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[05:57:04] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[05:57:04] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[05:57:04] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[05:57:04] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[05:57:04] ========== drm_test_get_tv_mode_from_name_valid  ===========
[05:57:04] [PASSED] NTSC
[05:57:04] [PASSED] NTSC-443
[05:57:04] [PASSED] NTSC-J
[05:57:04] [PASSED] PAL
[05:57:04] [PASSED] PAL-M
[05:57:04] [PASSED] PAL-N
[05:57:04] [PASSED] SECAM
[05:57:04] [PASSED] Mono
[05:57:04] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[05:57:04] [PASSED] drm_test_get_tv_mode_from_name_truncated
[05:57:04] ============ [PASSED] drm_get_tv_mode_from_name ============
[05:57:04] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[05:57:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[05:57:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[05:57:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[05:57:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[05:57:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[05:57:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[05:57:04] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[05:57:04] [PASSED] VIC 96
[05:57:04] [PASSED] VIC 97
[05:57:04] [PASSED] VIC 101
[05:57:04] [PASSED] VIC 102
[05:57:04] [PASSED] VIC 106
[05:57:04] [PASSED] VIC 107
[05:57:04] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[05:57:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[05:57:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[05:57:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[05:57:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[05:57:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[05:57:04] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[05:57:04] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[05:57:04] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[05:57:04] [PASSED] Automatic
[05:57:04] [PASSED] Full
[05:57:04] [PASSED] Limited 16:235
[05:57:04] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[05:57:04] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[05:57:04] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[05:57:04] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[05:57:04] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[05:57:04] [PASSED] RGB
[05:57:04] [PASSED] YUV 4:2:0
[05:57:04] [PASSED] YUV 4:2:2
[05:57:04] [PASSED] YUV 4:4:4
[05:57:04] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[05:57:04] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[05:57:04] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[05:57:04] ============= drm_damage_helper (21 subtests) ==============
[05:57:04] [PASSED] drm_test_damage_iter_no_damage
[05:57:04] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[05:57:04] [PASSED] drm_test_damage_iter_no_damage_src_moved
[05:57:04] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[05:57:04] [PASSED] drm_test_damage_iter_no_damage_not_visible
[05:57:04] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[05:57:04] [PASSED] drm_test_damage_iter_no_damage_no_fb
[05:57:04] [PASSED] drm_test_damage_iter_simple_damage
[05:57:04] [PASSED] drm_test_damage_iter_single_damage
[05:57:04] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[05:57:04] [PASSED] drm_test_damage_iter_single_damage_outside_src
[05:57:04] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[05:57:04] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[05:57:04] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[05:57:04] [PASSED] drm_test_damage_iter_single_damage_src_moved
[05:57:04] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[05:57:04] [PASSED] drm_test_damage_iter_damage
[05:57:04] [PASSED] drm_test_damage_iter_damage_one_intersect
[05:57:04] [PASSED] drm_test_damage_iter_damage_one_outside
[05:57:04] [PASSED] drm_test_damage_iter_damage_src_moved
[05:57:04] [PASSED] drm_test_damage_iter_damage_not_visible
[05:57:04] ================ [PASSED] drm_damage_helper ================
[05:57:04] ============== drm_dp_mst_helper (3 subtests) ==============
[05:57:04] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[05:57:04] [PASSED] Clock 154000 BPP 30 DSC disabled
[05:57:04] [PASSED] Clock 234000 BPP 30 DSC disabled
[05:57:04] [PASSED] Clock 297000 BPP 24 DSC disabled
[05:57:04] [PASSED] Clock 332880 BPP 24 DSC enabled
[05:57:04] [PASSED] Clock 324540 BPP 24 DSC enabled
[05:57:04] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[05:57:04] ============== drm_test_dp_mst_calc_pbn_div  ===============
[05:57:04] [PASSED] Link rate 2000000 lane count 4
[05:57:04] [PASSED] Link rate 2000000 lane count 2
[05:57:04] [PASSED] Link rate 2000000 lane count 1
[05:57:04] [PASSED] Link rate 1350000 lane count 4
[05:57:04] [PASSED] Link rate 1350000 lane count 2
[05:57:04] [PASSED] Link rate 1350000 lane count 1
[05:57:04] [PASSED] Link rate 1000000 lane count 4
[05:57:04] [PASSED] Link rate 1000000 lane count 2
[05:57:04] [PASSED] Link rate 1000000 lane count 1
[05:57:04] [PASSED] Link rate 810000 lane count 4
[05:57:04] [PASSED] Link rate 810000 lane count 2
[05:57:04] [PASSED] Link rate 810000 lane count 1
[05:57:04] [PASSED] Link rate 540000 lane count 4
[05:57:04] [PASSED] Link rate 540000 lane count 2
[05:57:04] [PASSED] Link rate 540000 lane count 1
[05:57:04] [PASSED] Link rate 270000 lane count 4
[05:57:04] [PASSED] Link rate 270000 lane count 2
[05:57:04] [PASSED] Link rate 270000 lane count 1
[05:57:04] [PASSED] Link rate 162000 lane count 4
[05:57:04] [PASSED] Link rate 162000 lane count 2
[05:57:04] [PASSED] Link rate 162000 lane count 1
[05:57:04] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[05:57:04] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[05:57:04] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[05:57:04] [PASSED] DP_POWER_UP_PHY with port number
[05:57:04] [PASSED] DP_POWER_DOWN_PHY with port number
[05:57:04] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[05:57:04] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[05:57:04] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[05:57:04] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[05:57:04] [PASSED] DP_QUERY_PAYLOAD with port number
[05:57:04] [PASSED] DP_QUERY_PAYLOAD with VCPI
[05:57:04] [PASSED] DP_REMOTE_DPCD_READ with port number
[05:57:04] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[05:57:04] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[05:57:04] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[05:57:04] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[05:57:04] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[05:57:04] [PASSED] DP_REMOTE_I2C_READ with port number
[05:57:04] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[05:57:04] [PASSED] DP_REMOTE_I2C_READ with transactions array
[05:57:04] [PASSED] DP_REMOTE_I2C_WRITE with port number
[05:57:04] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[05:57:04] [PASSED] DP_REMOTE_I2C_WRITE with data array
[05:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[05:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[05:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[05:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[05:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[05:57:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[05:57:04] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[05:57:04] ================ [PASSED] drm_dp_mst_helper ================
[05:57:04] ================== drm_exec (7 subtests) ===================
[05:57:04] [PASSED] sanitycheck
[05:57:04] [PASSED] test_lock
[05:57:04] [PASSED] test_lock_unlock
[05:57:04] [PASSED] test_duplicates
[05:57:04] [PASSED] test_prepare
[05:57:04] [PASSED] test_prepare_array
[05:57:04] [PASSED] test_multiple_loops
[05:57:04] ==================== [PASSED] drm_exec =====================
[05:57:04] =========== drm_format_helper_test (17 subtests) ===========
[05:57:04] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[05:57:04] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[05:57:04] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[05:57:04] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[05:57:04] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[05:57:04] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[05:57:04] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[05:57:04] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[05:57:04] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[05:57:04] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[05:57:04] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[05:57:04] ============== drm_test_fb_xrgb8888_to_mono  ===============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[05:57:04] ==================== drm_test_fb_swab  =====================
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ================ [PASSED] drm_test_fb_swab =================
[05:57:04] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[05:57:04] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[05:57:04] [PASSED] single_pixel_source_buffer
[05:57:04] [PASSED] single_pixel_clip_rectangle
[05:57:04] [PASSED] well_known_colors
[05:57:04] [PASSED] destination_pitch
[05:57:04] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[05:57:04] ================= drm_test_fb_clip_offset  =================
[05:57:04] [PASSED] pass through
[05:57:04] [PASSED] horizontal offset
[05:57:04] [PASSED] vertical offset
[05:57:04] [PASSED] horizontal and vertical offset
[05:57:04] [PASSED] horizontal offset (custom pitch)
[05:57:04] [PASSED] vertical offset (custom pitch)
[05:57:04] [PASSED] horizontal and vertical offset (custom pitch)
[05:57:04] ============= [PASSED] drm_test_fb_clip_offset =============
[05:57:04] =================== drm_test_fb_memcpy  ====================
[05:57:04] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[05:57:04] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[05:57:04] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[05:57:04] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[05:57:04] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[05:57:04] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[05:57:04] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[05:57:04] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[05:57:04] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[05:57:04] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[05:57:04] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[05:57:04] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[05:57:04] =============== [PASSED] drm_test_fb_memcpy ================
[05:57:04] ============= [PASSED] drm_format_helper_test ==============
[05:57:04] ================= drm_format (18 subtests) =================
[05:57:04] [PASSED] drm_test_format_block_width_invalid
[05:57:04] [PASSED] drm_test_format_block_width_one_plane
[05:57:04] [PASSED] drm_test_format_block_width_two_plane
[05:57:04] [PASSED] drm_test_format_block_width_three_plane
[05:57:04] [PASSED] drm_test_format_block_width_tiled
[05:57:04] [PASSED] drm_test_format_block_height_invalid
[05:57:04] [PASSED] drm_test_format_block_height_one_plane
[05:57:04] [PASSED] drm_test_format_block_height_two_plane
[05:57:04] [PASSED] drm_test_format_block_height_three_plane
[05:57:04] [PASSED] drm_test_format_block_height_tiled
[05:57:04] [PASSED] drm_test_format_min_pitch_invalid
[05:57:04] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[05:57:04] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[05:57:04] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[05:57:04] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[05:57:04] [PASSED] drm_test_format_min_pitch_two_plane
[05:57:04] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[05:57:04] [PASSED] drm_test_format_min_pitch_tiled
[05:57:04] =================== [PASSED] drm_format ====================
[05:57:04] ============== drm_framebuffer (10 subtests) ===============
[05:57:04] ========== drm_test_framebuffer_check_src_coords  ==========
[05:57:04] [PASSED] Success: source fits into fb
[05:57:04] [PASSED] Fail: overflowing fb with x-axis coordinate
[05:57:04] [PASSED] Fail: overflowing fb with y-axis coordinate
[05:57:04] [PASSED] Fail: overflowing fb with source width
[05:57:04] [PASSED] Fail: overflowing fb with source height
[05:57:04] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[05:57:04] [PASSED] drm_test_framebuffer_cleanup
[05:57:04] =============== drm_test_framebuffer_create  ===============
[05:57:04] [PASSED] ABGR8888 normal sizes
[05:57:04] [PASSED] ABGR8888 max sizes
[05:57:04] [PASSED] ABGR8888 pitch greater than min required
[05:57:04] [PASSED] ABGR8888 pitch less than min required
[05:57:04] [PASSED] ABGR8888 Invalid width
[05:57:04] [PASSED] ABGR8888 Invalid buffer handle
[05:57:04] [PASSED] No pixel format
[05:57:04] [PASSED] ABGR8888 Width 0
[05:57:04] [PASSED] ABGR8888 Height 0
[05:57:04] [PASSED] ABGR8888 Out of bound height * pitch combination
[05:57:04] [PASSED] ABGR8888 Large buffer offset
[05:57:04] [PASSED] ABGR8888 Buffer offset for inexistent plane
[05:57:04] [PASSED] ABGR8888 Invalid flag
[05:57:04] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[05:57:04] [PASSED] ABGR8888 Valid buffer modifier
[05:57:04] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[05:57:04] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[05:57:04] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[05:57:04] [PASSED] NV12 Normal sizes
[05:57:04] [PASSED] NV12 Max sizes
[05:57:04] [PASSED] NV12 Invalid pitch
[05:57:04] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[05:57:04] [PASSED] NV12 different  modifier per-plane
[05:57:04] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[05:57:04] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[05:57:04] [PASSED] NV12 Modifier for inexistent plane
[05:57:04] [PASSED] NV12 Handle for inexistent plane
[05:57:04] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[05:57:04] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[05:57:04] [PASSED] YVU420 Normal sizes
[05:57:04] [PASSED] YVU420 Max sizes
[05:57:04] [PASSED] YVU420 Invalid pitch
[05:57:04] [PASSED] YVU420 Different pitches
[05:57:04] [PASSED] YVU420 Different buffer offsets/pitches
[05:57:04] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[05:57:04] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[05:57:04] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[05:57:04] [PASSED] YVU420 Valid modifier
[05:57:04] [PASSED] YVU420 Different modifiers per plane
[05:57:04] [PASSED] YVU420 Modifier for inexistent plane
[05:57:04] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[05:57:04] [PASSED] X0L2 Normal sizes
[05:57:04] [PASSED] X0L2 Max sizes
[05:57:04] [PASSED] X0L2 Invalid pitch
[05:57:04] [PASSED] X0L2 Pitch greater than minimum required
[05:57:04] [PASSED] X0L2 Handle for inexistent plane
[05:57:04] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[05:57:04] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[05:57:04] [PASSED] X0L2 Valid modifier
[05:57:04] [PASSED] X0L2 Modifier for inexistent plane
[05:57:04] =========== [PASSED] drm_test_framebuffer_create ===========
[05:57:04] [PASSED] drm_test_framebuffer_free
[05:57:04] [PASSED] drm_test_framebuffer_init
[05:57:04] [PASSED] drm_test_framebuffer_init_bad_format
[05:57:04] [PASSED] drm_test_framebuffer_init_dev_mismatch
[05:57:04] [PASSED] drm_test_framebuffer_lookup
[05:57:04] [PASSED] drm_test_framebuffer_lookup_inexistent
[05:57:04] [PASSED] drm_test_framebuffer_modifiers_not_supported
[05:57:04] ================= [PASSED] drm_framebuffer =================
[05:57:04] ================ drm_gem_shmem (8 subtests) ================
[05:57:04] [PASSED] drm_gem_shmem_test_obj_create
[05:57:04] [PASSED] drm_gem_shmem_test_obj_create_private
[05:57:04] [PASSED] drm_gem_shmem_test_pin_pages
[05:57:04] [PASSED] drm_gem_shmem_test_vmap
[05:57:04] [PASSED] drm_gem_shmem_test_get_pages_sgt
[05:57:04] [PASSED] drm_gem_shmem_test_get_sg_table
[05:57:04] [PASSED] drm_gem_shmem_test_madvise
[05:57:04] [PASSED] drm_gem_shmem_test_purge
[05:57:04] ================== [PASSED] drm_gem_shmem ==================
[05:57:04] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[05:57:04] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420  =======
[05:57:04] [PASSED] Automatic
[05:57:04] [PASSED] Full
[05:57:04] [PASSED] Limited 16:235
[05:57:04] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[05:57:04] [PASSED] drm_test_check_disable_connector
[05:57:04] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[05:57:04] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[05:57:04] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[05:57:04] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[05:57:04] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[05:57:04] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[05:57:04] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[05:57:04] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[05:57:04] [PASSED] drm_test_check_output_bpc_dvi
[05:57:04] [PASSED] drm_test_check_output_bpc_format_vic_1
[05:57:04] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[05:57:04] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[05:57:04] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[05:57:04] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[05:57:04] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[05:57:04] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[05:57:04] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[05:57:04] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[05:57:04] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[05:57:04] [PASSED] drm_test_check_broadcast_rgb_value
[05:57:04] [PASSED] drm_test_check_bpc_8_value
[05:57:04] [PASSED] drm_test_check_bpc_10_value
[05:57:04] [PASSED] drm_test_check_bpc_12_value
[05:57:04] [PASSED] drm_test_check_format_value
[05:57:04] [PASSED] drm_test_check_tmds_char_value
[05:57:04] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[05:57:04] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[05:57:04] [PASSED] drm_test_check_mode_valid
[05:57:04] [PASSED] drm_test_check_mode_valid_reject
[05:57:04] [PASSED] drm_test_check_mode_valid_reject_rate
[05:57:04] [PASSED] drm_test_check_mode_valid_reject_max_clock
[05:57:04] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[05:57:04] ================= drm_managed (2 subtests) =================
[05:57:04] [PASSED] drm_test_managed_release_action
[05:57:04] [PASSED] drm_test_managed_run_action
[05:57:04] =================== [PASSED] drm_managed ===================
[05:57:04] =================== drm_mm (6 subtests) ====================
[05:57:04] [PASSED] drm_test_mm_init
[05:57:04] [PASSED] drm_test_mm_debug
[05:57:04] [PASSED] drm_test_mm_align32
[05:57:04] [PASSED] drm_test_mm_align64
[05:57:04] [PASSED] drm_test_mm_lowest
[05:57:04] [PASSED] drm_test_mm_highest
[05:57:04] ===================== [PASSED] drm_mm ======================
[05:57:04] ============= drm_modes_analog_tv (5 subtests) =============
[05:57:04] [PASSED] drm_test_modes_analog_tv_mono_576i
[05:57:04] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[05:57:04] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[05:57:04] [PASSED] drm_test_modes_analog_tv_pal_576i
[05:57:04] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[05:57:04] =============== [PASSED] drm_modes_analog_tv ===============
[05:57:04] ============== drm_plane_helper (2 subtests) ===============
[05:57:04] =============== drm_test_check_plane_state  ================
[05:57:04] [PASSED] clipping_simple
[05:57:04] [PASSED] clipping_rotate_reflect
[05:57:04] [PASSED] positioning_simple
[05:57:04] [PASSED] upscaling
[05:57:04] [PASSED] downscaling
[05:57:04] [PASSED] rounding1
[05:57:04] [PASSED] rounding2
[05:57:04] [PASSED] rounding3
[05:57:04] [PASSED] rounding4
[05:57:04] =========== [PASSED] drm_test_check_plane_state ============
[05:57:04] =========== drm_test_check_invalid_plane_state  ============
[05:57:04] [PASSED] positioning_invalid
[05:57:04] [PASSED] upscaling_invalid
[05:57:04] [PASSED] downscaling_invalid
[05:57:04] ======= [PASSED] drm_test_check_invalid_plane_state ========
[05:57:04] ================ [PASSED] drm_plane_helper =================
[05:57:04] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[05:57:04] ====== drm_test_connector_helper_tv_get_modes_check  =======
[05:57:04] [PASSED] None
[05:57:04] [PASSED] PAL
[05:57:04] [PASSED] NTSC
[05:57:04] [PASSED] Both, NTSC Default
[05:57:04] [PASSED] Both, PAL Default
[05:57:04] [PASSED] Both, NTSC Default, with PAL on command-line
[05:57:04] [PASSED] Both, PAL Default, with NTSC on command-line
[05:57:04] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[05:57:04] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[05:57:04] ================== drm_rect (9 subtests) ===================
[05:57:04] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[05:57:04] [PASSED] drm_test_rect_clip_scaled_not_clipped
[05:57:04] [PASSED] drm_test_rect_clip_scaled_clipped
[05:57:04] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[05:57:04] ================= drm_test_rect_intersect  =================
[05:57:04] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[05:57:04] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[05:57:04] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[05:57:04] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[05:57:04] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[05:57:04] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[05:57:04] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[05:57:04] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[05:57:04] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[05:57:04] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[05:57:04] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[05:57:04] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[05:57:04] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[05:57:04] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[05:57:04] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[05:57:04] ============= [PASSED] drm_test_rect_intersect =============
[05:57:04] ================ drm_test_rect_calc_hscale  ================
[05:57:04] [PASSED] normal use
[05:57:04] [PASSED] out of max range
[05:57:04] [PASSED] out of min range
[05:57:04] [PASSED] zero dst
[05:57:04] [PASSED] negative src
[05:57:04] [PASSED] negative dst
[05:57:04] ============ [PASSED] drm_test_rect_calc_hscale ============
[05:57:04] ================ drm_test_rect_calc_vscale  ================
[05:57:04] [PASSED] normal use
[05:57:04] [PASSED] out of max range
[05:57:04] [PASSED] out of min range
[05:57:04] [PASSED] zero dst
[05:57:04] [PASSED] negative src
[05:57:04] [PASSED] negative dst
[05:57:04] ============ [PASSED] drm_test_rect_calc_vscale ============
[05:57:04] ================== drm_test_rect_rotate  ===================
[05:57:04] [PASSED] reflect-x
[05:57:04] [PASSED] reflect-y
[05:57:04] [PASSED] rotate-0
[05:57:04] [PASSED] rotate-90
[05:57:04] [PASSED] rotate-180
[05:57:04] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[05:57:04] ============== [PASSED] drm_test_rect_rotate ===============
[05:57:04] ================ drm_test_rect_rotate_inv  =================
[05:57:04] [PASSED] reflect-x
[05:57:04] [PASSED] reflect-y
[05:57:04] [PASSED] rotate-0
[05:57:04] [PASSED] rotate-90
[05:57:04] [PASSED] rotate-180
[05:57:04] [PASSED] rotate-270
[05:57:04] ============ [PASSED] drm_test_rect_rotate_inv =============
[05:57:04] ==================== [PASSED] drm_rect =====================
[05:57:04] ============ drm_sysfb_modeset_test (1 subtest) ============
[05:57:04] ============ drm_test_sysfb_build_fourcc_list  =============
[05:57:04] [PASSED] no native formats
[05:57:04] [PASSED] XRGB8888 as native format
[05:57:04] [PASSED] remove duplicates
[05:57:04] [PASSED] convert alpha formats
[05:57:04] [PASSED] random formats
[05:57:04] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[05:57:04] ============= [PASSED] drm_sysfb_modeset_test ==============
[05:57:04] ============================================================
[05:57:04] Testing complete. Ran 616 tests: passed: 616
[05:57:04] Elapsed time: 23.524s total, 1.657s configuring, 21.700s building, 0.149s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[05:57:04] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[05:57:06] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[05:57:14] Starting KUnit Kernel (1/1)...
[05:57:14] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[05:57:14] ================= ttm_device (5 subtests) ==================
[05:57:14] [PASSED] ttm_device_init_basic
[05:57:14] [PASSED] ttm_device_init_multiple
[05:57:14] [PASSED] ttm_device_fini_basic
[05:57:14] [PASSED] ttm_device_init_no_vma_man
[05:57:14] ================== ttm_device_init_pools  ==================
[05:57:14] [PASSED] No DMA allocations, no DMA32 required
[05:57:14] [PASSED] DMA allocations, DMA32 required
[05:57:14] [PASSED] No DMA allocations, DMA32 required
[05:57:14] [PASSED] DMA allocations, no DMA32 required
[05:57:14] ============== [PASSED] ttm_device_init_pools ==============
[05:57:14] =================== [PASSED] ttm_device ====================
[05:57:14] ================== ttm_pool (8 subtests) ===================
[05:57:14] ================== ttm_pool_alloc_basic  ===================
[05:57:14] [PASSED] One page
[05:57:14] [PASSED] More than one page
[05:57:14] [PASSED] Above the allocation limit
[05:57:14] [PASSED] One page, with coherent DMA mappings enabled
[05:57:14] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[05:57:14] ============== [PASSED] ttm_pool_alloc_basic ===============
[05:57:14] ============== ttm_pool_alloc_basic_dma_addr  ==============
[05:57:14] [PASSED] One page
[05:57:14] [PASSED] More than one page
[05:57:14] [PASSED] Above the allocation limit
[05:57:14] [PASSED] One page, with coherent DMA mappings enabled
[05:57:14] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[05:57:14] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[05:57:14] [PASSED] ttm_pool_alloc_order_caching_match
[05:57:14] [PASSED] ttm_pool_alloc_caching_mismatch
[05:57:14] [PASSED] ttm_pool_alloc_order_mismatch
[05:57:14] [PASSED] ttm_pool_free_dma_alloc
[05:57:14] [PASSED] ttm_pool_free_no_dma_alloc
[05:57:14] [PASSED] ttm_pool_fini_basic
[05:57:14] ==================== [PASSED] ttm_pool =====================
[05:57:14] ================ ttm_resource (8 subtests) =================
[05:57:14] ================= ttm_resource_init_basic  =================
[05:57:14] [PASSED] Init resource in TTM_PL_SYSTEM
[05:57:14] [PASSED] Init resource in TTM_PL_VRAM
[05:57:14] [PASSED] Init resource in a private placement
[05:57:14] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[05:57:14] ============= [PASSED] ttm_resource_init_basic =============
[05:57:14] [PASSED] ttm_resource_init_pinned
[05:57:14] [PASSED] ttm_resource_fini_basic
[05:57:14] [PASSED] ttm_resource_manager_init_basic
[05:57:14] [PASSED] ttm_resource_manager_usage_basic
[05:57:14] [PASSED] ttm_resource_manager_set_used_basic
[05:57:14] [PASSED] ttm_sys_man_alloc_basic
[05:57:14] [PASSED] ttm_sys_man_free_basic
[05:57:14] ================== [PASSED] ttm_resource ===================
[05:57:14] =================== ttm_tt (15 subtests) ===================
[05:57:14] ==================== ttm_tt_init_basic  ====================
[05:57:14] [PASSED] Page-aligned size
[05:57:14] [PASSED] Extra pages requested
[05:57:14] ================ [PASSED] ttm_tt_init_basic ================
[05:57:14] [PASSED] ttm_tt_init_misaligned
[05:57:14] [PASSED] ttm_tt_fini_basic
[05:57:14] [PASSED] ttm_tt_fini_sg
[05:57:14] [PASSED] ttm_tt_fini_shmem
[05:57:14] [PASSED] ttm_tt_create_basic
[05:57:14] [PASSED] ttm_tt_create_invalid_bo_type
[05:57:14] [PASSED] ttm_tt_create_ttm_exists
[05:57:14] [PASSED] ttm_tt_create_failed
[05:57:14] [PASSED] ttm_tt_destroy_basic
[05:57:14] [PASSED] ttm_tt_populate_null_ttm
[05:57:14] [PASSED] ttm_tt_populate_populated_ttm
[05:57:14] [PASSED] ttm_tt_unpopulate_basic
[05:57:14] [PASSED] ttm_tt_unpopulate_empty_ttm
[05:57:14] [PASSED] ttm_tt_swapin_basic
[05:57:14] ===================== [PASSED] ttm_tt ======================
[05:57:14] =================== ttm_bo (14 subtests) ===================
[05:57:14] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[05:57:14] [PASSED] Cannot be interrupted and sleeps
[05:57:14] [PASSED] Cannot be interrupted, locks straight away
[05:57:14] [PASSED] Can be interrupted, sleeps
[05:57:14] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[05:57:14] [PASSED] ttm_bo_reserve_locked_no_sleep
[05:57:14] [PASSED] ttm_bo_reserve_no_wait_ticket
[05:57:14] [PASSED] ttm_bo_reserve_double_resv
[05:57:14] [PASSED] ttm_bo_reserve_interrupted
[05:57:14] [PASSED] ttm_bo_reserve_deadlock
[05:57:14] [PASSED] ttm_bo_unreserve_basic
[05:57:14] [PASSED] ttm_bo_unreserve_pinned
[05:57:14] [PASSED] ttm_bo_unreserve_bulk
[05:57:14] [PASSED] ttm_bo_put_basic
[05:57:14] [PASSED] ttm_bo_put_shared_resv
[05:57:14] [PASSED] ttm_bo_pin_basic
[05:57:14] [PASSED] ttm_bo_pin_unpin_resource
[05:57:14] [PASSED] ttm_bo_multiple_pin_one_unpin
[05:57:14] ===================== [PASSED] ttm_bo ======================
[05:57:14] ============== ttm_bo_validate (22 subtests) ===============
[05:57:14] ============== ttm_bo_init_reserved_sys_man  ===============
[05:57:14] [PASSED] Buffer object for userspace
[05:57:14] [PASSED] Kernel buffer object
[05:57:14] [PASSED] Shared buffer object
[05:57:14] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[05:57:14] ============== ttm_bo_init_reserved_mock_man  ==============
[05:57:14] [PASSED] Buffer object for userspace
[05:57:14] [PASSED] Kernel buffer object
[05:57:14] [PASSED] Shared buffer object
[05:57:14] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[05:57:14] [PASSED] ttm_bo_init_reserved_resv
[05:57:14] ================== ttm_bo_validate_basic  ==================
[05:57:14] [PASSED] Buffer object for userspace
[05:57:14] [PASSED] Kernel buffer object
[05:57:14] [PASSED] Shared buffer object
[05:57:14] ============== [PASSED] ttm_bo_validate_basic ==============
[05:57:14] [PASSED] ttm_bo_validate_invalid_placement
[05:57:14] ============= ttm_bo_validate_same_placement  ==============
[05:57:14] [PASSED] System manager
[05:57:14] [PASSED] VRAM manager
[05:57:14] ========= [PASSED] ttm_bo_validate_same_placement ==========
[05:57:14] [PASSED] ttm_bo_validate_failed_alloc
[05:57:14] [PASSED] ttm_bo_validate_pinned
[05:57:14] [PASSED] ttm_bo_validate_busy_placement
[05:57:14] ================ ttm_bo_validate_multihop  =================
[05:57:14] [PASSED] Buffer object for userspace
[05:57:14] [PASSED] Kernel buffer object
[05:57:14] [PASSED] Shared buffer object
[05:57:14] ============ [PASSED] ttm_bo_validate_multihop =============
[05:57:14] ========== ttm_bo_validate_no_placement_signaled  ==========
[05:57:14] [PASSED] Buffer object in system domain, no page vector
[05:57:14] [PASSED] Buffer object in system domain with an existing page vector
[05:57:14] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[05:57:14] ======== ttm_bo_validate_no_placement_not_signaled  ========
[05:57:14] [PASSED] Buffer object for userspace
[05:57:14] [PASSED] Kernel buffer object
[05:57:14] [PASSED] Shared buffer object
[05:57:14] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[05:57:14] [PASSED] ttm_bo_validate_move_fence_signaled
[05:57:14] ========= ttm_bo_validate_move_fence_not_signaled  =========
[05:57:14] [PASSED] Waits for GPU
[05:57:14] [PASSED] Tries to lock straight away
[05:57:14] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[05:57:14] [PASSED] ttm_bo_validate_swapout
[05:57:14] [PASSED] ttm_bo_validate_happy_evict
[05:57:14] [PASSED] ttm_bo_validate_all_pinned_evict
[05:57:14] [PASSED] ttm_bo_validate_allowed_only_evict
[05:57:14] [PASSED] ttm_bo_validate_deleted_evict
[05:57:14] [PASSED] ttm_bo_validate_busy_domain_evict
[05:57:14] [PASSED] ttm_bo_validate_evict_gutting
[05:57:14] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[05:57:14] ================= [PASSED] ttm_bo_validate =================
[05:57:14] ============================================================
[05:57:14] Testing complete. Ran 102 tests: passed: 102
[05:57:14] Elapsed time: 9.930s total, 1.590s configuring, 7.723s building, 0.532s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✗ Xe.CI.Full: failure for Remove unused code in devcoredump_snapshot
  2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
                   ` (6 preceding siblings ...)
  2025-07-04  5:57 ` ✓ CI.KUnit: success " Patchwork
@ 2025-07-04 20:01 ` Patchwork
  7 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-07-04 20:01 UTC (permalink / raw)
  To: Shuicheng Lin; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 373 bytes --]

== Series Details ==

Series: Remove unused code in devcoredump_snapshot
URL   : https://patchwork.freedesktop.org/series/151105/
State : failure

== Summary ==

ERROR: The runconfig 'xe-3339-d04a54cd3b99001adbc4cd3305b44f9f3e658407_FULL' does not exist in the database

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-151105v1/index.html

[-- Attachment #2: Type: text/html, Size: 938 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-07-04 20:01 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-03  6:20 [PATCH 0/2] Remove unused code in devcoredump_snapshot Shuicheng Lin
2025-07-03  6:20 ` [PATCH 1/2] drm/xe: Remove unused code in devcoredump_snapshot() Shuicheng Lin
2025-07-03  6:20 ` [PATCH 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
2025-07-03  6:57   ` Matthew Brost
2025-07-03  7:01   ` Matthew Brost
2025-07-03  6:29 ` ✗ CI.checkpatch: warning for Remove unused code in devcoredump_snapshot Patchwork
2025-07-03  6:30 ` ✓ CI.KUnit: success " Patchwork
2025-07-03  7:41 ` [PATCH v2 0/2] Remove unused code in devcoredump_snapshot() Shuicheng Lin
2025-07-03  7:41   ` [PATCH v2 1/2] drm/xe: " Shuicheng Lin
2025-07-03 14:38     ` Dong, Zhanjun
2025-07-03 15:35     ` Matthew Brost
2025-07-03  7:41   ` [PATCH v2 2/2] drm/xe: Release runtime pm for error path of xe_devcoredump_read() Shuicheng Lin
2025-07-03 15:34     ` Matthew Brost
2025-07-04  5:56 ` ✗ CI.checkpatch: warning for Remove unused code in devcoredump_snapshot (rev2) Patchwork
2025-07-04  5:57 ` ✓ CI.KUnit: success " Patchwork
2025-07-04 20:01 ` ✗ Xe.CI.Full: failure for Remove unused code in devcoredump_snapshot Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2025-07-03  8:32 [PATCH v2 0/2] Remove unused code in devcoredump_snapshot() Shuicheng Lin
2025-07-03  8:32 ` [PATCH v2 1/2] drm/xe: " Shuicheng Lin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox