public inbox for intel-xe@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery
@ 2026-02-06 14:53 Tomasz Lis
  2026-02-06 14:53 ` [PATCH v1 1/4] drm/xe/queue: Call fini on exec queue creation fail Tomasz Lis
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Tomasz Lis @ 2026-02-06 14:53 UTC (permalink / raw)
  To: intel-xe
  Cc: Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Matthew Brost, Lucas De Marchi

Fix a few issues which sporadically happen due to a race between
post-migration fixups procedure, and exec queue creation routine.

Tests which create a lot of exec queues were sporadically failing
due to one of LRCs having its state within VRAM damaged. This series
fixes most of such issues, by prolonging wait for fixups within EQ
creation, and also re-creating the one LRC whose creation happened
at the time of VF switch.


Tomasz Lis (4):
  drm/xe/queue: Call fini on exec queue creation fail
  drm/xe/vf: Avoid LRC being freed while applying fixups
  drm/xe/vf: Wait for default LRCs fixups before using
  drm/xe/vf: Redo LRC creation while in VF fixups

 drivers/gpu/drm/xe/xe_exec_queue.c        | 13 +++++++--
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c       | 32 ++++++++++++++---------
 drivers/gpu/drm/xe/xe_gt_sriov_vf.h       |  3 ++-
 drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h |  4 +--
 4 files changed, 34 insertions(+), 18 deletions(-)

-- 
2.25.1


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

* [PATCH v1 1/4] drm/xe/queue: Call fini on exec queue creation fail
  2026-02-06 14:53 [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery Tomasz Lis
@ 2026-02-06 14:53 ` Tomasz Lis
  2026-02-06 17:38   ` Matthew Brost
  2026-02-06 14:53 ` [PATCH v1 2/4] drm/xe/vf: Avoid LRC being freed while applying fixups Tomasz Lis
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Tomasz Lis @ 2026-02-06 14:53 UTC (permalink / raw)
  To: intel-xe
  Cc: Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Matthew Brost, Lucas De Marchi

Every call to queue init should have a corresponding fini call.
Skipping this would mean skipping removal of the queue from GuC list
(which is part of guc_id allocation). A damaged queue stored in
exec_queue_lookup list would lead to invalid memory reference,
sooner or later.

Call fini to free guc_id. This must be done before any internal
LRCs are freed.

Fixes: 3c1fa4aa60b1 ("drm/xe: Move queue init before LRC creation")
Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
---
 drivers/gpu/drm/xe/xe_exec_queue.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 66d0e10ee2c4..42849be46166 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -324,6 +324,8 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
 	return 0;
 
 err_lrc:
+	q->ops->fini(q);
+
 	for (i = i - 1; i >= 0; --i)
 		xe_lrc_put(q->lrc[i]);
 	return err;
-- 
2.25.1


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

* [PATCH v1 2/4] drm/xe/vf: Avoid LRC being freed while applying fixups
  2026-02-06 14:53 [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery Tomasz Lis
  2026-02-06 14:53 ` [PATCH v1 1/4] drm/xe/queue: Call fini on exec queue creation fail Tomasz Lis
@ 2026-02-06 14:53 ` Tomasz Lis
  2026-02-06 17:46   ` Matthew Brost
  2026-02-06 14:53 ` [PATCH v1 3/4] drm/xe/vf: Wait for default LRCs fixups before using Tomasz Lis
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Tomasz Lis @ 2026-02-06 14:53 UTC (permalink / raw)
  To: intel-xe
  Cc: Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Matthew Brost, Lucas De Marchi

There is a small but non-zero chance that fixups are running on
a context during teardown. The chances are decreased by starting
the teardown by releasing guc_id, but remain non-zero.
On the other hand the sync between fixups and context creation
drastically increases chance for such parallel teardown if
context creation fails.

Prevent LRC teardown in parallel with fixups by getting a reference.

Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
---
 drivers/gpu/drm/xe/xe_exec_queue.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 42849be46166..e9396ad3390a 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -1669,10 +1669,11 @@ int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch)
 		lrc = READ_ONCE(q->lrc[i]);
 		if (!lrc)
 			continue;
-
+		xe_lrc_get(lrc);
 		xe_lrc_update_memirq_regs_with_address(lrc, q->hwe, scratch);
 		xe_lrc_update_hwctx_regs_with_address(lrc);
 		err = xe_lrc_setup_wa_bb_with_scratch(lrc, q->hwe, scratch);
+		xe_lrc_put(lrc);
 		if (err)
 			break;
 	}
-- 
2.25.1


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

* [PATCH v1 3/4] drm/xe/vf: Wait for default LRCs fixups before using
  2026-02-06 14:53 [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery Tomasz Lis
  2026-02-06 14:53 ` [PATCH v1 1/4] drm/xe/queue: Call fini on exec queue creation fail Tomasz Lis
  2026-02-06 14:53 ` [PATCH v1 2/4] drm/xe/vf: Avoid LRC being freed while applying fixups Tomasz Lis
@ 2026-02-06 14:53 ` Tomasz Lis
  2026-02-06 18:11   ` Matthew Brost
  2026-02-06 14:53 ` [PATCH v1 4/4] drm/xe/vf: Redo LRC creation while in VF fixups Tomasz Lis
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Tomasz Lis @ 2026-02-06 14:53 UTC (permalink / raw)
  To: intel-xe
  Cc: Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Matthew Brost, Lucas De Marchi

When a context is being created during save/restore, the LRC creation
needs to wait for GGTT address space to be shifted. But it also needs
to have fixed default LRCs. This is mandatory to avoid the situation
where LRC will be created based on data from before the fixups, but
reference within exec queue will be set too late for fixups.

This fixes an issue where contexts created during save/restore have
a large chance of having one unfixed LRC, due to the xe_lrc_create()
being synced for equal start to race with default LRC fixups.

Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
---
 drivers/gpu/drm/xe/xe_exec_queue.c        |  2 +-
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c       | 24 +++++++++++------------
 drivers/gpu/drm/xe/xe_gt_sriov_vf.h       |  2 +-
 drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h |  4 ++--
 4 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index e9396ad3390a..6eb561086e1c 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -309,7 +309,7 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
 	for (i = 0; i < q->width; ++i) {
 		struct xe_lrc *lrc;
 
-		xe_gt_sriov_vf_wait_valid_ggtt(q->gt);
+		xe_gt_sriov_vf_wait_valid_default_lrc(q->gt);
 		lrc = xe_lrc_create(q->hwe, q->vm, q->replay_state,
 				    xe_lrc_ring_size(), q->msix_vec, flags);
 		if (IS_ERR(lrc)) {
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
index 30e8c2cf5f09..1edccee84c76 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
@@ -529,12 +529,6 @@ static int vf_get_ggtt_info(struct xe_gt *gt)
 		xe_tile_sriov_vf_fixup_ggtt_nodes_locked(gt_to_tile(gt), shift);
 	}
 
-	if (xe_sriov_vf_migration_supported(gt_to_xe(gt))) {
-		WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false);
-		smp_wmb();	/* Ensure above write visible before wake */
-		wake_up_all(&gt->sriov.vf.migration.wq);
-	}
-
 	return 0;
 }
 
@@ -837,6 +831,10 @@ static void xe_gt_sriov_vf_default_lrcs_hwsp_rebase(struct xe_gt *gt)
 
 	for_each_hw_engine(hwe, gt, id)
 		xe_default_lrc_update_memirq_regs_with_address(hwe);
+
+	WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, false);
+	smp_wmb();	/* Ensure above write visible before wake */
+	wake_up_all(&gt->sriov.vf.migration.wq);
 }
 
 static void vf_start_migration_recovery(struct xe_gt *gt)
@@ -851,7 +849,7 @@ static void vf_start_migration_recovery(struct xe_gt *gt)
 	    !gt->sriov.vf.migration.recovery_teardown) {
 		gt->sriov.vf.migration.recovery_queued = true;
 		WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, true);
-		WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, true);
+		WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, true);
 		smp_wmb();	/* Ensure above writes visible before wake */
 
 		xe_guc_ct_wake_waiters(&gt->uc.guc.ct);
@@ -1296,7 +1294,7 @@ static void vf_post_migration_abort(struct xe_gt *gt)
 {
 	spin_lock_irq(&gt->sriov.vf.migration.lock);
 	WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, false);
-	WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false);
+	WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, false);
 	spin_unlock_irq(&gt->sriov.vf.migration.lock);
 
 	wake_up_all(&gt->sriov.vf.migration.wq);
@@ -1492,7 +1490,7 @@ bool xe_gt_sriov_vf_recovery_pending(struct xe_gt *gt)
 	return READ_ONCE(gt->sriov.vf.migration.recovery_inprogress);
 }
 
-static bool vf_valid_ggtt(struct xe_gt *gt)
+static bool vf_valid_default_lrc(struct xe_gt *gt)
 {
 	struct xe_memirq *memirq = &gt_to_tile(gt)->memirq;
 	bool irq_pending = xe_device_uses_memirq(gt_to_xe(gt)) &&
@@ -1500,17 +1498,17 @@ static bool vf_valid_ggtt(struct xe_gt *gt)
 
 	xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt)));
 
-	if (irq_pending || READ_ONCE(gt->sriov.vf.migration.ggtt_need_fixes))
+	if (irq_pending || READ_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes))
 		return false;
 
 	return true;
 }
 
 /**
- * xe_gt_sriov_vf_wait_valid_ggtt() - VF wait for valid GGTT addresses
+ * xe_gt_sriov_vf_wait_valid_default_lrc() - wait for valid GGTT refs in default LRCs
  * @gt: the &xe_gt
  */
-void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
+void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt)
 {
 	int ret;
 
@@ -1519,7 +1517,7 @@ void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
 		return;
 
 	ret = wait_event_interruptible_timeout(gt->sriov.vf.migration.wq,
-					       vf_valid_ggtt(gt),
+					       vf_valid_default_lrc(gt),
 					       HZ * 5);
 	xe_gt_WARN_ON(gt, !ret);
 }
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
index 7d97189c2d3d..70232dc38f9a 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
@@ -39,6 +39,6 @@ void xe_gt_sriov_vf_print_config(struct xe_gt *gt, struct drm_printer *p);
 void xe_gt_sriov_vf_print_runtime(struct xe_gt *gt, struct drm_printer *p);
 void xe_gt_sriov_vf_print_version(struct xe_gt *gt, struct drm_printer *p);
 
-void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt);
+void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt);
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
index 4ef881b9b662..8be181bf3cf3 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
@@ -73,8 +73,8 @@ struct xe_gt_sriov_vf_migration {
 	bool recovery_queued;
 	/** @recovery_inprogress: VF post migration recovery in progress */
 	bool recovery_inprogress;
-	/** @ggtt_need_fixes: VF GGTT needs fixes */
-	bool ggtt_need_fixes;
+	/** @default_lrcs_need_fixes: GGTT refs within default LRCs need fixes */
+	bool default_lrcs_need_fixes;
 };
 
 /**
-- 
2.25.1


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

* [PATCH v1 4/4] drm/xe/vf: Redo LRC creation while in VF fixups
  2026-02-06 14:53 [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery Tomasz Lis
                   ` (2 preceding siblings ...)
  2026-02-06 14:53 ` [PATCH v1 3/4] drm/xe/vf: Wait for default LRCs fixups before using Tomasz Lis
@ 2026-02-06 14:53 ` Tomasz Lis
  2026-02-06 14:56 ` ✓ CI.KUnit: success for drm/xe/vf: Fix exec queue creation during post-migration recovery Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Tomasz Lis @ 2026-02-06 14:53 UTC (permalink / raw)
  To: intel-xe
  Cc: Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Matthew Brost, Lucas De Marchi

If the xe module within a VM was creating a new LRC during
save/restore, this LRC will be invalid. The fixups procedure
may not be able to reach it, as there will be a race to add
the new LRC reference to an exec queue.

Testing suggests that even if new LRC which was being created
during VM migration is added to EQ in time for fixups, said
LRC may still remain damaged.

Free the incorrectly created LRC, and trigger a re-run of the
creation, but only after waiting for default LRC fixups.

Since LRC creation is many times faster than fixups procedure
(because fixups include GuC handshake), checking once at
the end of LRC creation is enough to ensure that the fixups
running in parallel will be spotted.

Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
---
 drivers/gpu/drm/xe/xe_exec_queue.c  | 6 ++++++
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 8 ++++++++
 drivers/gpu/drm/xe/xe_gt_sriov_vf.h | 1 +
 3 files changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 6eb561086e1c..2ebf25a35557 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -316,6 +316,12 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
 			err = PTR_ERR(lrc);
 			goto err_lrc;
 		}
+		if (!xe_gt_vf_valid_default_lrc(q->gt)) {
+			xe_lrc_put(lrc);
+			i--;
+			continue;
+		}
+
 
 		/* Pairs with READ_ONCE to xe_exec_queue_contexts_hwsp_rebase */
 		WRITE_ONCE(q->lrc[i], lrc);
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
index 1edccee84c76..704c7e083ff4 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
@@ -1504,6 +1504,14 @@ static bool vf_valid_default_lrc(struct xe_gt *gt)
 	return true;
 }
 
+bool xe_gt_vf_valid_default_lrc(struct xe_gt *gt)
+{
+	if (!IS_SRIOV_VF(gt_to_xe(gt)) ||
+	    !xe_sriov_vf_migration_supported(gt_to_xe(gt)))
+		return true;
+	return vf_valid_default_lrc(gt);
+}
+
 /**
  * xe_gt_sriov_vf_wait_valid_default_lrc() - wait for valid GGTT refs in default LRCs
  * @gt: the &xe_gt
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
index 70232dc38f9a..8c21b8ab2f16 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
@@ -39,6 +39,7 @@ void xe_gt_sriov_vf_print_config(struct xe_gt *gt, struct drm_printer *p);
 void xe_gt_sriov_vf_print_runtime(struct xe_gt *gt, struct drm_printer *p);
 void xe_gt_sriov_vf_print_version(struct xe_gt *gt, struct drm_printer *p);
 
+bool xe_gt_vf_valid_default_lrc(struct xe_gt *gt);
 void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt);
 
 #endif
-- 
2.25.1


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

* ✓ CI.KUnit: success for drm/xe/vf: Fix exec queue creation during post-migration recovery
  2026-02-06 14:53 [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery Tomasz Lis
                   ` (3 preceding siblings ...)
  2026-02-06 14:53 ` [PATCH v1 4/4] drm/xe/vf: Redo LRC creation while in VF fixups Tomasz Lis
@ 2026-02-06 14:56 ` Patchwork
  2026-02-06 15:29 ` ✓ Xe.CI.BAT: " Patchwork
  2026-02-07 15:42 ` ✗ Xe.CI.FULL: failure " Patchwork
  6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2026-02-06 14:56 UTC (permalink / raw)
  To: Tomasz Lis; +Cc: intel-xe

== Series Details ==

Series: drm/xe/vf: Fix exec queue creation during post-migration recovery
URL   : https://patchwork.freedesktop.org/series/161287/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[14:54:50] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[14:54: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
[14:55:26] Starting KUnit Kernel (1/1)...
[14:55:26] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[14:55:26] ================== guc_buf (11 subtests) ===================
[14:55:26] [PASSED] test_smallest
[14:55:26] [PASSED] test_largest
[14:55:26] [PASSED] test_granular
[14:55:26] [PASSED] test_unique
[14:55:26] [PASSED] test_overlap
[14:55:26] [PASSED] test_reusable
[14:55:26] [PASSED] test_too_big
[14:55:26] [PASSED] test_flush
[14:55:26] [PASSED] test_lookup
[14:55:26] [PASSED] test_data
[14:55:26] [PASSED] test_class
[14:55:26] ===================== [PASSED] guc_buf =====================
[14:55:26] =================== guc_dbm (7 subtests) ===================
[14:55:26] [PASSED] test_empty
[14:55:26] [PASSED] test_default
[14:55:26] ======================== test_size  ========================
[14:55:26] [PASSED] 4
[14:55:26] [PASSED] 8
[14:55:26] [PASSED] 32
[14:55:26] [PASSED] 256
[14:55:26] ==================== [PASSED] test_size ====================
[14:55:26] ======================= test_reuse  ========================
[14:55:26] [PASSED] 4
[14:55:26] [PASSED] 8
[14:55:26] [PASSED] 32
[14:55:26] [PASSED] 256
[14:55:26] =================== [PASSED] test_reuse ====================
[14:55:26] =================== test_range_overlap  ====================
[14:55:26] [PASSED] 4
[14:55:26] [PASSED] 8
[14:55:26] [PASSED] 32
[14:55:26] [PASSED] 256
[14:55:26] =============== [PASSED] test_range_overlap ================
[14:55:26] =================== test_range_compact  ====================
[14:55:26] [PASSED] 4
[14:55:26] [PASSED] 8
[14:55:26] [PASSED] 32
[14:55:26] [PASSED] 256
[14:55:26] =============== [PASSED] test_range_compact ================
[14:55:26] ==================== test_range_spare  =====================
[14:55:26] [PASSED] 4
[14:55:26] [PASSED] 8
[14:55:26] [PASSED] 32
[14:55:26] [PASSED] 256
[14:55:26] ================ [PASSED] test_range_spare =================
[14:55:26] ===================== [PASSED] guc_dbm =====================
[14:55:26] =================== guc_idm (6 subtests) ===================
[14:55:26] [PASSED] bad_init
[14:55:26] [PASSED] no_init
[14:55:26] [PASSED] init_fini
[14:55:26] [PASSED] check_used
[14:55:26] [PASSED] check_quota
[14:55:26] [PASSED] check_all
[14:55:26] ===================== [PASSED] guc_idm =====================
[14:55:26] ================== no_relay (3 subtests) ===================
[14:55:26] [PASSED] xe_drops_guc2pf_if_not_ready
[14:55:26] [PASSED] xe_drops_guc2vf_if_not_ready
[14:55:26] [PASSED] xe_rejects_send_if_not_ready
[14:55:26] ==================== [PASSED] no_relay =====================
[14:55:26] ================== pf_relay (14 subtests) ==================
[14:55:26] [PASSED] pf_rejects_guc2pf_too_short
[14:55:26] [PASSED] pf_rejects_guc2pf_too_long
[14:55:26] [PASSED] pf_rejects_guc2pf_no_payload
[14:55:26] [PASSED] pf_fails_no_payload
[14:55:26] [PASSED] pf_fails_bad_origin
[14:55:26] [PASSED] pf_fails_bad_type
[14:55:26] [PASSED] pf_txn_reports_error
[14:55:26] [PASSED] pf_txn_sends_pf2guc
[14:55:26] [PASSED] pf_sends_pf2guc
[14:55:26] [SKIPPED] pf_loopback_nop
[14:55:26] [SKIPPED] pf_loopback_echo
[14:55:26] [SKIPPED] pf_loopback_fail
[14:55:26] [SKIPPED] pf_loopback_busy
[14:55:26] [SKIPPED] pf_loopback_retry
[14:55:26] ==================== [PASSED] pf_relay =====================
[14:55:26] ================== vf_relay (3 subtests) ===================
[14:55:26] [PASSED] vf_rejects_guc2vf_too_short
[14:55:26] [PASSED] vf_rejects_guc2vf_too_long
[14:55:26] [PASSED] vf_rejects_guc2vf_no_payload
[14:55:26] ==================== [PASSED] vf_relay =====================
[14:55:26] ================ pf_gt_config (6 subtests) =================
[14:55:26] [PASSED] fair_contexts_1vf
[14:55:26] [PASSED] fair_doorbells_1vf
[14:55:26] [PASSED] fair_ggtt_1vf
[14:55:26] ====================== fair_contexts  ======================
[14:55:26] [PASSED] 1 VF
[14:55:26] [PASSED] 2 VFs
[14:55:26] [PASSED] 3 VFs
[14:55:26] [PASSED] 4 VFs
[14:55:26] [PASSED] 5 VFs
[14:55:26] [PASSED] 6 VFs
[14:55:26] [PASSED] 7 VFs
[14:55:26] [PASSED] 8 VFs
[14:55:26] [PASSED] 9 VFs
[14:55:26] [PASSED] 10 VFs
[14:55:26] [PASSED] 11 VFs
[14:55:26] [PASSED] 12 VFs
[14:55:26] [PASSED] 13 VFs
[14:55:26] [PASSED] 14 VFs
[14:55:26] [PASSED] 15 VFs
[14:55:26] [PASSED] 16 VFs
[14:55:26] [PASSED] 17 VFs
[14:55:26] [PASSED] 18 VFs
[14:55:26] [PASSED] 19 VFs
[14:55:26] [PASSED] 20 VFs
[14:55:26] [PASSED] 21 VFs
[14:55:26] [PASSED] 22 VFs
[14:55:26] [PASSED] 23 VFs
[14:55:26] [PASSED] 24 VFs
[14:55:26] [PASSED] 25 VFs
[14:55:26] [PASSED] 26 VFs
[14:55:26] [PASSED] 27 VFs
[14:55:26] [PASSED] 28 VFs
[14:55:26] [PASSED] 29 VFs
[14:55:26] [PASSED] 30 VFs
[14:55:26] [PASSED] 31 VFs
[14:55:26] [PASSED] 32 VFs
[14:55:26] [PASSED] 33 VFs
[14:55:26] [PASSED] 34 VFs
[14:55:26] [PASSED] 35 VFs
[14:55:26] [PASSED] 36 VFs
[14:55:26] [PASSED] 37 VFs
[14:55:26] [PASSED] 38 VFs
[14:55:26] [PASSED] 39 VFs
[14:55:26] [PASSED] 40 VFs
[14:55:26] [PASSED] 41 VFs
[14:55:26] [PASSED] 42 VFs
[14:55:26] [PASSED] 43 VFs
[14:55:26] [PASSED] 44 VFs
[14:55:26] [PASSED] 45 VFs
[14:55:26] [PASSED] 46 VFs
[14:55:26] [PASSED] 47 VFs
[14:55:26] [PASSED] 48 VFs
[14:55:26] [PASSED] 49 VFs
[14:55:26] [PASSED] 50 VFs
[14:55:26] [PASSED] 51 VFs
[14:55:26] [PASSED] 52 VFs
[14:55:26] [PASSED] 53 VFs
[14:55:26] [PASSED] 54 VFs
[14:55:26] [PASSED] 55 VFs
[14:55:26] [PASSED] 56 VFs
[14:55:26] [PASSED] 57 VFs
[14:55:26] [PASSED] 58 VFs
[14:55:26] [PASSED] 59 VFs
[14:55:26] [PASSED] 60 VFs
[14:55:26] [PASSED] 61 VFs
[14:55:26] [PASSED] 62 VFs
[14:55:26] [PASSED] 63 VFs
[14:55:26] ================== [PASSED] fair_contexts ==================
[14:55:26] ===================== fair_doorbells  ======================
[14:55:26] [PASSED] 1 VF
[14:55:26] [PASSED] 2 VFs
[14:55:26] [PASSED] 3 VFs
[14:55:26] [PASSED] 4 VFs
[14:55:26] [PASSED] 5 VFs
[14:55:26] [PASSED] 6 VFs
[14:55:26] [PASSED] 7 VFs
[14:55:26] [PASSED] 8 VFs
[14:55:26] [PASSED] 9 VFs
[14:55:26] [PASSED] 10 VFs
[14:55:26] [PASSED] 11 VFs
[14:55:26] [PASSED] 12 VFs
[14:55:26] [PASSED] 13 VFs
[14:55:26] [PASSED] 14 VFs
[14:55:26] [PASSED] 15 VFs
[14:55:26] [PASSED] 16 VFs
[14:55:26] [PASSED] 17 VFs
[14:55:26] [PASSED] 18 VFs
[14:55:26] [PASSED] 19 VFs
[14:55:26] [PASSED] 20 VFs
[14:55:26] [PASSED] 21 VFs
[14:55:26] [PASSED] 22 VFs
[14:55:26] [PASSED] 23 VFs
[14:55:26] [PASSED] 24 VFs
[14:55:26] [PASSED] 25 VFs
[14:55:26] [PASSED] 26 VFs
[14:55:26] [PASSED] 27 VFs
[14:55:26] [PASSED] 28 VFs
[14:55:26] [PASSED] 29 VFs
[14:55:26] [PASSED] 30 VFs
[14:55:26] [PASSED] 31 VFs
[14:55:26] [PASSED] 32 VFs
[14:55:26] [PASSED] 33 VFs
[14:55:26] [PASSED] 34 VFs
[14:55:26] [PASSED] 35 VFs
[14:55:26] [PASSED] 36 VFs
[14:55:26] [PASSED] 37 VFs
[14:55:26] [PASSED] 38 VFs
[14:55:26] [PASSED] 39 VFs
[14:55:26] [PASSED] 40 VFs
[14:55:26] [PASSED] 41 VFs
[14:55:26] [PASSED] 42 VFs
[14:55:26] [PASSED] 43 VFs
[14:55:26] [PASSED] 44 VFs
[14:55:26] [PASSED] 45 VFs
[14:55:26] [PASSED] 46 VFs
[14:55:26] [PASSED] 47 VFs
[14:55:26] [PASSED] 48 VFs
[14:55:26] [PASSED] 49 VFs
[14:55:26] [PASSED] 50 VFs
[14:55:26] [PASSED] 51 VFs
[14:55:26] [PASSED] 52 VFs
[14:55:26] [PASSED] 53 VFs
[14:55:26] [PASSED] 54 VFs
[14:55:26] [PASSED] 55 VFs
[14:55:26] [PASSED] 56 VFs
[14:55:26] [PASSED] 57 VFs
[14:55:26] [PASSED] 58 VFs
[14:55:26] [PASSED] 59 VFs
[14:55:26] [PASSED] 60 VFs
[14:55:26] [PASSED] 61 VFs
[14:55:26] [PASSED] 62 VFs
[14:55:26] [PASSED] 63 VFs
[14:55:26] ================= [PASSED] fair_doorbells ==================
[14:55:26] ======================== fair_ggtt  ========================
[14:55:26] [PASSED] 1 VF
[14:55:26] [PASSED] 2 VFs
[14:55:26] [PASSED] 3 VFs
[14:55:26] [PASSED] 4 VFs
[14:55:26] [PASSED] 5 VFs
[14:55:26] [PASSED] 6 VFs
[14:55:26] [PASSED] 7 VFs
[14:55:26] [PASSED] 8 VFs
[14:55:26] [PASSED] 9 VFs
[14:55:26] [PASSED] 10 VFs
[14:55:26] [PASSED] 11 VFs
[14:55:26] [PASSED] 12 VFs
[14:55:26] [PASSED] 13 VFs
[14:55:26] [PASSED] 14 VFs
[14:55:26] [PASSED] 15 VFs
[14:55:26] [PASSED] 16 VFs
[14:55:26] [PASSED] 17 VFs
[14:55:26] [PASSED] 18 VFs
[14:55:26] [PASSED] 19 VFs
[14:55:26] [PASSED] 20 VFs
[14:55:26] [PASSED] 21 VFs
[14:55:26] [PASSED] 22 VFs
[14:55:26] [PASSED] 23 VFs
[14:55:26] [PASSED] 24 VFs
[14:55:26] [PASSED] 25 VFs
[14:55:26] [PASSED] 26 VFs
[14:55:26] [PASSED] 27 VFs
[14:55:26] [PASSED] 28 VFs
[14:55:26] [PASSED] 29 VFs
[14:55:26] [PASSED] 30 VFs
[14:55:26] [PASSED] 31 VFs
[14:55:26] [PASSED] 32 VFs
[14:55:26] [PASSED] 33 VFs
[14:55:26] [PASSED] 34 VFs
[14:55:26] [PASSED] 35 VFs
[14:55:26] [PASSED] 36 VFs
[14:55:26] [PASSED] 37 VFs
[14:55:26] [PASSED] 38 VFs
[14:55:26] [PASSED] 39 VFs
[14:55:26] [PASSED] 40 VFs
[14:55:26] [PASSED] 41 VFs
[14:55:26] [PASSED] 42 VFs
[14:55:26] [PASSED] 43 VFs
[14:55:26] [PASSED] 44 VFs
[14:55:26] [PASSED] 45 VFs
[14:55:26] [PASSED] 46 VFs
[14:55:26] [PASSED] 47 VFs
[14:55:26] [PASSED] 48 VFs
[14:55:26] [PASSED] 49 VFs
[14:55:26] [PASSED] 50 VFs
[14:55:26] [PASSED] 51 VFs
[14:55:26] [PASSED] 52 VFs
[14:55:26] [PASSED] 53 VFs
[14:55:26] [PASSED] 54 VFs
[14:55:26] [PASSED] 55 VFs
[14:55:26] [PASSED] 56 VFs
[14:55:26] [PASSED] 57 VFs
[14:55:26] [PASSED] 58 VFs
[14:55:26] [PASSED] 59 VFs
[14:55:26] [PASSED] 60 VFs
[14:55:26] [PASSED] 61 VFs
[14:55:26] [PASSED] 62 VFs
[14:55:26] [PASSED] 63 VFs
[14:55:26] ==================== [PASSED] fair_ggtt ====================
[14:55:26] ================== [PASSED] pf_gt_config ===================
[14:55:26] ===================== lmtt (1 subtest) =====================
[14:55:26] ======================== test_ops  =========================
[14:55:26] [PASSED] 2-level
[14:55:26] [PASSED] multi-level
[14:55:26] ==================== [PASSED] test_ops =====================
[14:55:26] ====================== [PASSED] lmtt =======================
[14:55:26] ================= pf_service (11 subtests) =================
[14:55:26] [PASSED] pf_negotiate_any
[14:55:26] [PASSED] pf_negotiate_base_match
[14:55:26] [PASSED] pf_negotiate_base_newer
[14:55:26] [PASSED] pf_negotiate_base_next
[14:55:26] [SKIPPED] pf_negotiate_base_older
[14:55:26] [PASSED] pf_negotiate_base_prev
[14:55:26] [PASSED] pf_negotiate_latest_match
[14:55:26] [PASSED] pf_negotiate_latest_newer
[14:55:26] [PASSED] pf_negotiate_latest_next
[14:55:26] [SKIPPED] pf_negotiate_latest_older
[14:55:26] [SKIPPED] pf_negotiate_latest_prev
[14:55:26] =================== [PASSED] pf_service ====================
[14:55:26] ================= xe_guc_g2g (2 subtests) ==================
[14:55:26] ============== xe_live_guc_g2g_kunit_default  ==============
[14:55:26] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[14:55:26] ============== xe_live_guc_g2g_kunit_allmem  ===============
[14:55:26] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[14:55:26] =================== [SKIPPED] xe_guc_g2g ===================
[14:55:26] =================== xe_mocs (2 subtests) ===================
[14:55:26] ================ xe_live_mocs_kernel_kunit  ================
[14:55:26] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[14:55:26] ================ xe_live_mocs_reset_kunit  =================
[14:55:26] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[14:55:26] ==================== [SKIPPED] xe_mocs =====================
[14:55:26] ================= xe_migrate (2 subtests) ==================
[14:55:26] ================= xe_migrate_sanity_kunit  =================
[14:55:26] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[14:55:26] ================== xe_validate_ccs_kunit  ==================
[14:55:26] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[14:55:26] =================== [SKIPPED] xe_migrate ===================
[14:55:26] ================== xe_dma_buf (1 subtest) ==================
[14:55:26] ==================== xe_dma_buf_kunit  =====================
[14:55:26] ================ [SKIPPED] xe_dma_buf_kunit ================
[14:55:26] =================== [SKIPPED] xe_dma_buf ===================
[14:55:26] ================= xe_bo_shrink (1 subtest) =================
[14:55:26] =================== xe_bo_shrink_kunit  ====================
[14:55:26] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[14:55:26] ================== [SKIPPED] xe_bo_shrink ==================
[14:55:26] ==================== xe_bo (2 subtests) ====================
[14:55:26] ================== xe_ccs_migrate_kunit  ===================
[14:55:26] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[14:55:26] ==================== xe_bo_evict_kunit  ====================
[14:55:26] =============== [SKIPPED] xe_bo_evict_kunit ================
[14:55:26] ===================== [SKIPPED] xe_bo ======================
[14:55:26] ==================== args (13 subtests) ====================
[14:55:26] [PASSED] count_args_test
[14:55:26] [PASSED] call_args_example
[14:55:26] [PASSED] call_args_test
[14:55:26] [PASSED] drop_first_arg_example
[14:55:26] [PASSED] drop_first_arg_test
[14:55:26] [PASSED] first_arg_example
[14:55:26] [PASSED] first_arg_test
[14:55:26] [PASSED] last_arg_example
[14:55:26] [PASSED] last_arg_test
[14:55:26] [PASSED] pick_arg_example
[14:55:26] [PASSED] if_args_example
[14:55:26] [PASSED] if_args_test
[14:55:26] [PASSED] sep_comma_example
[14:55:26] ====================== [PASSED] args =======================
[14:55:26] =================== xe_pci (3 subtests) ====================
[14:55:26] ==================== check_graphics_ip  ====================
[14:55:26] [PASSED] 12.00 Xe_LP
[14:55:26] [PASSED] 12.10 Xe_LP+
[14:55:26] [PASSED] 12.55 Xe_HPG
[14:55:26] [PASSED] 12.60 Xe_HPC
[14:55:26] [PASSED] 12.70 Xe_LPG
[14:55:26] [PASSED] 12.71 Xe_LPG
[14:55:26] [PASSED] 12.74 Xe_LPG+
[14:55:26] [PASSED] 20.01 Xe2_HPG
[14:55:26] [PASSED] 20.02 Xe2_HPG
[14:55:26] [PASSED] 20.04 Xe2_LPG
[14:55:26] [PASSED] 30.00 Xe3_LPG
[14:55:26] [PASSED] 30.01 Xe3_LPG
[14:55:26] [PASSED] 30.03 Xe3_LPG
[14:55:26] [PASSED] 30.04 Xe3_LPG
[14:55:26] [PASSED] 30.05 Xe3_LPG
[14:55:26] [PASSED] 35.11 Xe3p_XPC
[14:55:26] ================ [PASSED] check_graphics_ip ================
[14:55:26] ===================== check_media_ip  ======================
[14:55:26] [PASSED] 12.00 Xe_M
[14:55:26] [PASSED] 12.55 Xe_HPM
[14:55:26] [PASSED] 13.00 Xe_LPM+
[14:55:26] [PASSED] 13.01 Xe2_HPM
[14:55:26] [PASSED] 20.00 Xe2_LPM
[14:55:26] [PASSED] 30.00 Xe3_LPM
[14:55:26] [PASSED] 30.02 Xe3_LPM
[14:55:26] [PASSED] 35.00 Xe3p_LPM
[14:55:26] [PASSED] 35.03 Xe3p_HPM
[14:55:26] ================= [PASSED] check_media_ip ==================
[14:55:26] =================== check_platform_desc  ===================
[14:55:26] [PASSED] 0x9A60 (TIGERLAKE)
[14:55:26] [PASSED] 0x9A68 (TIGERLAKE)
[14:55:26] [PASSED] 0x9A70 (TIGERLAKE)
[14:55:26] [PASSED] 0x9A40 (TIGERLAKE)
[14:55:26] [PASSED] 0x9A49 (TIGERLAKE)
[14:55:26] [PASSED] 0x9A59 (TIGERLAKE)
[14:55:26] [PASSED] 0x9A78 (TIGERLAKE)
[14:55:26] [PASSED] 0x9AC0 (TIGERLAKE)
[14:55:26] [PASSED] 0x9AC9 (TIGERLAKE)
[14:55:26] [PASSED] 0x9AD9 (TIGERLAKE)
[14:55:26] [PASSED] 0x9AF8 (TIGERLAKE)
[14:55:26] [PASSED] 0x4C80 (ROCKETLAKE)
[14:55:26] [PASSED] 0x4C8A (ROCKETLAKE)
[14:55:26] [PASSED] 0x4C8B (ROCKETLAKE)
[14:55:26] [PASSED] 0x4C8C (ROCKETLAKE)
[14:55:26] [PASSED] 0x4C90 (ROCKETLAKE)
[14:55:26] [PASSED] 0x4C9A (ROCKETLAKE)
[14:55:26] [PASSED] 0x4680 (ALDERLAKE_S)
[14:55:26] [PASSED] 0x4682 (ALDERLAKE_S)
[14:55:26] [PASSED] 0x4688 (ALDERLAKE_S)
[14:55:26] [PASSED] 0x468A (ALDERLAKE_S)
[14:55:26] [PASSED] 0x468B (ALDERLAKE_S)
[14:55:26] [PASSED] 0x4690 (ALDERLAKE_S)
[14:55:26] [PASSED] 0x4692 (ALDERLAKE_S)
[14:55:26] [PASSED] 0x4693 (ALDERLAKE_S)
[14:55:26] [PASSED] 0x46A0 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46A1 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46A2 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46A3 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46A6 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46A8 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46AA (ALDERLAKE_P)
[14:55:26] [PASSED] 0x462A (ALDERLAKE_P)
[14:55:26] [PASSED] 0x4626 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x4628 (ALDERLAKE_P)
stty: 'standard input': Inappropriate ioctl for device
[14:55:26] [PASSED] 0x46B0 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46B1 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46B2 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46B3 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46C0 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46C1 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46C2 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46C3 (ALDERLAKE_P)
[14:55:26] [PASSED] 0x46D0 (ALDERLAKE_N)
[14:55:26] [PASSED] 0x46D1 (ALDERLAKE_N)
[14:55:26] [PASSED] 0x46D2 (ALDERLAKE_N)
[14:55:26] [PASSED] 0x46D3 (ALDERLAKE_N)
[14:55:26] [PASSED] 0x46D4 (ALDERLAKE_N)
[14:55:26] [PASSED] 0xA721 (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA7A1 (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA7A9 (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA7AC (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA7AD (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA720 (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA7A0 (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA7A8 (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA7AA (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA7AB (ALDERLAKE_P)
[14:55:26] [PASSED] 0xA780 (ALDERLAKE_S)
[14:55:26] [PASSED] 0xA781 (ALDERLAKE_S)
[14:55:26] [PASSED] 0xA782 (ALDERLAKE_S)
[14:55:26] [PASSED] 0xA783 (ALDERLAKE_S)
[14:55:26] [PASSED] 0xA788 (ALDERLAKE_S)
[14:55:26] [PASSED] 0xA789 (ALDERLAKE_S)
[14:55:26] [PASSED] 0xA78A (ALDERLAKE_S)
[14:55:26] [PASSED] 0xA78B (ALDERLAKE_S)
[14:55:26] [PASSED] 0x4905 (DG1)
[14:55:26] [PASSED] 0x4906 (DG1)
[14:55:26] [PASSED] 0x4907 (DG1)
[14:55:26] [PASSED] 0x4908 (DG1)
[14:55:26] [PASSED] 0x4909 (DG1)
[14:55:26] [PASSED] 0x56C0 (DG2)
[14:55:26] [PASSED] 0x56C2 (DG2)
[14:55:26] [PASSED] 0x56C1 (DG2)
[14:55:26] [PASSED] 0x7D51 (METEORLAKE)
[14:55:26] [PASSED] 0x7DD1 (METEORLAKE)
[14:55:26] [PASSED] 0x7D41 (METEORLAKE)
[14:55:26] [PASSED] 0x7D67 (METEORLAKE)
[14:55:26] [PASSED] 0xB640 (METEORLAKE)
[14:55:26] [PASSED] 0x56A0 (DG2)
[14:55:26] [PASSED] 0x56A1 (DG2)
[14:55:26] [PASSED] 0x56A2 (DG2)
[14:55:26] [PASSED] 0x56BE (DG2)
[14:55:26] [PASSED] 0x56BF (DG2)
[14:55:26] [PASSED] 0x5690 (DG2)
[14:55:26] [PASSED] 0x5691 (DG2)
[14:55:26] [PASSED] 0x5692 (DG2)
[14:55:26] [PASSED] 0x56A5 (DG2)
[14:55:26] [PASSED] 0x56A6 (DG2)
[14:55:26] [PASSED] 0x56B0 (DG2)
[14:55:26] [PASSED] 0x56B1 (DG2)
[14:55:26] [PASSED] 0x56BA (DG2)
[14:55:26] [PASSED] 0x56BB (DG2)
[14:55:26] [PASSED] 0x56BC (DG2)
[14:55:26] [PASSED] 0x56BD (DG2)
[14:55:26] [PASSED] 0x5693 (DG2)
[14:55:26] [PASSED] 0x5694 (DG2)
[14:55:26] [PASSED] 0x5695 (DG2)
[14:55:26] [PASSED] 0x56A3 (DG2)
[14:55:26] [PASSED] 0x56A4 (DG2)
[14:55:26] [PASSED] 0x56B2 (DG2)
[14:55:26] [PASSED] 0x56B3 (DG2)
[14:55:26] [PASSED] 0x5696 (DG2)
[14:55:26] [PASSED] 0x5697 (DG2)
[14:55:26] [PASSED] 0xB69 (PVC)
[14:55:26] [PASSED] 0xB6E (PVC)
[14:55:26] [PASSED] 0xBD4 (PVC)
[14:55:26] [PASSED] 0xBD5 (PVC)
[14:55:26] [PASSED] 0xBD6 (PVC)
[14:55:26] [PASSED] 0xBD7 (PVC)
[14:55:26] [PASSED] 0xBD8 (PVC)
[14:55:26] [PASSED] 0xBD9 (PVC)
[14:55:26] [PASSED] 0xBDA (PVC)
[14:55:26] [PASSED] 0xBDB (PVC)
[14:55:26] [PASSED] 0xBE0 (PVC)
[14:55:26] [PASSED] 0xBE1 (PVC)
[14:55:26] [PASSED] 0xBE5 (PVC)
[14:55:26] [PASSED] 0x7D40 (METEORLAKE)
[14:55:26] [PASSED] 0x7D45 (METEORLAKE)
[14:55:26] [PASSED] 0x7D55 (METEORLAKE)
[14:55:26] [PASSED] 0x7D60 (METEORLAKE)
[14:55:26] [PASSED] 0x7DD5 (METEORLAKE)
[14:55:26] [PASSED] 0x6420 (LUNARLAKE)
[14:55:26] [PASSED] 0x64A0 (LUNARLAKE)
[14:55:26] [PASSED] 0x64B0 (LUNARLAKE)
[14:55:26] [PASSED] 0xE202 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE209 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE20B (BATTLEMAGE)
[14:55:26] [PASSED] 0xE20C (BATTLEMAGE)
[14:55:26] [PASSED] 0xE20D (BATTLEMAGE)
[14:55:26] [PASSED] 0xE210 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE211 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE212 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE216 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE220 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE221 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE222 (BATTLEMAGE)
[14:55:26] [PASSED] 0xE223 (BATTLEMAGE)
[14:55:26] [PASSED] 0xB080 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB081 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB082 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB083 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB084 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB085 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB086 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB087 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB08F (PANTHERLAKE)
[14:55:26] [PASSED] 0xB090 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB0A0 (PANTHERLAKE)
[14:55:26] [PASSED] 0xB0B0 (PANTHERLAKE)
[14:55:26] [PASSED] 0xFD80 (PANTHERLAKE)
[14:55:26] [PASSED] 0xFD81 (PANTHERLAKE)
[14:55:26] [PASSED] 0xD740 (NOVALAKE_S)
[14:55:26] [PASSED] 0xD741 (NOVALAKE_S)
[14:55:26] [PASSED] 0xD742 (NOVALAKE_S)
[14:55:26] [PASSED] 0xD743 (NOVALAKE_S)
[14:55:26] [PASSED] 0xD744 (NOVALAKE_S)
[14:55:26] [PASSED] 0xD745 (NOVALAKE_S)
[14:55:26] [PASSED] 0x674C (CRESCENTISLAND)
[14:55:26] =============== [PASSED] check_platform_desc ===============
[14:55:26] ===================== [PASSED] xe_pci ======================
[14:55:26] =================== xe_rtp (2 subtests) ====================
[14:55:26] =============== xe_rtp_process_to_sr_tests  ================
[14:55:26] [PASSED] coalesce-same-reg
[14:55:26] [PASSED] no-match-no-add
[14:55:26] [PASSED] match-or
[14:55:26] [PASSED] match-or-xfail
[14:55:26] [PASSED] no-match-no-add-multiple-rules
[14:55:26] [PASSED] two-regs-two-entries
[14:55:26] [PASSED] clr-one-set-other
[14:55:26] [PASSED] set-field
[14:55:26] [PASSED] conflict-duplicate
[14:55:26] [PASSED] conflict-not-disjoint
[14:55:26] [PASSED] conflict-reg-type
[14:55:26] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[14:55:26] ================== xe_rtp_process_tests  ===================
[14:55:26] [PASSED] active1
[14:55:26] [PASSED] active2
[14:55:26] [PASSED] active-inactive
[14:55:26] [PASSED] inactive-active
[14:55:26] [PASSED] inactive-1st_or_active-inactive
[14:55:26] [PASSED] inactive-2nd_or_active-inactive
[14:55:26] [PASSED] inactive-last_or_active-inactive
[14:55:26] [PASSED] inactive-no_or_active-inactive
[14:55:26] ============== [PASSED] xe_rtp_process_tests ===============
[14:55:26] ===================== [PASSED] xe_rtp ======================
[14:55:26] ==================== xe_wa (1 subtest) =====================
[14:55:26] ======================== xe_wa_gt  =========================
[14:55:26] [PASSED] TIGERLAKE B0
[14:55:26] [PASSED] DG1 A0
[14:55:26] [PASSED] DG1 B0
[14:55:26] [PASSED] ALDERLAKE_S A0
[14:55:26] [PASSED] ALDERLAKE_S B0
[14:55:26] [PASSED] ALDERLAKE_S C0
[14:55:26] [PASSED] ALDERLAKE_S D0
[14:55:26] [PASSED] ALDERLAKE_P A0
[14:55:26] [PASSED] ALDERLAKE_P B0
[14:55:26] [PASSED] ALDERLAKE_P C0
[14:55:26] [PASSED] ALDERLAKE_S RPLS D0
[14:55:26] [PASSED] ALDERLAKE_P RPLU E0
[14:55:26] [PASSED] DG2 G10 C0
[14:55:26] [PASSED] DG2 G11 B1
[14:55:26] [PASSED] DG2 G12 A1
[14:55:26] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[14:55:26] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[14:55:26] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[14:55:26] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[14:55:26] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[14:55:26] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[14:55:26] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[14:55:26] ==================== [PASSED] xe_wa_gt =====================
[14:55:26] ====================== [PASSED] xe_wa ======================
[14:55:26] ============================================================
[14:55:26] Testing complete. Ran 512 tests: passed: 494, skipped: 18
[14:55:26] Elapsed time: 36.702s total, 4.268s configuring, 31.917s building, 0.467s running

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

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

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



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

* ✓ Xe.CI.BAT: success for drm/xe/vf: Fix exec queue creation during post-migration recovery
  2026-02-06 14:53 [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery Tomasz Lis
                   ` (4 preceding siblings ...)
  2026-02-06 14:56 ` ✓ CI.KUnit: success for drm/xe/vf: Fix exec queue creation during post-migration recovery Patchwork
@ 2026-02-06 15:29 ` Patchwork
  2026-02-07 15:42 ` ✗ Xe.CI.FULL: failure " Patchwork
  6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2026-02-06 15:29 UTC (permalink / raw)
  To: Tomasz Lis; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/vf: Fix exec queue creation during post-migration recovery
URL   : https://patchwork.freedesktop.org/series/161287/
State : success

== Summary ==

CI Bug Log - changes from xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04_BAT -> xe-pw-161287v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (12 -> 12)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


Build changes
-------------

  * IGT: IGT_8740 -> IGT_8741
  * Linux: xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04 -> xe-pw-161287v1

  IGT_8740: 36ebdc56b434bf330c44e96205f1fcefcf598651 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8741: 8741
  xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04: d9124a6be3c7bdaeb14c3629013dde27929dbf04
  xe-pw-161287v1: 161287v1

== Logs ==

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

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

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

* Re: [PATCH v1 1/4] drm/xe/queue: Call fini on exec queue creation fail
  2026-02-06 14:53 ` [PATCH v1 1/4] drm/xe/queue: Call fini on exec queue creation fail Tomasz Lis
@ 2026-02-06 17:38   ` Matthew Brost
  0 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2026-02-06 17:38 UTC (permalink / raw)
  To: Tomasz Lis
  Cc: intel-xe, Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Lucas De Marchi

On Fri, Feb 06, 2026 at 03:53:31PM +0100, Tomasz Lis wrote:
> Every call to queue init should have a corresponding fini call.
> Skipping this would mean skipping removal of the queue from GuC list
> (which is part of guc_id allocation). A damaged queue stored in
> exec_queue_lookup list would lead to invalid memory reference,
> sooner or later.
> 
> Call fini to free guc_id. This must be done before any internal
> LRCs are freed.
> 
> Fixes: 3c1fa4aa60b1 ("drm/xe: Move queue init before LRC creation")
> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>

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

> ---
>  drivers/gpu/drm/xe/xe_exec_queue.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 66d0e10ee2c4..42849be46166 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -324,6 +324,8 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
>  	return 0;
>  
>  err_lrc:
> +	q->ops->fini(q);
> +
>  	for (i = i - 1; i >= 0; --i)
>  		xe_lrc_put(q->lrc[i]);
>  	return err;
> -- 
> 2.25.1
> 

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

* Re: [PATCH v1 2/4] drm/xe/vf: Avoid LRC being freed while applying fixups
  2026-02-06 14:53 ` [PATCH v1 2/4] drm/xe/vf: Avoid LRC being freed while applying fixups Tomasz Lis
@ 2026-02-06 17:46   ` Matthew Brost
  2026-02-10 20:16     ` Lis, Tomasz
  0 siblings, 1 reply; 14+ messages in thread
From: Matthew Brost @ 2026-02-06 17:46 UTC (permalink / raw)
  To: Tomasz Lis
  Cc: intel-xe, Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Lucas De Marchi

On Fri, Feb 06, 2026 at 03:53:32PM +0100, Tomasz Lis wrote:
> There is a small but non-zero chance that fixups are running on
> a context during teardown. The chances are decreased by starting
> the teardown by releasing guc_id, but remain non-zero.
> On the other hand the sync between fixups and context creation
> drastically increases chance for such parallel teardown if
> context creation fails.
> 

I don't think this is possible as xe_exec_queue_contexts_hwsp_rebase is
done under the submission_state.lock + being present in
submission_state.exec_queue_lookup. The removal is done in q->ops->fini
and the xe_lrc_put(s) should run after this step.

This is weakly documented, and should be improved, but I don't see the
problem. I am missing something here?

Matt

> Prevent LRC teardown in parallel with fixups by getting a reference.
> 
> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_exec_queue.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 42849be46166..e9396ad3390a 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -1669,10 +1669,11 @@ int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch)
>  		lrc = READ_ONCE(q->lrc[i]);
>  		if (!lrc)
>  			continue;
> -
> +		xe_lrc_get(lrc);
>  		xe_lrc_update_memirq_regs_with_address(lrc, q->hwe, scratch);
>  		xe_lrc_update_hwctx_regs_with_address(lrc);
>  		err = xe_lrc_setup_wa_bb_with_scratch(lrc, q->hwe, scratch);
> +		xe_lrc_put(lrc);
>  		if (err)
>  			break;
>  	}
> -- 
> 2.25.1
> 

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

* Re: [PATCH v1 3/4] drm/xe/vf: Wait for default LRCs fixups before using
  2026-02-06 14:53 ` [PATCH v1 3/4] drm/xe/vf: Wait for default LRCs fixups before using Tomasz Lis
@ 2026-02-06 18:11   ` Matthew Brost
  2026-02-10 20:11     ` Lis, Tomasz
  0 siblings, 1 reply; 14+ messages in thread
From: Matthew Brost @ 2026-02-06 18:11 UTC (permalink / raw)
  To: Tomasz Lis
  Cc: intel-xe, Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Lucas De Marchi

On Fri, Feb 06, 2026 at 03:53:33PM +0100, Tomasz Lis wrote:
> When a context is being created during save/restore, the LRC creation
> needs to wait for GGTT address space to be shifted. But it also needs
> to have fixed default LRCs. This is mandatory to avoid the situation
> where LRC will be created based on data from before the fixups, but
> reference within exec queue will be set too late for fixups.
> 
> This fixes an issue where contexts created during save/restore have
> a large chance of having one unfixed LRC, due to the xe_lrc_create()
> being synced for equal start to race with default LRC fixups.
> 

This indeed looks like a potential problem.

This whole flow is a bit weak (my fault — I meant to fix this but lost
track of it). Maybe we should make this a bit more robust and ordered by
the GuC backend.

Roughly:

- In guc_exec_queue_unpause_prepare, if at least one job has been
  submitted, we fix the LRCs on the queue. This would happen prior to
  emit_job. I believe the 'at least one job has been submited check' is
  exec_queue_registered.

- In guc_exec_queue_run_job, upon running the first job (hook in
  register_exec_queue) and if VF migration is enabled, we fix the LRC.

What do you think? I believe this would work, provide stronger ordering
guarantees, and let us drop the READ_ONCE/WRITE_ONCE and wait‑queue
semantics, which are questionable at best. We could probably revert the
flipping of q->ops->init and the LRC creation order back to the original
flow as well.

Matt

> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_exec_queue.c        |  2 +-
>  drivers/gpu/drm/xe/xe_gt_sriov_vf.c       | 24 +++++++++++------------
>  drivers/gpu/drm/xe/xe_gt_sriov_vf.h       |  2 +-
>  drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h |  4 ++--
>  4 files changed, 15 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index e9396ad3390a..6eb561086e1c 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -309,7 +309,7 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
>  	for (i = 0; i < q->width; ++i) {
>  		struct xe_lrc *lrc;
>  
> -		xe_gt_sriov_vf_wait_valid_ggtt(q->gt);
> +		xe_gt_sriov_vf_wait_valid_default_lrc(q->gt);
>  		lrc = xe_lrc_create(q->hwe, q->vm, q->replay_state,
>  				    xe_lrc_ring_size(), q->msix_vec, flags);
>  		if (IS_ERR(lrc)) {
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> index 30e8c2cf5f09..1edccee84c76 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
> @@ -529,12 +529,6 @@ static int vf_get_ggtt_info(struct xe_gt *gt)
>  		xe_tile_sriov_vf_fixup_ggtt_nodes_locked(gt_to_tile(gt), shift);
>  	}
>  
> -	if (xe_sriov_vf_migration_supported(gt_to_xe(gt))) {
> -		WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false);
> -		smp_wmb();	/* Ensure above write visible before wake */
> -		wake_up_all(&gt->sriov.vf.migration.wq);
> -	}
> -
>  	return 0;
>  }
>  
> @@ -837,6 +831,10 @@ static void xe_gt_sriov_vf_default_lrcs_hwsp_rebase(struct xe_gt *gt)
>  
>  	for_each_hw_engine(hwe, gt, id)
>  		xe_default_lrc_update_memirq_regs_with_address(hwe);
> +
> +	WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, false);
> +	smp_wmb();	/* Ensure above write visible before wake */
> +	wake_up_all(&gt->sriov.vf.migration.wq);
>  }
>  
>  static void vf_start_migration_recovery(struct xe_gt *gt)
> @@ -851,7 +849,7 @@ static void vf_start_migration_recovery(struct xe_gt *gt)
>  	    !gt->sriov.vf.migration.recovery_teardown) {
>  		gt->sriov.vf.migration.recovery_queued = true;
>  		WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, true);
> -		WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, true);
> +		WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, true);
>  		smp_wmb();	/* Ensure above writes visible before wake */
>  
>  		xe_guc_ct_wake_waiters(&gt->uc.guc.ct);
> @@ -1296,7 +1294,7 @@ static void vf_post_migration_abort(struct xe_gt *gt)
>  {
>  	spin_lock_irq(&gt->sriov.vf.migration.lock);
>  	WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, false);
> -	WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false);
> +	WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, false);
>  	spin_unlock_irq(&gt->sriov.vf.migration.lock);
>  
>  	wake_up_all(&gt->sriov.vf.migration.wq);
> @@ -1492,7 +1490,7 @@ bool xe_gt_sriov_vf_recovery_pending(struct xe_gt *gt)
>  	return READ_ONCE(gt->sriov.vf.migration.recovery_inprogress);
>  }
>  
> -static bool vf_valid_ggtt(struct xe_gt *gt)
> +static bool vf_valid_default_lrc(struct xe_gt *gt)
>  {
>  	struct xe_memirq *memirq = &gt_to_tile(gt)->memirq;
>  	bool irq_pending = xe_device_uses_memirq(gt_to_xe(gt)) &&
> @@ -1500,17 +1498,17 @@ static bool vf_valid_ggtt(struct xe_gt *gt)
>  
>  	xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt)));
>  
> -	if (irq_pending || READ_ONCE(gt->sriov.vf.migration.ggtt_need_fixes))
> +	if (irq_pending || READ_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes))
>  		return false;
>  
>  	return true;
>  }
>  
>  /**
> - * xe_gt_sriov_vf_wait_valid_ggtt() - VF wait for valid GGTT addresses
> + * xe_gt_sriov_vf_wait_valid_default_lrc() - wait for valid GGTT refs in default LRCs
>   * @gt: the &xe_gt
>   */
> -void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
> +void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt)
>  {
>  	int ret;
>  
> @@ -1519,7 +1517,7 @@ void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
>  		return;
>  
>  	ret = wait_event_interruptible_timeout(gt->sriov.vf.migration.wq,
> -					       vf_valid_ggtt(gt),
> +					       vf_valid_default_lrc(gt),
>  					       HZ * 5);
>  	xe_gt_WARN_ON(gt, !ret);
>  }
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
> index 7d97189c2d3d..70232dc38f9a 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
> @@ -39,6 +39,6 @@ void xe_gt_sriov_vf_print_config(struct xe_gt *gt, struct drm_printer *p);
>  void xe_gt_sriov_vf_print_runtime(struct xe_gt *gt, struct drm_printer *p);
>  void xe_gt_sriov_vf_print_version(struct xe_gt *gt, struct drm_printer *p);
>  
> -void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt);
> +void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt);
>  
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
> index 4ef881b9b662..8be181bf3cf3 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
> @@ -73,8 +73,8 @@ struct xe_gt_sriov_vf_migration {
>  	bool recovery_queued;
>  	/** @recovery_inprogress: VF post migration recovery in progress */
>  	bool recovery_inprogress;
> -	/** @ggtt_need_fixes: VF GGTT needs fixes */
> -	bool ggtt_need_fixes;
> +	/** @default_lrcs_need_fixes: GGTT refs within default LRCs need fixes */
> +	bool default_lrcs_need_fixes;
>  };
>  
>  /**
> -- 
> 2.25.1
> 

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

* ✗ Xe.CI.FULL: failure for drm/xe/vf: Fix exec queue creation during post-migration recovery
  2026-02-06 14:53 [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery Tomasz Lis
                   ` (5 preceding siblings ...)
  2026-02-06 15:29 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-02-07 15:42 ` Patchwork
  6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2026-02-07 15:42 UTC (permalink / raw)
  To: Tomasz Lis; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/vf: Fix exec queue creation during post-migration recovery
URL   : https://patchwork.freedesktop.org/series/161287/
State : failure

== Summary ==

CI Bug Log - changes from xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04_FULL -> xe-pw-161287v1_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-161287v1_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-161287v1_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (2 -> 2)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in xe-pw-161287v1_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_sequence@queue-idle@pipe-d-dp-2:
    - shard-bmg:          [PASS][1] -> [FAIL][2] +2 other tests fail
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@kms_sequence@queue-idle@pipe-d-dp-2.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_sequence@queue-idle@pipe-d-dp-2.html

  * igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system:
    - shard-lnl:          [PASS][3] -> [DMESG-WARN][4] +2 other tests dmesg-warn
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-8/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-8/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-system-system.html

  * igt@xe_exec_threads@threads-hang-shared-vm-userptr-invalidate-race:
    - shard-bmg:          [PASS][5] -> [DMESG-WARN][6] +1 other test dmesg-warn
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-1/igt@xe_exec_threads@threads-hang-shared-vm-userptr-invalidate-race.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@xe_exec_threads@threads-hang-shared-vm-userptr-invalidate-race.html

  * igt@xe_fault_injection@exec-queue-create-fail-xe_exec_queue_create_bind:
    - shard-bmg:          [PASS][7] -> [ABORT][8]
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@xe_fault_injection@exec-queue-create-fail-xe_exec_queue_create_bind.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@xe_fault_injection@exec-queue-create-fail-xe_exec_queue_create_bind.html

  
Known issues
------------

  Here are the changes found in xe-pw-161287v1_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#2233])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_big_fb@linear-32bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#2327]) +6 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@kms_big_fb@linear-32bpp-rotate-270.html

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][11] ([Intel XE#7059])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-6/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#7059])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-90:
    - shard-lnl:          NOTRUN -> [SKIP][13] ([Intel XE#1407]) +1 other test skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-2/igt@kms_big_fb@x-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-addfb:
    - shard-bmg:          NOTRUN -> [SKIP][14] ([Intel XE#2328]) +1 other test skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-7/igt@kms_big_fb@y-tiled-addfb.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][15] ([Intel XE#607])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-7/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [SKIP][16] ([Intel XE#1124]) +12 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
    - shard-lnl:          NOTRUN -> [SKIP][17] ([Intel XE#1124]) +3 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-8/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html

  * igt@kms_bw@connected-linear-tiling-3-displays-2560x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2314] / [Intel XE#2894]) +3 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_bw@connected-linear-tiling-3-displays-2560x1440p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][19] ([Intel XE#1512])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-7/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html

  * igt@kms_bw@linear-tiling-1-displays-2160x1440p:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#367]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-1/igt@kms_bw@linear-tiling-1-displays-2160x1440p.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][21] ([Intel XE#3432])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-d-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2652] / [Intel XE#787]) +26 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-d-hdmi-a-3.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#2887]) +20 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][24] ([Intel XE#2887]) +2 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs.html

  * igt@kms_cdclk@plane-scaling:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#2724])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_color@degamma:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#2325])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_chamelium_color@degamma.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-lnl:          NOTRUN -> [SKIP][27] ([Intel XE#373]) +2 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-2/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode:
    - shard-bmg:          NOTRUN -> [SKIP][28] ([Intel XE#2252]) +9 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html

  * igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-c-edp-1:
    - shard-lnl:          NOTRUN -> [FAIL][29] ([Intel XE#6968]) +3 other tests fail
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-2/igt@kms_color_pipeline@plane-ctm3x4-lut1d@pipe-c-edp-1.html

  * igt@kms_color_pipeline@plane-lut3d-green-only@pipe-c-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#6969]) +1 other test skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_color_pipeline@plane-lut3d-green-only@pipe-c-hdmi-a-3.html

  * igt@kms_color_pipeline@plane-lut3d-green-only@pipe-d-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [SKIP][31] ([Intel XE#6969] / [Intel XE#7006])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_color_pipeline@plane-lut3d-green-only@pipe-d-hdmi-a-3.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-bmg:          NOTRUN -> [SKIP][32] ([Intel XE#2390] / [Intel XE#6974])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#6974])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html

  * igt@kms_content_protection@legacy:
    - shard-bmg:          NOTRUN -> [FAIL][34] ([Intel XE#1178] / [Intel XE#3304]) +4 other tests fail
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-1/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-0-hdcp14@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][35] ([Intel XE#3304]) +3 other tests fail
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_content_protection@lic-type-0-hdcp14@pipe-a-dp-2.html

  * igt@kms_content_protection@lic-type-1:
    - shard-bmg:          NOTRUN -> [SKIP][36] ([Intel XE#2341])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@kms_content_protection@lic-type-1.html

  * igt@kms_content_protection@uevent@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][37] ([Intel XE#6707])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@kms_content_protection@uevent@pipe-a-dp-2.html

  * igt@kms_cursor_crc@cursor-onscreen-max-size:
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#2320]) +8 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@kms_cursor_crc@cursor-onscreen-max-size.html

  * igt@kms_cursor_crc@cursor-rapid-movement-256x85:
    - shard-lnl:          NOTRUN -> [SKIP][39] ([Intel XE#1424])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-bmg:          [PASS][40] -> [SKIP][41] ([Intel XE#2291])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#2291]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#2286])
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#4210])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_dirtyfb@fbc-dirtyfb-ioctl.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - shard-bmg:          NOTRUN -> [SKIP][45] ([Intel XE#1340]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-lnl:          NOTRUN -> [SKIP][46] ([Intel XE#4354])
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#4294])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#4331])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-7/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [PASS][49] -> [SKIP][50] ([Intel XE#2316]) +2 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@2x-nonexisting-fb:
    - shard-lnl:          NOTRUN -> [SKIP][51] ([Intel XE#1421]) +1 other test skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-6/igt@kms_flip@2x-nonexisting-fb.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#2316]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-lnl:          [PASS][53] -> [INCOMPLETE][54] ([Intel XE#6906]) +1 other test incomplete
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-1/igt@kms_flip@flip-vs-suspend.html
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-4/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend@c-hdmi-a3:
    - shard-bmg:          [PASS][55] -> [INCOMPLETE][56] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-8/igt@kms_flip@flip-vs-suspend@c-hdmi-a3.html
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@kms_flip@flip-vs-suspend@c-hdmi-a3.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][57] ([Intel XE#7178])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-4/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][58] ([Intel XE#7178]) +5 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][59] ([Intel XE#6312]) +1 other test skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-4/igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-plflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][60] ([Intel XE#651]) +1 other test skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][61] ([Intel XE#2311]) +39 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][62] ([Intel XE#7061])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-6/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#7061]) +4 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][64] ([Intel XE#4141]) +18 other tests skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][65] ([Intel XE#656]) +8 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#2312]) +9 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][67] ([Intel XE#2313]) +31 other tests skip
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_hdmi_inject@inject-4k:
    - shard-lnl:          NOTRUN -> [SKIP][68] ([Intel XE#1470])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-4/igt@kms_hdmi_inject@inject-4k.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#3374] / [Intel XE#3544])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-lnl:          NOTRUN -> [SKIP][70] ([Intel XE#7086])
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-8/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][71] ([Intel XE#6911])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_joiner@basic-force-ultra-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-bmg:          NOTRUN -> [SKIP][72] ([Intel XE#2501])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_panel_fitting@atomic-fastset:
    - shard-bmg:          NOTRUN -> [SKIP][73] ([Intel XE#2486])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_panel_fitting@atomic-fastset.html

  * igt@kms_plane@pixel-format-y-tiled-ccs-modifier@pipe-a-plane-0:
    - shard-lnl:          NOTRUN -> [SKIP][74] ([Intel XE#7130]) +8 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-1/igt@kms_plane@pixel-format-y-tiled-ccs-modifier@pipe-a-plane-0.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#7111] / [Intel XE#7130] / [Intel XE#7131]) +2 other tests skip
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping@pipe-a-plane-5:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#7131]) +2 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping@pipe-a-plane-5.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping@pipe-b-plane-5:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#7111] / [Intel XE#7131]) +2 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping@pipe-b-plane-5.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-a-plane-0:
    - shard-bmg:          NOTRUN -> [SKIP][78] ([Intel XE#7130]) +33 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-a-plane-0.html

  * igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-5:
    - shard-bmg:          NOTRUN -> [SKIP][79] ([Intel XE#7111] / [Intel XE#7130]) +7 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-5.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][80] ([Intel XE#2393])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_multiple@2x-tiling-none:
    - shard-bmg:          [PASS][81] -> [SKIP][82] ([Intel XE#4596])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-none.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_plane_multiple@2x-tiling-none.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
    - shard-bmg:          NOTRUN -> [SKIP][83] ([Intel XE#6886]) +4 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][84] ([Intel XE#870])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#3309])
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-lnl:          [PASS][86] -> [FAIL][87] ([Intel XE#718]) +1 other test fail
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-2/igt@kms_pm_dc@dc6-psr.html
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-2/igt@kms_pm_dc@dc6-psr.html
    - shard-bmg:          NOTRUN -> [SKIP][88] ([Intel XE#2392])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#1406] / [Intel XE#1489]) +10 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
    - shard-lnl:          NOTRUN -> [SKIP][90] ([Intel XE#1406] / [Intel XE#2893])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-7/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr@fbc-pr-primary-page-flip:
    - shard-bmg:          NOTRUN -> [SKIP][91] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +13 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_psr@fbc-pr-primary-page-flip.html

  * igt@kms_psr@pr-basic:
    - shard-lnl:          NOTRUN -> [SKIP][92] ([Intel XE#1406])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-2/igt@kms_psr@pr-basic.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-lnl:          NOTRUN -> [SKIP][93] ([Intel XE#3414] / [Intel XE#3904]) +1 other test skip
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-5/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-bmg:          NOTRUN -> [SKIP][94] ([Intel XE#2330])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-bmg:          NOTRUN -> [SKIP][95] ([Intel XE#3414] / [Intel XE#3904]) +2 other tests skip
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-bmg:          [PASS][96] -> [SKIP][97] ([Intel XE#1435])
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@kms_setmode@invalid-clone-single-crtc.html
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_sharpness_filter@invalid-filter-with-scaling-mode:
    - shard-bmg:          NOTRUN -> [SKIP][98] ([Intel XE#6503]) +3 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@kms_sharpness_filter@invalid-filter-with-scaling-mode.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-bmg:          NOTRUN -> [SKIP][99] ([Intel XE#2450])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vrr@lobf:
    - shard-bmg:          NOTRUN -> [SKIP][100] ([Intel XE#2168])
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_vrr@lobf.html

  * igt@kms_vrr@negative-basic:
    - shard-bmg:          [PASS][101] -> [SKIP][102] ([Intel XE#1499])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-2/igt@kms_vrr@negative-basic.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_vrr@negative-basic.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-lnl:          NOTRUN -> [SKIP][103] ([Intel XE#1499])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-2/igt@kms_vrr@seamless-rr-switch-drrs.html
    - shard-bmg:          NOTRUN -> [SKIP][104] ([Intel XE#1499]) +1 other test skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-1/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system:
    - shard-lnl:          [PASS][105] -> [ABORT][106] ([Intel XE#7169]) +1 other test abort
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-8/igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-8/igt@xe_ccs@suspend-resume@linear-compressed-compfmt0-system-system.html

  * igt@xe_compute@ccs-mode-compute-kernel:
    - shard-bmg:          NOTRUN -> [SKIP][107] ([Intel XE#6599])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@xe_compute@ccs-mode-compute-kernel.html

  * igt@xe_eudebug@basic-vms:
    - shard-lnl:          NOTRUN -> [SKIP][108] ([Intel XE#4837])
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-4/igt@xe_eudebug@basic-vms.html

  * igt@xe_eudebug@vma-ufence:
    - shard-bmg:          NOTRUN -> [SKIP][109] ([Intel XE#4837]) +9 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@xe_eudebug@vma-ufence.html

  * igt@xe_eudebug_online@pagefault-write:
    - shard-bmg:          NOTRUN -> [SKIP][110] ([Intel XE#4837] / [Intel XE#6665]) +9 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@xe_eudebug_online@pagefault-write.html

  * igt@xe_eudebug_online@stopped-thread:
    - shard-lnl:          NOTRUN -> [SKIP][111] ([Intel XE#4837] / [Intel XE#6665])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@xe_eudebug_online@stopped-thread.html

  * igt@xe_eudebug_sriov@deny-sriov:
    - shard-bmg:          NOTRUN -> [SKIP][112] ([Intel XE#5793])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@xe_eudebug_sriov@deny-sriov.html

  * igt@xe_evict@evict-small-multi-queue-cm:
    - shard-bmg:          NOTRUN -> [SKIP][113] ([Intel XE#7140]) +3 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@xe_evict@evict-small-multi-queue-cm.html

  * igt@xe_evict_ccs@evict-overcommit-simple:
    - shard-lnl:          NOTRUN -> [SKIP][114] ([Intel XE#688])
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-1/igt@xe_evict_ccs@evict-overcommit-simple.html

  * igt@xe_exec_basic@multigpu-once-null-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][115] ([Intel XE#2322]) +13 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@xe_exec_basic@multigpu-once-null-rebind.html

  * igt@xe_exec_basic@multigpu-once-userptr-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][116] ([Intel XE#1392]) +3 other tests skip
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@xe_exec_basic@multigpu-once-userptr-invalidate.html

  * igt@xe_exec_fault_mode@twice-multi-queue-prefetch:
    - shard-lnl:          NOTRUN -> [SKIP][117] ([Intel XE#7136]) +3 other tests skip
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-4/igt@xe_exec_fault_mode@twice-multi-queue-prefetch.html

  * igt@xe_exec_fault_mode@twice-multi-queue-userptr:
    - shard-bmg:          NOTRUN -> [SKIP][118] ([Intel XE#7136]) +13 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@xe_exec_fault_mode@twice-multi-queue-userptr.html

  * igt@xe_exec_multi_queue@many-execs-preempt-mode-fault-close-fd-smem:
    - shard-lnl:          NOTRUN -> [SKIP][119] ([Intel XE#6874]) +7 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-8/igt@xe_exec_multi_queue@many-execs-preempt-mode-fault-close-fd-smem.html

  * igt@xe_exec_multi_queue@many-execs-preempt-mode-fault-userptr-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][120] ([Intel XE#6874]) +40 other tests skip
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@xe_exec_multi_queue@many-execs-preempt-mode-fault-userptr-invalidate.html

  * igt@xe_exec_system_allocator@many-execqueues-mmap-prefetch-shared:
    - shard-bmg:          [PASS][121] -> [ABORT][122] ([Intel XE#7169])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@xe_exec_system_allocator@many-execqueues-mmap-prefetch-shared.html
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@xe_exec_system_allocator@many-execqueues-mmap-prefetch-shared.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-free-huge:
    - shard-lnl:          NOTRUN -> [SKIP][123] ([Intel XE#4943]) +4 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-7/igt@xe_exec_system_allocator@threads-shared-vm-many-execqueues-mmap-free-huge.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-free-huge:
    - shard-bmg:          NOTRUN -> [SKIP][124] ([Intel XE#4943]) +28 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-free-huge.html

  * igt@xe_exec_threads@threads-many-queues:
    - shard-bmg:          NOTRUN -> [FAIL][125] ([Intel XE#7166])
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@xe_exec_threads@threads-many-queues.html

  * igt@xe_exec_threads@threads-multi-queue-cm-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [SKIP][126] ([Intel XE#7138]) +2 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-7/igt@xe_exec_threads@threads-multi-queue-cm-userptr-invalidate-race.html

  * igt@xe_exec_threads@threads-multi-queue-mixed-shared-vm-userptr-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][127] ([Intel XE#7138]) +12 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@xe_exec_threads@threads-multi-queue-mixed-shared-vm-userptr-rebind.html

  * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
    - shard-bmg:          NOTRUN -> [SKIP][128] ([Intel XE#2229])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html

  * igt@xe_module_load@load:
    - shard-bmg:          ([PASS][129], [PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134], [PASS][135], [PASS][136], [PASS][137], [PASS][138], [PASS][139], [PASS][140], [PASS][141], [PASS][142], [PASS][143], [PASS][144], [PASS][145], [PASS][146], [PASS][147], [PASS][148], [PASS][149], [PASS][150], [PASS][151], [PASS][152], [PASS][153]) -> ([PASS][154], [PASS][155], [PASS][156], [PASS][157], [PASS][158], [PASS][159], [PASS][160], [PASS][161], [PASS][162], [PASS][163], [PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [SKIP][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179]) ([Intel XE#2457])
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-2/igt@xe_module_load@load.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-8/igt@xe_module_load@load.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-8/igt@xe_module_load@load.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-8/igt@xe_module_load@load.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@xe_module_load@load.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-1/igt@xe_module_load@load.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@xe_module_load@load.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-1/igt@xe_module_load@load.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-7/igt@xe_module_load@load.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-5/igt@xe_module_load@load.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-4/igt@xe_module_load@load.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@xe_module_load@load.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@xe_module_load@load.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-10/igt@xe_module_load@load.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-10/igt@xe_module_load@load.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-10/igt@xe_module_load@load.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-5/igt@xe_module_load@load.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-4/igt@xe_module_load@load.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-5/igt@xe_module_load@load.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-7/igt@xe_module_load@load.html
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-2/igt@xe_module_load@load.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@xe_module_load@load.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@xe_module_load@load.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-3/igt@xe_module_load@load.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-3/igt@xe_module_load@load.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-1/igt@xe_module_load@load.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-1/igt@xe_module_load@load.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-7/igt@xe_module_load@load.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-7/igt@xe_module_load@load.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-7/igt@xe_module_load@load.html
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@xe_module_load@load.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@xe_module_load@load.html
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@xe_module_load@load.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@xe_module_load@load.html
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@xe_module_load@load.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@xe_module_load@load.html
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@xe_module_load@load.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@xe_module_load@load.html
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@xe_module_load@load.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@xe_module_load@load.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@xe_module_load@load.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@xe_module_load@load.html
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@xe_module_load@load.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@xe_module_load@load.html
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@xe_module_load@load.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@xe_module_load@load.html
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@xe_module_load@load.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@xe_module_load@load.html
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@xe_module_load@load.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@xe_module_load@load.html
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@xe_module_load@load.html

  * igt@xe_multigpu_svm@mgpu-coherency-prefetch:
    - shard-lnl:          NOTRUN -> [SKIP][180] ([Intel XE#6964]) +1 other test skip
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-2/igt@xe_multigpu_svm@mgpu-coherency-prefetch.html

  * igt@xe_multigpu_svm@mgpu-latency-prefetch:
    - shard-bmg:          NOTRUN -> [SKIP][181] ([Intel XE#6964]) +3 other tests skip
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@xe_multigpu_svm@mgpu-latency-prefetch.html

  * igt@xe_oa@oa-tlb-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][182] ([Intel XE#2248])
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@xe_oa@oa-tlb-invalidate.html
    - shard-bmg:          NOTRUN -> [SKIP][183] ([Intel XE#2248])
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@xe_oa@oa-tlb-invalidate.html

  * igt@xe_pat@pat-index-xehpc:
    - shard-bmg:          NOTRUN -> [SKIP][184] ([Intel XE#1420])
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pm@d3cold-multiple-execs:
    - shard-bmg:          NOTRUN -> [SKIP][185] ([Intel XE#2284])
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@xe_pm@d3cold-multiple-execs.html

  * igt@xe_pm@s3-d3hot-basic-exec:
    - shard-lnl:          NOTRUN -> [SKIP][186] ([Intel XE#584])
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-7/igt@xe_pm@s3-d3hot-basic-exec.html

  * igt@xe_pxp@pxp-stale-bo-exec-post-rpm:
    - shard-bmg:          NOTRUN -> [SKIP][187] ([Intel XE#4733]) +1 other test skip
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@xe_pxp@pxp-stale-bo-exec-post-rpm.html

  * igt@xe_query@multigpu-query-hwconfig:
    - shard-lnl:          NOTRUN -> [SKIP][188] ([Intel XE#944])
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-7/igt@xe_query@multigpu-query-hwconfig.html

  * igt@xe_query@multigpu-query-mem-usage:
    - shard-bmg:          NOTRUN -> [SKIP][189] ([Intel XE#944]) +3 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@xe_query@multigpu-query-mem-usage.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-lnl:          NOTRUN -> [SKIP][190] ([Intel XE#3342])
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_vm@shared-pde-page:
    - shard-bmg:          [PASS][191] -> [DMESG-WARN][192] ([Intel XE#3428])
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-5/igt@xe_vm@shared-pde-page.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@xe_vm@shared-pde-page.html

  
#### Possible fixes ####

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear:
    - shard-lnl:          [FAIL][193] ([Intel XE#5993]) -> [PASS][194] +3 other tests pass
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-4/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html

  * igt@kms_bw@connected-linear-tiling-1-displays-1920x1080p:
    - shard-bmg:          [DMESG-WARN][195] -> [PASS][196]
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-2/igt@kms_bw@connected-linear-tiling-1-displays-1920x1080p.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@kms_bw@connected-linear-tiling-1-displays-1920x1080p.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
    - shard-bmg:          [SKIP][197] ([Intel XE#2291]) -> [PASS][198] +4 other tests pass
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html

  * igt@kms_display_modes@extended-mode-basic:
    - shard-bmg:          [SKIP][199] ([Intel XE#4302]) -> [PASS][200]
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@kms_display_modes@extended-mode-basic.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@kms_display_modes@extended-mode-basic.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
    - shard-bmg:          [SKIP][201] ([Intel XE#2316]) -> [PASS][202] +3 other tests pass
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-5/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-1/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-lnl:          [FAIL][203] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][204] +1 other test pass
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-bmg:          [DMESG-WARN][205] ([Intel XE#3428] / [Intel XE#5208]) -> [PASS][206]
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-3/igt@kms_flip@flip-vs-suspend-interruptible.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-bmg:          [SKIP][207] ([Intel XE#1503]) -> [PASS][208] +1 other test pass
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-5/igt@kms_hdr@invalid-metadata-sizes.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_pm_rpm@universal-planes:
    - shard-lnl:          [SKIP][209] ([Intel XE#7197]) -> [PASS][210]
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-1/igt@kms_pm_rpm@universal-planes.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-8/igt@kms_pm_rpm@universal-planes.html

  * igt@kms_universal_plane@universal-plane-functional:
    - shard-bmg:          [INCOMPLETE][211] -> [PASS][212] +1 other test pass
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-8/igt@kms_universal_plane@universal-plane-functional.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_universal_plane@universal-plane-functional.html

  * igt@kms_vrr@flipline:
    - shard-lnl:          [FAIL][213] ([Intel XE#4227]) -> [PASS][214] +1 other test pass
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-1/igt@kms_vrr@flipline.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-2/igt@kms_vrr@flipline.html

  * igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1:
    - shard-lnl:          [FAIL][215] ([Intel XE#2142]) -> [PASS][216] +1 other test pass
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-lnl-3/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-lnl-4/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-bmg:          [INCOMPLETE][217] ([Intel XE#6321]) -> [PASS][218]
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-1/igt@xe_evict@evict-beng-mixed-many-threads-small.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_exec_balancer@once-cm-parallel-userptr:
    - shard-bmg:          [ABORT][219] ([Intel XE#7169]) -> [PASS][220]
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-10/igt@xe_exec_balancer@once-cm-parallel-userptr.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@xe_exec_balancer@once-cm-parallel-userptr.html

  * igt@xe_fault_injection@vm-bind-fail-vm_bind_ioctl_ops_execute:
    - shard-bmg:          [ABORT][221] -> [PASS][222] +1 other test pass
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@xe_fault_injection@vm-bind-fail-vm_bind_ioctl_ops_execute.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@xe_fault_injection@vm-bind-fail-vm_bind_ioctl_ops_execute.html

  
#### Warnings ####

  * igt@kms_content_protection@atomic:
    - shard-bmg:          [SKIP][223] ([Intel XE#2341]) -> [FAIL][224] ([Intel XE#1178] / [Intel XE#3304])
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@kms_content_protection@atomic.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-8/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@uevent:
    - shard-bmg:          [SKIP][225] ([Intel XE#2341]) -> [FAIL][226] ([Intel XE#6707])
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-5/igt@kms_content_protection@uevent.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@kms_content_protection@uevent.html

  * igt@kms_content_protection@uevent-hdcp14:
    - shard-bmg:          [FAIL][227] ([Intel XE#6707]) -> [SKIP][228] ([Intel XE#7194])
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@kms_content_protection@uevent-hdcp14.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_content_protection@uevent-hdcp14.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-bmg:          [FAIL][229] ([Intel XE#4633]) -> [FAIL][230] ([Intel XE#5299])
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
    - shard-bmg:          [ABORT][231] ([Intel XE#5545] / [Intel XE#6652]) -> [SKIP][232] ([Intel XE#2316])
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-2/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move:
    - shard-bmg:          [SKIP][233] ([Intel XE#2311]) -> [SKIP][234] ([Intel XE#2312]) +9 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][235] ([Intel XE#4141]) -> [SKIP][236] ([Intel XE#2312]) +1 other test skip
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-bmg:          [SKIP][237] ([Intel XE#2312]) -> [SKIP][238] ([Intel XE#4141]) +5 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-plflip-blt:
    - shard-bmg:          [SKIP][239] ([Intel XE#2312]) -> [SKIP][240] ([Intel XE#2311]) +14 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-plflip-blt.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-bmg:          [SKIP][241] ([Intel XE#2312]) -> [SKIP][242] ([Intel XE#2313]) +12 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][243] ([Intel XE#2313]) -> [SKIP][244] ([Intel XE#2312]) +8 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-bmg:          [SKIP][245] ([Intel XE#4596]) -> [SKIP][246] ([Intel XE#5021])
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-y.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-9/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][247] ([Intel XE#2426]) -> [SKIP][248] ([Intel XE#2509])
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-9/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
    - shard-bmg:          [ABORT][249] ([Intel XE#5466] / [Intel XE#6652]) -> [ABORT][250] ([Intel XE#5466])
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04/shard-bmg-4/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-161287v1/shard-bmg-5/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1470]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1470
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2142
  [Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2248]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2248
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
  [Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2392
  [Intel XE#2393]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2393
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2450]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2450
  [Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
  [Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
  [Intel XE#2501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2501
  [Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
  [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3428
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4210]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4210
  [Intel XE#4227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4227
  [Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
  [Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
  [Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
  [Intel XE#5299]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5299
  [Intel XE#5466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5466
  [Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
  [Intel XE#5793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5793
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#5993]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5993
  [Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
  [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
  [Intel XE#6652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6652
  [Intel XE#6665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6665
  [Intel XE#6707]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6707
  [Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
  [Intel XE#6906]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6906
  [Intel XE#6911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6911
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6968]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6968
  [Intel XE#6969]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6969
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7006]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7006
  [Intel XE#7059]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7059
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7086]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7086
  [Intel XE#7111]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7111
  [Intel XE#7130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7130
  [Intel XE#7131]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7131
  [Intel XE#7136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7136
  [Intel XE#7138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7138
  [Intel XE#7140]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7140
  [Intel XE#7166]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7166
  [Intel XE#7169]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7169
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#7194]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7194
  [Intel XE#7197]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7197
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


Build changes
-------------

  * IGT: IGT_8740 -> IGT_8741
  * Linux: xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04 -> xe-pw-161287v1

  IGT_8740: 36ebdc56b434bf330c44e96205f1fcefcf598651 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_8741: 8741
  xe-4519-d9124a6be3c7bdaeb14c3629013dde27929dbf04: d9124a6be3c7bdaeb14c3629013dde27929dbf04
  xe-pw-161287v1: 161287v1

== Logs ==

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

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

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

* Re: [PATCH v1 3/4] drm/xe/vf: Wait for default LRCs fixups before using
  2026-02-06 18:11   ` Matthew Brost
@ 2026-02-10 20:11     ` Lis, Tomasz
  2026-02-18 23:15       ` Lis, Tomasz
  0 siblings, 1 reply; 14+ messages in thread
From: Lis, Tomasz @ 2026-02-10 20:11 UTC (permalink / raw)
  To: Matthew Brost
  Cc: intel-xe, Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Lucas De Marchi


On 2/6/2026 7:11 PM, Matthew Brost wrote:
> On Fri, Feb 06, 2026 at 03:53:33PM +0100, Tomasz Lis wrote:
>> When a context is being created during save/restore, the LRC creation
>> needs to wait for GGTT address space to be shifted. But it also needs
>> to have fixed default LRCs. This is mandatory to avoid the situation
>> where LRC will be created based on data from before the fixups, but
>> reference within exec queue will be set too late for fixups.
>>
>> This fixes an issue where contexts created during save/restore have
>> a large chance of having one unfixed LRC, due to the xe_lrc_create()
>> being synced for equal start to race with default LRC fixups.
>>
> This indeed looks like a potential problem.
>
> This whole flow is a bit weak (my fault — I meant to fix this but lost
> track of it). Maybe we should make this a bit more robust and ordered by
> the GuC backend.
>
> Roughly:
>
> - In guc_exec_queue_unpause_prepare, if at least one job has been
>    submitted, we fix the LRCs on the queue. This would happen prior to
>    emit_job. I believe the 'at least one job has been submited check' is
>    exec_queue_registered.
>
> - In guc_exec_queue_run_job, upon running the first job (hook in
>    register_exec_queue) and if VF migration is enabled, we fix the LRC.
>
> What do you think? I believe this would work, provide stronger ordering
> guarantees, and let us drop the READ_ONCE/WRITE_ONCE and wait‑queue
> semantics, which are questionable at best. We could probably revert the
> flipping of q->ops->init and the LRC creation order back to the original
> flow as well.

I have a vague suspicion that there maybe can be something more wrong 
with the LRC

than the GGTT references, if being created at the moment of VF 
migration. But maybe

I'm misinterpreting stuff, I can't point to a mechanism which could 
create such skewed LRCs.


We should create a POC, then do some intense testing. If it works, then 
my "vague suspicions"

were baseless. It does look like a good solution, even if less contained 
to the recovery worker.

Performance impact should be next to none, due to the fixups only 
happening once on new

context during normal VF driver operations. Creating a lot of contexts 
to do one, very small job

on each is not a flow used anywhere outside of tests (and even there, 
the impact wouldn't be

that noticeable).


Will work on the POC, and ping you in case of issues.

-Tomasz


> Matt
>
>> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
>> ---
>>   drivers/gpu/drm/xe/xe_exec_queue.c        |  2 +-
>>   drivers/gpu/drm/xe/xe_gt_sriov_vf.c       | 24 +++++++++++------------
>>   drivers/gpu/drm/xe/xe_gt_sriov_vf.h       |  2 +-
>>   drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h |  4 ++--
>>   4 files changed, 15 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
>> index e9396ad3390a..6eb561086e1c 100644
>> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
>> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
>> @@ -309,7 +309,7 @@ static int __xe_exec_queue_init(struct xe_exec_queue *q, u32 exec_queue_flags)
>>   	for (i = 0; i < q->width; ++i) {
>>   		struct xe_lrc *lrc;
>>   
>> -		xe_gt_sriov_vf_wait_valid_ggtt(q->gt);
>> +		xe_gt_sriov_vf_wait_valid_default_lrc(q->gt);
>>   		lrc = xe_lrc_create(q->hwe, q->vm, q->replay_state,
>>   				    xe_lrc_ring_size(), q->msix_vec, flags);
>>   		if (IS_ERR(lrc)) {
>> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
>> index 30e8c2cf5f09..1edccee84c76 100644
>> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
>> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
>> @@ -529,12 +529,6 @@ static int vf_get_ggtt_info(struct xe_gt *gt)
>>   		xe_tile_sriov_vf_fixup_ggtt_nodes_locked(gt_to_tile(gt), shift);
>>   	}
>>   
>> -	if (xe_sriov_vf_migration_supported(gt_to_xe(gt))) {
>> -		WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false);
>> -		smp_wmb();	/* Ensure above write visible before wake */
>> -		wake_up_all(&gt->sriov.vf.migration.wq);
>> -	}
>> -
>>   	return 0;
>>   }
>>   
>> @@ -837,6 +831,10 @@ static void xe_gt_sriov_vf_default_lrcs_hwsp_rebase(struct xe_gt *gt)
>>   
>>   	for_each_hw_engine(hwe, gt, id)
>>   		xe_default_lrc_update_memirq_regs_with_address(hwe);
>> +
>> +	WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, false);
>> +	smp_wmb();	/* Ensure above write visible before wake */
>> +	wake_up_all(&gt->sriov.vf.migration.wq);
>>   }
>>   
>>   static void vf_start_migration_recovery(struct xe_gt *gt)
>> @@ -851,7 +849,7 @@ static void vf_start_migration_recovery(struct xe_gt *gt)
>>   	    !gt->sriov.vf.migration.recovery_teardown) {
>>   		gt->sriov.vf.migration.recovery_queued = true;
>>   		WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, true);
>> -		WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, true);
>> +		WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, true);
>>   		smp_wmb();	/* Ensure above writes visible before wake */
>>   
>>   		xe_guc_ct_wake_waiters(&gt->uc.guc.ct);
>> @@ -1296,7 +1294,7 @@ static void vf_post_migration_abort(struct xe_gt *gt)
>>   {
>>   	spin_lock_irq(&gt->sriov.vf.migration.lock);
>>   	WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, false);
>> -	WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false);
>> +	WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, false);
>>   	spin_unlock_irq(&gt->sriov.vf.migration.lock);
>>   
>>   	wake_up_all(&gt->sriov.vf.migration.wq);
>> @@ -1492,7 +1490,7 @@ bool xe_gt_sriov_vf_recovery_pending(struct xe_gt *gt)
>>   	return READ_ONCE(gt->sriov.vf.migration.recovery_inprogress);
>>   }
>>   
>> -static bool vf_valid_ggtt(struct xe_gt *gt)
>> +static bool vf_valid_default_lrc(struct xe_gt *gt)
>>   {
>>   	struct xe_memirq *memirq = &gt_to_tile(gt)->memirq;
>>   	bool irq_pending = xe_device_uses_memirq(gt_to_xe(gt)) &&
>> @@ -1500,17 +1498,17 @@ static bool vf_valid_ggtt(struct xe_gt *gt)
>>   
>>   	xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt)));
>>   
>> -	if (irq_pending || READ_ONCE(gt->sriov.vf.migration.ggtt_need_fixes))
>> +	if (irq_pending || READ_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes))
>>   		return false;
>>   
>>   	return true;
>>   }
>>   
>>   /**
>> - * xe_gt_sriov_vf_wait_valid_ggtt() - VF wait for valid GGTT addresses
>> + * xe_gt_sriov_vf_wait_valid_default_lrc() - wait for valid GGTT refs in default LRCs
>>    * @gt: the &xe_gt
>>    */
>> -void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
>> +void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt)
>>   {
>>   	int ret;
>>   
>> @@ -1519,7 +1517,7 @@ void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
>>   		return;
>>   
>>   	ret = wait_event_interruptible_timeout(gt->sriov.vf.migration.wq,
>> -					       vf_valid_ggtt(gt),
>> +					       vf_valid_default_lrc(gt),
>>   					       HZ * 5);
>>   	xe_gt_WARN_ON(gt, !ret);
>>   }
>> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
>> index 7d97189c2d3d..70232dc38f9a 100644
>> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
>> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
>> @@ -39,6 +39,6 @@ void xe_gt_sriov_vf_print_config(struct xe_gt *gt, struct drm_printer *p);
>>   void xe_gt_sriov_vf_print_runtime(struct xe_gt *gt, struct drm_printer *p);
>>   void xe_gt_sriov_vf_print_version(struct xe_gt *gt, struct drm_printer *p);
>>   
>> -void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt);
>> +void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt);
>>   
>>   #endif
>> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
>> index 4ef881b9b662..8be181bf3cf3 100644
>> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
>> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
>> @@ -73,8 +73,8 @@ struct xe_gt_sriov_vf_migration {
>>   	bool recovery_queued;
>>   	/** @recovery_inprogress: VF post migration recovery in progress */
>>   	bool recovery_inprogress;
>> -	/** @ggtt_need_fixes: VF GGTT needs fixes */
>> -	bool ggtt_need_fixes;
>> +	/** @default_lrcs_need_fixes: GGTT refs within default LRCs need fixes */
>> +	bool default_lrcs_need_fixes;
>>   };
>>   
>>   /**
>> -- 
>> 2.25.1
>>

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

* Re: [PATCH v1 2/4] drm/xe/vf: Avoid LRC being freed while applying fixups
  2026-02-06 17:46   ` Matthew Brost
@ 2026-02-10 20:16     ` Lis, Tomasz
  0 siblings, 0 replies; 14+ messages in thread
From: Lis, Tomasz @ 2026-02-10 20:16 UTC (permalink / raw)
  To: Matthew Brost
  Cc: intel-xe, Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Lucas De Marchi

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


On 2/6/2026 6:46 PM, Matthew Brost wrote:
> On Fri, Feb 06, 2026 at 03:53:32PM +0100, Tomasz Lis wrote:
>> There is a small but non-zero chance that fixups are running on
>> a context during teardown. The chances are decreased by starting
>> the teardown by releasing guc_id, but remain non-zero.
>> On the other hand the sync between fixups and context creation
>> drastically increases chance for such parallel teardown if
>> context creation fails.
>>
> I don't think this is possible as xe_exec_queue_contexts_hwsp_rebase is
> done under the submission_state.lock + being present in
> submission_state.exec_queue_lookup. The removal is done in q->ops->fini
> and the xe_lrc_put(s) should run after this step.
>
> This is weakly documented, and should be improved, but I don't see the
> problem. I am missing something here?

Even if we use q->ops->fini and then xe_lrc_put(s), this does not remove 
the possibility

that recovery will get the reference before freeing guc_id and continue 
using it while

LRC are getting freed on final put(). While we're protecting that by a 
lock in most places,

we're not doing it in exec queue creation error path.

If a VM is running low on resources, the post-migration recovery is 
definitely a place which

would quickly consume any remaining VRAM due to HW being stopped, so 
reaching the

error path is more likely in this situation.


Lets see if the idea of late LRC fixups pans out, maybe this discussion 
won't be relevant.

-Tomasz

> Matt
>
>> Prevent LRC teardown in parallel with fixups by getting a reference.
>>
>> Signed-off-by: Tomasz Lis<tomasz.lis@intel.com>
>> ---
>>   drivers/gpu/drm/xe/xe_exec_queue.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
>> index 42849be46166..e9396ad3390a 100644
>> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
>> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
>> @@ -1669,10 +1669,11 @@ int xe_exec_queue_contexts_hwsp_rebase(struct xe_exec_queue *q, void *scratch)
>>   		lrc = READ_ONCE(q->lrc[i]);
>>   		if (!lrc)
>>   			continue;
>> -
>> +		xe_lrc_get(lrc);
>>   		xe_lrc_update_memirq_regs_with_address(lrc, q->hwe, scratch);
>>   		xe_lrc_update_hwctx_regs_with_address(lrc);
>>   		err = xe_lrc_setup_wa_bb_with_scratch(lrc, q->hwe, scratch);
>> +		xe_lrc_put(lrc);
>>   		if (err)
>>   			break;
>>   	}
>> -- 
>> 2.25.1
>>

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

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

* Re: [PATCH v1 3/4] drm/xe/vf: Wait for default LRCs fixups before using
  2026-02-10 20:11     ` Lis, Tomasz
@ 2026-02-18 23:15       ` Lis, Tomasz
  0 siblings, 0 replies; 14+ messages in thread
From: Lis, Tomasz @ 2026-02-18 23:15 UTC (permalink / raw)
  To: Matthew Brost
  Cc: intel-xe, Michał Winiarski, Michał Wajdeczko,
	Piotr Piórkowski, Lucas De Marchi


On 2/10/2026 9:11 PM, Lis, Tomasz wrote:
>
> On 2/6/2026 7:11 PM, Matthew Brost wrote:
>> On Fri, Feb 06, 2026 at 03:53:33PM +0100, Tomasz Lis wrote:
>>> When a context is being created during save/restore, the LRC creation
>>> needs to wait for GGTT address space to be shifted. But it also needs
>>> to have fixed default LRCs. This is mandatory to avoid the situation
>>> where LRC will be created based on data from before the fixups, but
>>> reference within exec queue will be set too late for fixups.
>>>
>>> This fixes an issue where contexts created during save/restore have
>>> a large chance of having one unfixed LRC, due to the xe_lrc_create()
>>> being synced for equal start to race with default LRC fixups.
>>>
>> This indeed looks like a potential problem.
>>
>> This whole flow is a bit weak (my fault — I meant to fix this but lost
>> track of it). Maybe we should make this a bit more robust and ordered by
>> the GuC backend.
>>
>> Roughly:
>>
>> - In guc_exec_queue_unpause_prepare, if at least one job has been
>>    submitted, we fix the LRCs on the queue. This would happen prior to
>>    emit_job. I believe the 'at least one job has been submited check' is
>>    exec_queue_registered.
>>
>> - In guc_exec_queue_run_job, upon running the first job (hook in
>>    register_exec_queue) and if VF migration is enabled, we fix the LRC.
>>
>> What do you think? I believe this would work, provide stronger ordering
>> guarantees, and let us drop the READ_ONCE/WRITE_ONCE and wait‑queue
>> semantics, which are questionable at best. We could probably revert the
>> flipping of q->ops->init and the LRC creation order back to the original
>> flow as well.
>
> I have a vague suspicion that there maybe can be something more wrong 
> with the LRC
>
> than the GGTT references, if being created at the moment of VF 
> migration. But maybe
>
> I'm misinterpreting stuff, I can't point to a mechanism which could 
> create such skewed LRCs.
>
>
> We should create a POC, then do some intense testing. If it works, 
> then my "vague suspicions"
>
> were baseless. It does look like a good solution, even if less 
> contained to the recovery worker.
>
> Performance impact should be next to none, due to the fixups only 
> happening once on new
>
> context during normal VF driver operations. Creating a lot of contexts 
> to do one, very small job
>
> on each is not a flow used anywhere outside of tests (and even there, 
> the impact wouldn't be
>
> that noticeable).
>
>
> Will work on the POC, and ping you in case of issues.
>
> -Tomasz

I was not able to get the POC work flawlessly. It is still capable of 
generating

contexts which cause GPU hang, though the reproduction rate is low.

Actually, this series also did not eliminated the problem completely - 
failure

rate of circa 3/1000 remained, on a selected set of test cases for maximized

reproduction. But for this series, I was able to eliminate the problem by

additional patch - will follow this answer with a v2 with the extra patch.

-Tomasz

>
>
>> Matt
>>
>>> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
>>> ---
>>>   drivers/gpu/drm/xe/xe_exec_queue.c        |  2 +-
>>>   drivers/gpu/drm/xe/xe_gt_sriov_vf.c       | 24 
>>> +++++++++++------------
>>>   drivers/gpu/drm/xe/xe_gt_sriov_vf.h       |  2 +-
>>>   drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h |  4 ++--
>>>   4 files changed, 15 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c 
>>> b/drivers/gpu/drm/xe/xe_exec_queue.c
>>> index e9396ad3390a..6eb561086e1c 100644
>>> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
>>> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
>>> @@ -309,7 +309,7 @@ static int __xe_exec_queue_init(struct 
>>> xe_exec_queue *q, u32 exec_queue_flags)
>>>       for (i = 0; i < q->width; ++i) {
>>>           struct xe_lrc *lrc;
>>>   -        xe_gt_sriov_vf_wait_valid_ggtt(q->gt);
>>> +        xe_gt_sriov_vf_wait_valid_default_lrc(q->gt);
>>>           lrc = xe_lrc_create(q->hwe, q->vm, q->replay_state,
>>>                       xe_lrc_ring_size(), q->msix_vec, flags);
>>>           if (IS_ERR(lrc)) {
>>> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c 
>>> b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
>>> index 30e8c2cf5f09..1edccee84c76 100644
>>> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
>>> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c
>>> @@ -529,12 +529,6 @@ static int vf_get_ggtt_info(struct xe_gt *gt)
>>> xe_tile_sriov_vf_fixup_ggtt_nodes_locked(gt_to_tile(gt), shift);
>>>       }
>>>   -    if (xe_sriov_vf_migration_supported(gt_to_xe(gt))) {
>>> -        WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false);
>>> -        smp_wmb();    /* Ensure above write visible before wake */
>>> -        wake_up_all(&gt->sriov.vf.migration.wq);
>>> -    }
>>> -
>>>       return 0;
>>>   }
>>>   @@ -837,6 +831,10 @@ static void 
>>> xe_gt_sriov_vf_default_lrcs_hwsp_rebase(struct xe_gt *gt)
>>>         for_each_hw_engine(hwe, gt, id)
>>>           xe_default_lrc_update_memirq_regs_with_address(hwe);
>>> +
>>> + WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, false);
>>> +    smp_wmb();    /* Ensure above write visible before wake */
>>> +    wake_up_all(&gt->sriov.vf.migration.wq);
>>>   }
>>>     static void vf_start_migration_recovery(struct xe_gt *gt)
>>> @@ -851,7 +849,7 @@ static void vf_start_migration_recovery(struct 
>>> xe_gt *gt)
>>>           !gt->sriov.vf.migration.recovery_teardown) {
>>>           gt->sriov.vf.migration.recovery_queued = true;
>>> WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, true);
>>> -        WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, true);
>>> + WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, true);
>>>           smp_wmb();    /* Ensure above writes visible before wake */
>>>             xe_guc_ct_wake_waiters(&gt->uc.guc.ct);
>>> @@ -1296,7 +1294,7 @@ static void vf_post_migration_abort(struct 
>>> xe_gt *gt)
>>>   {
>>>       spin_lock_irq(&gt->sriov.vf.migration.lock);
>>> WRITE_ONCE(gt->sriov.vf.migration.recovery_inprogress, false);
>>> -    WRITE_ONCE(gt->sriov.vf.migration.ggtt_need_fixes, false);
>>> + WRITE_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes, false);
>>>       spin_unlock_irq(&gt->sriov.vf.migration.lock);
>>>         wake_up_all(&gt->sriov.vf.migration.wq);
>>> @@ -1492,7 +1490,7 @@ bool xe_gt_sriov_vf_recovery_pending(struct 
>>> xe_gt *gt)
>>>       return READ_ONCE(gt->sriov.vf.migration.recovery_inprogress);
>>>   }
>>>   -static bool vf_valid_ggtt(struct xe_gt *gt)
>>> +static bool vf_valid_default_lrc(struct xe_gt *gt)
>>>   {
>>>       struct xe_memirq *memirq = &gt_to_tile(gt)->memirq;
>>>       bool irq_pending = xe_device_uses_memirq(gt_to_xe(gt)) &&
>>> @@ -1500,17 +1498,17 @@ static bool vf_valid_ggtt(struct xe_gt *gt)
>>>         xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt)));
>>>   -    if (irq_pending || 
>>> READ_ONCE(gt->sriov.vf.migration.ggtt_need_fixes))
>>> +    if (irq_pending || 
>>> READ_ONCE(gt->sriov.vf.migration.default_lrcs_need_fixes))
>>>           return false;
>>>         return true;
>>>   }
>>>     /**
>>> - * xe_gt_sriov_vf_wait_valid_ggtt() - VF wait for valid GGTT addresses
>>> + * xe_gt_sriov_vf_wait_valid_default_lrc() - wait for valid GGTT 
>>> refs in default LRCs
>>>    * @gt: the &xe_gt
>>>    */
>>> -void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt)
>>> +void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt)
>>>   {
>>>       int ret;
>>>   @@ -1519,7 +1517,7 @@ void xe_gt_sriov_vf_wait_valid_ggtt(struct 
>>> xe_gt *gt)
>>>           return;
>>>         ret = 
>>> wait_event_interruptible_timeout(gt->sriov.vf.migration.wq,
>>> -                           vf_valid_ggtt(gt),
>>> +                           vf_valid_default_lrc(gt),
>>>                              HZ * 5);
>>>       xe_gt_WARN_ON(gt, !ret);
>>>   }
>>> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h 
>>> b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
>>> index 7d97189c2d3d..70232dc38f9a 100644
>>> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
>>> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.h
>>> @@ -39,6 +39,6 @@ void xe_gt_sriov_vf_print_config(struct xe_gt *gt, 
>>> struct drm_printer *p);
>>>   void xe_gt_sriov_vf_print_runtime(struct xe_gt *gt, struct 
>>> drm_printer *p);
>>>   void xe_gt_sriov_vf_print_version(struct xe_gt *gt, struct 
>>> drm_printer *p);
>>>   -void xe_gt_sriov_vf_wait_valid_ggtt(struct xe_gt *gt);
>>> +void xe_gt_sriov_vf_wait_valid_default_lrc(struct xe_gt *gt);
>>>     #endif
>>> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h 
>>> b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
>>> index 4ef881b9b662..8be181bf3cf3 100644
>>> --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
>>> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
>>> @@ -73,8 +73,8 @@ struct xe_gt_sriov_vf_migration {
>>>       bool recovery_queued;
>>>       /** @recovery_inprogress: VF post migration recovery in 
>>> progress */
>>>       bool recovery_inprogress;
>>> -    /** @ggtt_need_fixes: VF GGTT needs fixes */
>>> -    bool ggtt_need_fixes;
>>> +    /** @default_lrcs_need_fixes: GGTT refs within default LRCs 
>>> need fixes */
>>> +    bool default_lrcs_need_fixes;
>>>   };
>>>     /**
>>> -- 
>>> 2.25.1
>>>

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

end of thread, other threads:[~2026-02-18 23:15 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-06 14:53 [PATCH v1 0/4] drm/xe/vf: Fix exec queue creation during post-migration recovery Tomasz Lis
2026-02-06 14:53 ` [PATCH v1 1/4] drm/xe/queue: Call fini on exec queue creation fail Tomasz Lis
2026-02-06 17:38   ` Matthew Brost
2026-02-06 14:53 ` [PATCH v1 2/4] drm/xe/vf: Avoid LRC being freed while applying fixups Tomasz Lis
2026-02-06 17:46   ` Matthew Brost
2026-02-10 20:16     ` Lis, Tomasz
2026-02-06 14:53 ` [PATCH v1 3/4] drm/xe/vf: Wait for default LRCs fixups before using Tomasz Lis
2026-02-06 18:11   ` Matthew Brost
2026-02-10 20:11     ` Lis, Tomasz
2026-02-18 23:15       ` Lis, Tomasz
2026-02-06 14:53 ` [PATCH v1 4/4] drm/xe/vf: Redo LRC creation while in VF fixups Tomasz Lis
2026-02-06 14:56 ` ✓ CI.KUnit: success for drm/xe/vf: Fix exec queue creation during post-migration recovery Patchwork
2026-02-06 15:29 ` ✓ Xe.CI.BAT: " Patchwork
2026-02-07 15:42 ` ✗ Xe.CI.FULL: failure " Patchwork

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