Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] drm/xe/log: Relax location ID recognition
@ 2026-09-04 17:05 Michal Wajdeczko
  2026-09-04 17:05 ` [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init Michal Wajdeczko
                   ` (8 more replies)
  0 siblings, 9 replies; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-04 17:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko, Rodrigo Vivi, Mallesh Koujalagi

Some errors reported by the VF during early probe may have improper
format as provided GT location is not correctly recognized:

 [ ] xe 0000:00:02.1: [drm] Running in SR-IOV VF mode
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request 0x5507: no reply 0x5507
 [ ] xe 0000:00:02.1: [drm] *ERROR* VF: Tile0: GT0: Failed to reset GuC state (-ETIMEDOUT)
 [ ] xe 0000:00:02.1: [drm] *ERROR* SIGID=101 FATAL (-ETIMEDOUT) PROBE: driver loading failed for device 'b082'

Steps to reproduce:

 $ echo 1 | sudo tee /sys/kernel/debug/dri/0000:00:02.0/sriov/vf1/tile0/ggtt_quota
 $ echo 1 | sudo tee /sys/bus/pci/devices/0000:00:02.0/sriov_numvfs

Fixes: 1151b9f6f465 ("drm/xe/log: Add component/location decorations to dmesg")
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Mallesh Koujalagi <mallesh.koujalagi@intel.com>

Michal Wajdeczko (6):
  drm/xe: Drop unused parameter from xe_info_init
  drm/xe: Keep reference to device descriptor
  drm/xe: Drop redundant parameters from xe_info_init_early
  drm/xe: Drop redundant parameter from xe_probe_info_early
  drm/xe: Drop redundant parameter from xe_probe_info and friends
  drm/xe/log: Relax location ID recognition

 drivers/gpu/drm/xe/tests/xe_pci.c    | 11 +++++---
 drivers/gpu/drm/xe/xe_device_types.h |  6 +++++
 drivers/gpu/drm/xe/xe_log.c          | 40 ++++++++++++++++++----------
 drivers/gpu/drm/xe/xe_pci.c          | 29 ++++++++++----------
 4 files changed, 53 insertions(+), 33 deletions(-)

-- 
2.47.1


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

* [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
@ 2026-09-04 17:05 ` Michal Wajdeczko
  2026-09-04 18:09   ` Rodrigo Vivi
  2026-09-05 13:04   ` Gustavo Sousa
  2026-09-04 17:05 ` [PATCH 2/6] drm/xe: Keep reference to device descriptor Michal Wajdeczko
                   ` (7 subsequent siblings)
  8 siblings, 2 replies; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-04 17:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko, Gustavo Sousa

We don't need anything from struct xe_device_desc in xe_info_init()

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_pci.c | 2 +-
 drivers/gpu/drm/xe/xe_pci.c       | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
index bb0393475524..4965a01f6ba5 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci.c
+++ b/drivers/gpu/drm/xe/tests/xe_pci.c
@@ -382,7 +382,7 @@ int xe_pci_fake_device_init(struct xe_device *xe)
 		return err;
 
 	xe_info_init_early(xe, desc, subplatform_desc, &probed_info);
-	xe_info_init(xe, desc, &probed_info);
+	xe_info_init(xe, &probed_info);
 
 	return 0;
 }
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index ab4da1d9a9f1..47fad696545c 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -1011,7 +1011,6 @@ static int xe_probe_info(struct xe_device *xe,
  * present in device info.
  */
 static int xe_info_init(struct xe_device *xe,
-			const struct xe_device_desc *desc,
 			struct xe_probed_info *probed_info)
 {
 	const struct xe_ip *graphics_ip;
@@ -1244,7 +1243,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
 	if (err)
 		return err;
 
-	err = xe_info_init(xe, desc, &probed_info);
+	err = xe_info_init(xe, &probed_info);
 	if (err)
 		return err;
 
-- 
2.47.1


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

* [PATCH 2/6] drm/xe: Keep reference to device descriptor
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
  2026-09-04 17:05 ` [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init Michal Wajdeczko
@ 2026-09-04 17:05 ` Michal Wajdeczko
  2026-09-04 17:14   ` sashiko-bot
  2026-09-04 17:05 ` [PATCH 3/6] drm/xe: Drop redundant parameters from xe_info_init_early Michal Wajdeczko
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-04 17:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko, Matt Roper, Gustavo Sousa

While we already use struct intel_device_info, which has some fields
copied or derived from the original struct xe_device_desc, we also
want to keep the reference to the whole device descriptor, in case
we would like to access more non-mutable device parameters.
Similarly keep the reference to matched subplatform descriptor.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_pci.c    | 2 ++
 drivers/gpu/drm/xe/xe_device_types.h | 6 ++++++
 drivers/gpu/drm/xe/xe_pci.c          | 2 ++
 3 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
index 4965a01f6ba5..48d5ee478fe6 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci.c
+++ b/drivers/gpu/drm/xe/tests/xe_pci.c
@@ -374,6 +374,8 @@ int xe_pci_fake_device_init(struct xe_device *xe)
 		return -ENODEV;
 
 done:
+	xe->desc = desc;
+	xe->subplatform_desc = subplatform_desc;
 	xe->sriov.__mode = data && data->sriov_mode ?
 			   data->sriov_mode : XE_SRIOV_MODE_NONE;
 
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 180d450a6deb..6406a1228c38 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -116,6 +116,12 @@ struct xe_device {
 	/** @devcoredump: device coredump */
 	struct xe_devcoredump devcoredump;
 
+	/** @desc: device descriptor */
+	const struct xe_device_desc *desc;
+
+	/** @subplatform_desc: subplatform descriptor */
+	const struct xe_subplatform_desc *subplatform_desc;
+
 	/** @info: device info */
 	struct intel_device_info {
 		/** @info.platform_name: platform name */
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 47fad696545c..191e69fb0e3d 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -1208,6 +1208,8 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
 	if (IS_ERR(xe))
 		return PTR_ERR(xe);
 
+	xe->desc = desc;
+	xe->subplatform_desc = subplatform_desc;
 	xe->devres_group = group;
 
 	pci_set_drvdata(pdev, &xe->drm);
-- 
2.47.1


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

* [PATCH 3/6] drm/xe: Drop redundant parameters from xe_info_init_early
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
  2026-09-04 17:05 ` [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init Michal Wajdeczko
  2026-09-04 17:05 ` [PATCH 2/6] drm/xe: Keep reference to device descriptor Michal Wajdeczko
@ 2026-09-04 17:05 ` Michal Wajdeczko
  2026-09-05 13:54   ` Gustavo Sousa
  2026-09-04 17:05 ` [PATCH 4/6] drm/xe: Drop redundant parameter from xe_probe_info_early Michal Wajdeczko
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-04 17:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko, Matt Roper, Gustavo Sousa

We can now obtain the const pointers to struct xe_device_desc and
xe_subplatform_desc directly from the xe, no need to pass them as
explicit parameters.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_pci.c | 2 +-
 drivers/gpu/drm/xe/xe_pci.c       | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
index 48d5ee478fe6..c817692c0ce3 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci.c
+++ b/drivers/gpu/drm/xe/tests/xe_pci.c
@@ -383,7 +383,7 @@ int xe_pci_fake_device_init(struct xe_device *xe)
 	if (err)
 		return err;
 
-	xe_info_init_early(xe, desc, subplatform_desc, &probed_info);
+	xe_info_init_early(xe, &probed_info);
 	xe_info_init(xe, &probed_info);
 
 	return 0;
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 191e69fb0e3d..d19478c9439e 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -771,10 +771,10 @@ static int xe_probe_info_early(struct xe_device *xe,
  * passed to the driver at probe time from PCI ID table.
  */
 static int xe_info_init_early(struct xe_device *xe,
-			      const struct xe_device_desc *desc,
-			      const struct xe_subplatform_desc *subplatform_desc,
 			      struct xe_probed_info *probed_info)
 {
+	const struct xe_subplatform_desc *subplatform_desc = xe->subplatform_desc;
+	const struct xe_device_desc *desc = xe->desc;
 	int err;
 
 	xe->info.devid = probed_info->devid;
@@ -1222,7 +1222,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
 	if (err)
 		return err;
 
-	err = xe_info_init_early(xe, desc, subplatform_desc, &probed_info);
+	err = xe_info_init_early(xe, &probed_info);
 	if (err)
 		return err;
 
-- 
2.47.1


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

* [PATCH 4/6] drm/xe: Drop redundant parameter from xe_probe_info_early
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
                   ` (2 preceding siblings ...)
  2026-09-04 17:05 ` [PATCH 3/6] drm/xe: Drop redundant parameters from xe_info_init_early Michal Wajdeczko
@ 2026-09-04 17:05 ` Michal Wajdeczko
  2026-09-05 13:55   ` Gustavo Sousa
  2026-09-04 17:05 ` [PATCH 5/6] drm/xe: Drop redundant parameter from xe_probe_info and friends Michal Wajdeczko
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-04 17:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko, Matt Roper, Gustavo Sousa

We can now obtain the const pointer to struct xe_device_desc directly
from the xe, no need to pass it as explicit parameter.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/xe/xe_pci.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index d19478c9439e..6ca1ec311a4b 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -753,7 +753,6 @@ struct xe_probed_info {
  * Probe from the hardware the info required by xe_info_init_early().
  */
 static int xe_probe_info_early(struct xe_device *xe,
-			       const struct xe_device_desc *desc,
 			       struct xe_probed_info *probed_info)
 {
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
@@ -761,7 +760,7 @@ static int xe_probe_info_early(struct xe_device *xe,
 	probed_info->devid = pdev->device;
 	probed_info->revid = pdev->revision;
 
-	xe_step_platform_get(desc->platform, probed_info->revid, &probed_info->step);
+	xe_step_platform_get(xe->desc->platform, probed_info->revid, &probed_info->step);
 
 	return 0;
 }
@@ -1218,7 +1217,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
 
 	pci_set_master(pdev);
 
-	err = xe_probe_info_early(xe, desc, &probed_info);
+	err = xe_probe_info_early(xe, &probed_info);
 	if (err)
 		return err;
 
-- 
2.47.1


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

* [PATCH 5/6] drm/xe: Drop redundant parameter from xe_probe_info and friends
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
                   ` (3 preceding siblings ...)
  2026-09-04 17:05 ` [PATCH 4/6] drm/xe: Drop redundant parameter from xe_probe_info_early Michal Wajdeczko
@ 2026-09-04 17:05 ` Michal Wajdeczko
  2026-09-05 13:58   ` Gustavo Sousa
  2026-09-04 17:05 ` [PATCH 6/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-04 17:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko, Matt Roper, Gustavo Sousa

We can now obtain the const pointer to struct xe_device_desc directly
from the xe, no need to pass it as explicit parameter.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_pci.c |  5 +++--
 drivers/gpu/drm/xe/xe_pci.c       | 13 ++++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
index c817692c0ce3..7712282308c4 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci.c
+++ b/drivers/gpu/drm/xe/tests/xe_pci.c
@@ -311,10 +311,11 @@ const void *xe_pci_id_gen_param(struct kunit *test, const void *prev, char *desc
 EXPORT_SYMBOL_IF_KUNIT(xe_pci_id_gen_param);
 
 static int fake_probe_info(struct xe_device *xe,
-			   const struct xe_device_desc *desc,
 			   struct xe_pci_fake_data *data,
 			   struct xe_probed_info *probed_info)
 {
+	const struct xe_device_desc *desc = xe->desc;
+
 	probed_info->tile_count = 1 + desc->max_remote_tiles;
 
 	if (!data || desc->pre_gmdid_graphics_ip) {
@@ -379,7 +380,7 @@ int xe_pci_fake_device_init(struct xe_device *xe)
 	xe->sriov.__mode = data && data->sriov_mode ?
 			   data->sriov_mode : XE_SRIOV_MODE_NONE;
 
-	err = fake_probe_info(xe, desc, data, &probed_info);
+	err = fake_probe_info(xe, data, &probed_info);
 	if (err)
 		return err;
 
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 6ca1ec311a4b..c401c8803796 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -836,14 +836,13 @@ static int xe_info_init_early(struct xe_device *xe,
 }
 
 static void xe_probe_tile_count(struct xe_device *xe,
-				const struct xe_device_desc *desc,
 				struct xe_probed_info *probed_info)
 {
 	struct xe_mmio *mmio;
 	u8 tile_count;
 	u32 mtcfg;
 
-	probed_info->tile_count = 1 + desc->max_remote_tiles;
+	probed_info->tile_count = 1 + xe->desc->max_remote_tiles;
 
 	/*
 	 * Probe for tile count only for platforms that support multiple
@@ -946,9 +945,10 @@ static struct xe_gt *alloc_media_gt(struct xe_tile *tile,
 }
 
 static int xe_probe_ips(struct xe_device *xe,
-			const struct xe_device_desc *desc,
 			struct xe_probed_info *probed_info)
 {
+	const struct xe_device_desc *desc = xe->desc;
+
 	/*
 	 * If this platform supports GMD_ID, we'll detect the proper IP
 	 * descriptor to use from hardware registers.
@@ -989,14 +989,13 @@ static int xe_probe_ips(struct xe_device *xe,
  * Probe from the hardware the info required by xe_info_init().
  */
 static int xe_probe_info(struct xe_device *xe,
-			 const struct xe_device_desc *desc,
 			 struct xe_probed_info *probed_info)
 {
 	int err;
 
-	xe_probe_tile_count(xe, desc, probed_info);
+	xe_probe_tile_count(xe, probed_info);
 
-	err = xe_probe_ips(xe, desc, probed_info);
+	err = xe_probe_ips(xe, probed_info);
 	if (err)
 		return err;
 
@@ -1240,7 +1239,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
 	if (err)
 		return err;
 
-	err = xe_probe_info(xe, desc, &probed_info);
+	err = xe_probe_info(xe, &probed_info);
 	if (err)
 		return err;
 
-- 
2.47.1


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

* [PATCH 6/6] drm/xe/log: Relax location ID recognition
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
                   ` (4 preceding siblings ...)
  2026-09-04 17:05 ` [PATCH 5/6] drm/xe: Drop redundant parameter from xe_probe_info and friends Michal Wajdeczko
@ 2026-09-04 17:05 ` Michal Wajdeczko
  2026-09-04 18:44   ` Rodrigo Vivi
  2026-09-09  9:00   ` Mallesh, Koujalagi
  2026-09-04 17:13 ` ✓ CI.KUnit: success for " Patchwork
                   ` (2 subsequent siblings)
  8 siblings, 2 replies; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-04 17:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Michal Wajdeczko, Rodrigo Vivi, Mallesh Koujalagi

It turned out that during early probe phase, VFs use detached from
the xe_device, temporary xe_gt objects, which when used as location
in xe_log() macros, will be treated by the dmesg decoration code as
bogus, possibly triggering a WARN, and the output will look like:

 [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request ...

instead of expected:

 [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile0: GT0: GUC: MMIO request ...

Relax the tile/GT id validation and instead of looking for the real
objects, only check if encoded id is within the range of possible
tiles or GTs on the current xe device, using data from the device
descriptor rather then the object list.

Fixes: 1151b9f6f465 ("drm/xe/log: Add component/location decorations to dmesg")
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
---
 drivers/gpu/drm/xe/xe_log.c | 40 ++++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_log.c b/drivers/gpu/drm/xe/xe_log.c
index 5549ef6966fd..29eb16db3320 100644
--- a/drivers/gpu/drm/xe/xe_log.c
+++ b/drivers/gpu/drm/xe/xe_log.c
@@ -10,6 +10,7 @@
 
 #include "xe_device.h"
 #include "xe_log.h"
+#include "xe_pci_types.h"
 #include "xe_printk.h"
 
 static void log_emit_cper(struct pci_dev *pdev, int cper_sev, enum xe_sigid sigid,
@@ -52,18 +53,24 @@ static const char *log_component_prefix(u32 component)
 	return component ? log_unknown_component_prefix(component) : "";
 }
 
-static struct xe_gt *get_gt_safe(struct pci_dev *pdev, u8 id)
+static bool allowed_tile_id(struct xe_device *xe, u8 tile_id)
 {
-	struct xe_device *xe = pdev_to_xe_device(pdev);
+	return tile_id < 1 + xe->desc->max_remote_tiles;
+}
 
-	return xe ? xe_device_get_gt(xe, id) : NULL;
+static bool allowed_gt_id(struct xe_device *xe, u8 gt_id)
+{
+	return gt_id < (1 + xe->desc->max_remote_tiles) * xe->desc->max_gt_per_tile;
 }
 
-static struct xe_tile *get_tile_safe(struct pci_dev *pdev, u8 id)
+static u8 gt_id_to_tile_id(struct xe_device *xe, u8 gt_id)
 {
-	struct xe_device *xe = pdev_to_xe_device(pdev);
+	return gt_id / xe->desc->max_gt_per_tile;
+}
 
-	return xe && id < xe->info.tile_count ? &xe->tiles[id] : NULL;
+static const char *location_suffix(bool valid)
+{
+	return valid ? ":" : "?";
 }
 
 static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char *buf, size_t size)
@@ -76,17 +83,22 @@ static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char
 			goto unrecognized;
 		strscpy(buf, "", size);
 	} else if (type == XE_LOG_LOCATION_TYPE_TILE) {
-		struct xe_tile *tile = get_tile_safe(pdev, id);
+		struct xe_device *xe = xe_any_to_xe(pdev);
+		bool valid = xe ? allowed_tile_id(xe, id) : false;
+		const char *pad = location_suffix(valid);
 
-		if (!tile)
-			goto unrecognized;
-		snprintf(buf, size, "Tile%u: ", id);
+		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
+			 "LOG: invalid tile identifier: %u\n", id);
+		snprintf(buf, size, "Tile%u%s ", id, pad);
 	} else if (type == XE_LOG_LOCATION_TYPE_GT) {
-		struct xe_gt *gt = get_gt_safe(pdev, id);
+		struct xe_device *xe = xe_any_to_xe(pdev);
+		bool valid = xe ? allowed_gt_id(xe, id) : false;
+		const char *pad = location_suffix(valid);
+		u8 tile_id = xe ? gt_id_to_tile_id(xe, id) : 0;
 
-		if (!gt)
-			goto unrecognized;
-		snprintf(buf, size, "Tile%u: GT%u: ", gt->tile->id, id);
+		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
+			 "LOG: invalid GT identifier: %u\n", id);
+		snprintf(buf, size, "Tile%u%s GT%u%s ", tile_id, pad, id, pad);
 	} else {
 		goto unrecognized;
 	}
-- 
2.47.1


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

* ✓ CI.KUnit: success for drm/xe/log: Relax location ID recognition
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
                   ` (5 preceding siblings ...)
  2026-09-04 17:05 ` [PATCH 6/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
@ 2026-09-04 17:13 ` Patchwork
  2026-09-04 17:52 ` ✓ Xe.CI.BAT: " Patchwork
  2026-09-05  1:36 ` ✓ Xe.CI.FULL: " Patchwork
  8 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2026-09-04 17:13 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

== Series Details ==

Series: drm/xe/log: Relax location ID recognition
URL   : https://patchwork.freedesktop.org/series/173407/
State : success

== Summary ==

+ trap cleanup EXIT
+ kunitconfigs=('/kernel/drivers/gpu/tests/.kunitconfig' '/kernel/drivers/gpu/drm/xe/.kunitconfig' '/kernel/drivers/gpu/drm/tests/.kunitconfig' '/kernel/drivers/gpu/drm/ttm/tests/.kunitconfig' '/kernel/drivers/dma-buf/.kunitconfig')
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/tests/.kunitconfig
[17:11:38] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:11:43] 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
[17:12:03] Starting KUnit Kernel (1/1)...
[17:12:03] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:12:03] ============= refcount_interrupt (4 subtests) ==============
[17:12:03] [PASSED] test_single_irq_change
[17:12:03] [PASSED] test_nested_irq_change
[17:12:03] [PASSED] test_multiple_irq_change
[17:12:03] [PASSED] test_irq_save
[17:12:03] =============== [PASSED] refcount_interrupt ================
[17:12:03] ================= gpu_buddy (14 subtests) ==================
[17:12:03] [PASSED] gpu_test_buddy_alloc_limit
[17:12:03] [PASSED] gpu_test_buddy_alloc_optimistic
[17:12:03] [PASSED] gpu_test_buddy_alloc_pessimistic
[17:12:03] [PASSED] gpu_test_buddy_alloc_pathological
[17:12:03] [PASSED] gpu_test_buddy_alloc_contiguous
[17:12:03] [PASSED] gpu_test_buddy_alloc_clear
[17:12:03] [PASSED] gpu_test_buddy_alloc_range
[17:12:03] [PASSED] gpu_test_buddy_alloc_range_bias
[17:12:04] [PASSED] gpu_test_buddy_fragmentation_performance
[17:12:05] [PASSED] gpu_test_buddy_dirty_tracker_performance
[17:12:05] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[17:12:05] [PASSED] gpu_test_buddy_offset_aligned_allocation
[17:12:05] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[17:12:05] [PASSED] gpu_test_buddy_addr_to_block
[17:12:05] ==================== [PASSED] gpu_buddy ====================
[17:12:05] ============================================================
[17:12:05] Testing complete. Ran 18 tests: passed: 18
[17:12:05] Elapsed time: 26.658s total, 4.339s configuring, 20.401s building, 1.886s running

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/xe/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[17:12:05] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:12:07] 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
[17:12:41] Starting KUnit Kernel (1/1)...
[17:12:41] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:12:41] ============= refcount_interrupt (4 subtests) ==============
[17:12:41] [PASSED] test_single_irq_change
[17:12:41] [PASSED] test_nested_irq_change
[17:12:41] [PASSED] test_multiple_irq_change
[17:12:41] [PASSED] test_irq_save
[17:12:41] =============== [PASSED] refcount_interrupt ================
[17:12:41] ================== guc_buf (11 subtests) ===================
[17:12:41] [PASSED] test_smallest
[17:12:41] [PASSED] test_largest
[17:12:41] [PASSED] test_granular
[17:12:41] [PASSED] test_unique
[17:12:41] [PASSED] test_overlap
[17:12:41] [PASSED] test_reusable
[17:12:41] [PASSED] test_too_big
[17:12:41] [PASSED] test_flush
[17:12:41] [PASSED] test_lookup
[17:12:41] [PASSED] test_data
[17:12:41] [PASSED] test_class
[17:12:41] ===================== [PASSED] guc_buf =====================
[17:12:41] =================== guc_dbm (7 subtests) ===================
[17:12:41] [PASSED] test_empty
[17:12:41] [PASSED] test_default
[17:12:41] ======================== test_size  ========================
[17:12:41] [PASSED] 4
[17:12:41] [PASSED] 8
[17:12:41] [PASSED] 32
[17:12:41] [PASSED] 256
[17:12:41] ==================== [PASSED] test_size ====================
[17:12:41] ======================= test_reuse  ========================
[17:12:41] [PASSED] 4
[17:12:41] [PASSED] 8
[17:12:41] [PASSED] 32
[17:12:41] [PASSED] 256
[17:12:41] =================== [PASSED] test_reuse ====================
[17:12:41] =================== test_range_overlap  ====================
[17:12:41] [PASSED] 4
[17:12:41] [PASSED] 8
[17:12:41] [PASSED] 32
[17:12:41] [PASSED] 256
[17:12:41] =============== [PASSED] test_range_overlap ================
[17:12:41] =================== test_range_compact  ====================
[17:12:41] [PASSED] 4
[17:12:41] [PASSED] 8
[17:12:41] [PASSED] 32
[17:12:41] [PASSED] 256
[17:12:41] =============== [PASSED] test_range_compact ================
[17:12:41] ==================== test_range_spare  =====================
[17:12:41] [PASSED] 4
[17:12:41] [PASSED] 8
[17:12:41] [PASSED] 32
[17:12:41] [PASSED] 256
[17:12:41] ================ [PASSED] test_range_spare =================
[17:12:41] ===================== [PASSED] guc_dbm =====================
[17:12:41] =================== guc_idm (6 subtests) ===================
[17:12:41] [PASSED] bad_init
[17:12:41] [PASSED] no_init
[17:12:41] [PASSED] init_fini
[17:12:41] [PASSED] check_used
[17:12:41] [PASSED] check_quota
[17:12:41] [PASSED] check_all
[17:12:41] ===================== [PASSED] guc_idm =====================
[17:12:41] =============== guc_klv_helpers (9 subtests) ===============
[17:12:41] [PASSED] test_count
[17:12:41] [PASSED] test_encode_u32
[17:12:41] [PASSED] test_encode_u64
[17:12:41] [PASSED] test_encode_string
[17:12:41] [PASSED] test_encode_object_raw
[17:12:41] [PASSED] test_encode_object_klv
[17:12:41] [PASSED] test_encode_object_nested
[17:12:41] [PASSED] test_encode_object_basic
[17:12:41] [PASSED] test_print
[17:12:41] ================= [PASSED] guc_klv_helpers =================
[17:12:41] =================== xe_log (4 subtests) ====================
[17:12:41] [PASSED] demo_cper
[17:12:41] [PASSED] demo_dmesg
[17:12:41] ======================= test_dmesg  ========================
[17:12:41] [PASSED] test_fatal
[17:12:41] [PASSED] test_fatal_tile
[17:12:41] [PASSED] test_fatal_gt
[17:12:41] [PASSED] test_fatal_comp
[17:12:41] [PASSED] test_fatal_comp_tile
[17:12:41] [PASSED] test_fatal_comp_gt
[17:12:41] [PASSED] test_fatal_all
[17:12:41] [PASSED] test_recoverable
[17:12:41] [PASSED] test_recoverable_tile
[17:12:41] [PASSED] test_recoverable_gt
[17:12:41] [PASSED] test_recoverable_comp
[17:12:41] [PASSED] test_recoverable_comp_tile
[17:12:41] [PASSED] test_recoverable_comp_gt
[17:12:41] [PASSED] test_recoverable_all
[17:12:41] [PASSED] test_info
[17:12:41] [PASSED] test_info_tile
[17:12:41] [PASSED] test_info_gt
[17:12:41] [PASSED] test_info_err
[17:12:41] [PASSED] test_info_comp
[17:12:41] [PASSED] test_info_comp_tile
[17:12:41] [PASSED] test_info_comp_gt
[17:12:41] [PASSED] test_info_all
[17:12:41] [PASSED] test_hw_fatal
[17:12:41] [PASSED] test_hw_recoverable
[17:12:41] [PASSED] test_hw_corrected
[17:12:41] [PASSED] test_hw_informational
[17:12:41] =================== [PASSED] test_dmesg ====================
[17:12:41] ====================== test_invalid  =======================
[17:12:41] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[17:12:41] ================== [SKIPPED] test_invalid ==================
[17:12:41] ===================== [PASSED] xe_log ======================
[17:12:41] ================== no_relay (3 subtests) ===================
[17:12:41] [PASSED] xe_drops_guc2pf_if_not_ready
[17:12:41] [PASSED] xe_drops_guc2vf_if_not_ready
[17:12:41] [PASSED] xe_rejects_send_if_not_ready
[17:12:41] ==================== [PASSED] no_relay =====================
[17:12:41] ================== pf_relay (14 subtests) ==================
[17:12:41] [PASSED] pf_rejects_guc2pf_too_short
[17:12:41] [PASSED] pf_rejects_guc2pf_too_long
[17:12:41] [PASSED] pf_rejects_guc2pf_no_payload
[17:12:41] [PASSED] pf_fails_no_payload
[17:12:41] [PASSED] pf_fails_bad_origin
[17:12:41] [PASSED] pf_fails_bad_type
[17:12:41] [PASSED] pf_txn_reports_error
[17:12:41] [PASSED] pf_txn_sends_pf2guc
[17:12:41] [PASSED] pf_sends_pf2guc
[17:12:41] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[17:12:41] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[17:12:41] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[17:12:41] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[17:12:41] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[17:12:41] ==================== [PASSED] pf_relay =====================
[17:12:41] ================== vf_relay (3 subtests) ===================
[17:12:41] [PASSED] vf_rejects_guc2vf_too_short
[17:12:41] [PASSED] vf_rejects_guc2vf_too_long
[17:12:41] [PASSED] vf_rejects_guc2vf_no_payload
[17:12:41] ==================== [PASSED] vf_relay =====================
[17:12:41] ================ pf_gt_config (9 subtests) =================
[17:12:41] [PASSED] fair_contexts_1vf
[17:12:41] [PASSED] fair_doorbells_1vf
[17:12:41] [PASSED] fair_ggtt_1vf
[17:12:41] ====================== fair_vram_1vf  ======================
[17:12:41] [PASSED] 3.50 GiB
[17:12:41] [PASSED] 11.5 GiB
[17:12:41] [PASSED] 15.5 GiB
[17:12:41] [PASSED] 31.5 GiB
[17:12:41] [PASSED] 63.5 GiB
[17:12:41] [PASSED] 1.91 GiB
[17:12:41] ================== [PASSED] fair_vram_1vf ==================
[17:12:41] ================ fair_vram_1vf_admin_only  =================
[17:12:41] [PASSED] 3.50 GiB
[17:12:41] [PASSED] 11.5 GiB
[17:12:41] [PASSED] 15.5 GiB
[17:12:41] [PASSED] 31.5 GiB
[17:12:41] [PASSED] 63.5 GiB
[17:12:41] [PASSED] 1.91 GiB
[17:12:41] ============ [PASSED] fair_vram_1vf_admin_only =============
[17:12:41] ====================== fair_contexts  ======================
[17:12:41] [PASSED] 1 VF
[17:12:41] [PASSED] 2 VFs
[17:12:41] [PASSED] 3 VFs
[17:12:41] [PASSED] 4 VFs
[17:12:41] [PASSED] 5 VFs
[17:12:41] [PASSED] 6 VFs
[17:12:41] [PASSED] 7 VFs
[17:12:41] [PASSED] 8 VFs
[17:12:41] [PASSED] 9 VFs
[17:12:41] [PASSED] 10 VFs
[17:12:41] [PASSED] 11 VFs
[17:12:41] [PASSED] 12 VFs
[17:12:41] [PASSED] 13 VFs
[17:12:41] [PASSED] 14 VFs
[17:12:41] [PASSED] 15 VFs
[17:12:41] [PASSED] 16 VFs
[17:12:41] [PASSED] 17 VFs
[17:12:41] [PASSED] 18 VFs
[17:12:41] [PASSED] 19 VFs
[17:12:41] [PASSED] 20 VFs
[17:12:41] [PASSED] 21 VFs
[17:12:41] [PASSED] 22 VFs
[17:12:41] [PASSED] 23 VFs
[17:12:41] [PASSED] 24 VFs
[17:12:42] [PASSED] 25 VFs
[17:12:42] [PASSED] 26 VFs
[17:12:42] [PASSED] 27 VFs
[17:12:42] [PASSED] 28 VFs
[17:12:42] [PASSED] 29 VFs
[17:12:42] [PASSED] 30 VFs
[17:12:42] [PASSED] 31 VFs
[17:12:42] [PASSED] 32 VFs
[17:12:42] [PASSED] 33 VFs
[17:12:42] [PASSED] 34 VFs
[17:12:42] [PASSED] 35 VFs
[17:12:42] [PASSED] 36 VFs
[17:12:42] [PASSED] 37 VFs
[17:12:42] [PASSED] 38 VFs
[17:12:42] [PASSED] 39 VFs
[17:12:42] [PASSED] 40 VFs
[17:12:42] [PASSED] 41 VFs
[17:12:42] [PASSED] 42 VFs
[17:12:42] [PASSED] 43 VFs
[17:12:42] [PASSED] 44 VFs
[17:12:42] [PASSED] 45 VFs
[17:12:42] [PASSED] 46 VFs
[17:12:42] [PASSED] 47 VFs
[17:12:42] [PASSED] 48 VFs
[17:12:42] [PASSED] 49 VFs
[17:12:42] [PASSED] 50 VFs
[17:12:42] [PASSED] 51 VFs
[17:12:42] [PASSED] 52 VFs
[17:12:42] [PASSED] 53 VFs
[17:12:42] [PASSED] 54 VFs
[17:12:42] [PASSED] 55 VFs
[17:12:42] [PASSED] 56 VFs
[17:12:42] [PASSED] 57 VFs
[17:12:42] [PASSED] 58 VFs
[17:12:42] [PASSED] 59 VFs
[17:12:42] [PASSED] 60 VFs
[17:12:42] [PASSED] 61 VFs
[17:12:42] [PASSED] 62 VFs
[17:12:42] [PASSED] 63 VFs
[17:12:42] ================== [PASSED] fair_contexts ==================
[17:12:42] ===================== fair_doorbells  ======================
[17:12:42] [PASSED] 1 VF
[17:12:42] [PASSED] 2 VFs
[17:12:42] [PASSED] 3 VFs
[17:12:42] [PASSED] 4 VFs
[17:12:42] [PASSED] 5 VFs
[17:12:42] [PASSED] 6 VFs
[17:12:42] [PASSED] 7 VFs
[17:12:42] [PASSED] 8 VFs
[17:12:42] [PASSED] 9 VFs
[17:12:42] [PASSED] 10 VFs
[17:12:42] [PASSED] 11 VFs
[17:12:42] [PASSED] 12 VFs
[17:12:42] [PASSED] 13 VFs
[17:12:42] [PASSED] 14 VFs
[17:12:42] [PASSED] 15 VFs
[17:12:42] [PASSED] 16 VFs
[17:12:42] [PASSED] 17 VFs
[17:12:42] [PASSED] 18 VFs
[17:12:42] [PASSED] 19 VFs
[17:12:42] [PASSED] 20 VFs
[17:12:42] [PASSED] 21 VFs
[17:12:42] [PASSED] 22 VFs
[17:12:42] [PASSED] 23 VFs
[17:12:42] [PASSED] 24 VFs
[17:12:42] [PASSED] 25 VFs
[17:12:42] [PASSED] 26 VFs
[17:12:42] [PASSED] 27 VFs
[17:12:42] [PASSED] 28 VFs
[17:12:42] [PASSED] 29 VFs
[17:12:42] [PASSED] 30 VFs
[17:12:42] [PASSED] 31 VFs
[17:12:42] [PASSED] 32 VFs
[17:12:42] [PASSED] 33 VFs
[17:12:42] [PASSED] 34 VFs
[17:12:42] [PASSED] 35 VFs
[17:12:42] [PASSED] 36 VFs
[17:12:42] [PASSED] 37 VFs
[17:12:42] [PASSED] 38 VFs
[17:12:42] [PASSED] 39 VFs
[17:12:42] [PASSED] 40 VFs
[17:12:42] [PASSED] 41 VFs
[17:12:42] [PASSED] 42 VFs
[17:12:42] [PASSED] 43 VFs
[17:12:42] [PASSED] 44 VFs
[17:12:42] [PASSED] 45 VFs
[17:12:42] [PASSED] 46 VFs
[17:12:42] [PASSED] 47 VFs
[17:12:42] [PASSED] 48 VFs
[17:12:42] [PASSED] 49 VFs
[17:12:42] [PASSED] 50 VFs
[17:12:42] [PASSED] 51 VFs
[17:12:42] [PASSED] 52 VFs
[17:12:42] [PASSED] 53 VFs
[17:12:42] [PASSED] 54 VFs
[17:12:42] [PASSED] 55 VFs
[17:12:42] [PASSED] 56 VFs
[17:12:42] [PASSED] 57 VFs
[17:12:42] [PASSED] 58 VFs
[17:12:42] [PASSED] 59 VFs
[17:12:42] [PASSED] 60 VFs
[17:12:42] [PASSED] 61 VFs
[17:12:42] [PASSED] 62 VFs
[17:12:42] [PASSED] 63 VFs
[17:12:42] ================= [PASSED] fair_doorbells ==================
[17:12:42] ======================== fair_ggtt  ========================
[17:12:42] [PASSED] 1 VF
[17:12:42] [PASSED] 2 VFs
[17:12:42] [PASSED] 3 VFs
[17:12:42] [PASSED] 4 VFs
[17:12:42] [PASSED] 5 VFs
[17:12:42] [PASSED] 6 VFs
[17:12:42] [PASSED] 7 VFs
[17:12:42] [PASSED] 8 VFs
[17:12:42] [PASSED] 9 VFs
[17:12:42] [PASSED] 10 VFs
[17:12:42] [PASSED] 11 VFs
[17:12:42] [PASSED] 12 VFs
[17:12:42] [PASSED] 13 VFs
[17:12:42] [PASSED] 14 VFs
[17:12:42] [PASSED] 15 VFs
[17:12:42] [PASSED] 16 VFs
[17:12:42] [PASSED] 17 VFs
[17:12:42] [PASSED] 18 VFs
[17:12:42] [PASSED] 19 VFs
[17:12:42] [PASSED] 20 VFs
[17:12:42] [PASSED] 21 VFs
[17:12:42] [PASSED] 22 VFs
[17:12:42] [PASSED] 23 VFs
[17:12:42] [PASSED] 24 VFs
[17:12:42] [PASSED] 25 VFs
[17:12:42] [PASSED] 26 VFs
[17:12:42] [PASSED] 27 VFs
[17:12:42] [PASSED] 28 VFs
[17:12:42] [PASSED] 29 VFs
[17:12:42] [PASSED] 30 VFs
[17:12:42] [PASSED] 31 VFs
[17:12:42] [PASSED] 32 VFs
[17:12:42] [PASSED] 33 VFs
[17:12:42] [PASSED] 34 VFs
[17:12:42] [PASSED] 35 VFs
[17:12:42] [PASSED] 36 VFs
[17:12:42] [PASSED] 37 VFs
[17:12:42] [PASSED] 38 VFs
[17:12:42] [PASSED] 39 VFs
[17:12:42] [PASSED] 40 VFs
[17:12:42] [PASSED] 41 VFs
[17:12:42] [PASSED] 42 VFs
[17:12:42] [PASSED] 43 VFs
[17:12:42] [PASSED] 44 VFs
[17:12:42] [PASSED] 45 VFs
[17:12:42] [PASSED] 46 VFs
[17:12:42] [PASSED] 47 VFs
[17:12:42] [PASSED] 48 VFs
[17:12:42] [PASSED] 49 VFs
[17:12:42] [PASSED] 50 VFs
[17:12:42] [PASSED] 51 VFs
[17:12:42] [PASSED] 52 VFs
[17:12:42] [PASSED] 53 VFs
[17:12:42] [PASSED] 54 VFs
[17:12:42] [PASSED] 55 VFs
[17:12:42] [PASSED] 56 VFs
[17:12:42] [PASSED] 57 VFs
[17:12:42] [PASSED] 58 VFs
[17:12:42] [PASSED] 59 VFs
[17:12:42] [PASSED] 60 VFs
[17:12:42] [PASSED] 61 VFs
[17:12:42] [PASSED] 62 VFs
[17:12:42] [PASSED] 63 VFs
[17:12:42] ==================== [PASSED] fair_ggtt ====================
[17:12:42] ======================== fair_vram  ========================
[17:12:42] [PASSED] 1 VF
[17:12:42] [PASSED] 2 VFs
[17:12:42] [PASSED] 3 VFs
[17:12:42] [PASSED] 4 VFs
[17:12:42] [PASSED] 5 VFs
[17:12:42] [PASSED] 6 VFs
[17:12:42] [PASSED] 7 VFs
[17:12:42] [PASSED] 8 VFs
[17:12:42] [PASSED] 9 VFs
[17:12:42] [PASSED] 10 VFs
[17:12:42] [PASSED] 11 VFs
[17:12:42] [PASSED] 12 VFs
[17:12:42] [PASSED] 13 VFs
[17:12:42] [PASSED] 14 VFs
[17:12:42] [PASSED] 15 VFs
[17:12:42] [PASSED] 16 VFs
[17:12:42] [PASSED] 17 VFs
[17:12:42] [PASSED] 18 VFs
[17:12:42] [PASSED] 19 VFs
[17:12:42] [PASSED] 20 VFs
[17:12:42] [PASSED] 21 VFs
[17:12:42] [PASSED] 22 VFs
[17:12:42] [PASSED] 23 VFs
[17:12:42] [PASSED] 24 VFs
[17:12:42] [PASSED] 25 VFs
[17:12:42] [PASSED] 26 VFs
[17:12:42] [PASSED] 27 VFs
[17:12:42] [PASSED] 28 VFs
[17:12:42] [PASSED] 29 VFs
[17:12:42] [PASSED] 30 VFs
[17:12:42] [PASSED] 31 VFs
[17:12:42] [PASSED] 32 VFs
[17:12:42] [PASSED] 33 VFs
[17:12:42] [PASSED] 34 VFs
[17:12:42] [PASSED] 35 VFs
[17:12:42] [PASSED] 36 VFs
[17:12:42] [PASSED] 37 VFs
[17:12:42] [PASSED] 38 VFs
[17:12:42] [PASSED] 39 VFs
[17:12:42] [PASSED] 40 VFs
[17:12:42] [PASSED] 41 VFs
[17:12:42] [PASSED] 42 VFs
[17:12:42] [PASSED] 43 VFs
[17:12:42] [PASSED] 44 VFs
[17:12:42] [PASSED] 45 VFs
[17:12:42] [PASSED] 46 VFs
[17:12:42] [PASSED] 47 VFs
[17:12:42] [PASSED] 48 VFs
[17:12:42] [PASSED] 49 VFs
[17:12:42] [PASSED] 50 VFs
[17:12:42] [PASSED] 51 VFs
[17:12:42] [PASSED] 52 VFs
[17:12:42] [PASSED] 53 VFs
[17:12:42] [PASSED] 54 VFs
[17:12:42] [PASSED] 55 VFs
[17:12:42] [PASSED] 56 VFs
[17:12:42] [PASSED] 57 VFs
[17:12:42] [PASSED] 58 VFs
[17:12:42] [PASSED] 59 VFs
[17:12:42] [PASSED] 60 VFs
[17:12:42] [PASSED] 61 VFs
[17:12:42] [PASSED] 62 VFs
[17:12:42] [PASSED] 63 VFs
[17:12:42] ==================== [PASSED] fair_vram ====================
[17:12:42] ================== [PASSED] pf_gt_config ===================
[17:12:42] ===================== lmtt (1 subtest) =====================
[17:12:42] ======================== test_ops  =========================
[17:12:42] [PASSED] 2-level
[17:12:42] [PASSED] multi-level
[17:12:42] ==================== [PASSED] test_ops =====================
[17:12:42] ====================== [PASSED] lmtt =======================
[17:12:42] ================= sriov_packet (1 subtest) =================
[17:12:42] [PASSED] test_descriptor_init
[17:12:42] ================== [PASSED] sriov_packet ===================
[17:12:42] ================= pf_service (11 subtests) =================
[17:12:42] [PASSED] pf_negotiate_any
[17:12:42] [PASSED] pf_negotiate_base_match
[17:12:42] [PASSED] pf_negotiate_base_newer
[17:12:42] [PASSED] pf_negotiate_base_next
[17:12:42] [SKIPPED] pf_negotiate_base_older (no older minor)
[17:12:42] [PASSED] pf_negotiate_base_prev
[17:12:42] [PASSED] pf_negotiate_latest_match
[17:12:42] [PASSED] pf_negotiate_latest_newer
[17:12:42] [PASSED] pf_negotiate_latest_next
[17:12:42] [SKIPPED] pf_negotiate_latest_older (no older minor)
[17:12:42] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[17:12:42] =================== [PASSED] pf_service ====================
[17:12:42] ================= xe_guc_g2g (2 subtests) ==================
[17:12:42] ============== xe_live_guc_g2g_kunit_default  ==============
[17:12:42] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[17:12:42] ============== xe_live_guc_g2g_kunit_allmem  ===============
[17:12:42] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[17:12:42] =================== [SKIPPED] xe_guc_g2g ===================
[17:12:42] =================== xe_mocs (2 subtests) ===================
[17:12:42] ================ xe_live_mocs_kernel_kunit  ================
[17:12:42] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[17:12:42] ================ xe_live_mocs_reset_kunit  =================
[17:12:42] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[17:12:42] ==================== [SKIPPED] xe_mocs =====================
[17:12:42] ================= xe_migrate (2 subtests) ==================
[17:12:42] ================= xe_migrate_sanity_kunit  =================
[17:12:42] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[17:12:42] ================== xe_validate_ccs_kunit  ==================
[17:12:42] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[17:12:42] =================== [SKIPPED] xe_migrate ===================
[17:12:42] ================== xe_dma_buf (1 subtest) ==================
[17:12:42] ==================== xe_dma_buf_kunit  =====================
[17:12:42] ================ [SKIPPED] xe_dma_buf_kunit ================
[17:12:42] =================== [SKIPPED] xe_dma_buf ===================
[17:12:42] ================= xe_bo_shrink (1 subtest) =================
[17:12:42] =================== xe_bo_shrink_kunit  ====================
[17:12:42] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[17:12:42] ================== [SKIPPED] xe_bo_shrink ==================
[17:12:42] ==================== xe_bo (2 subtests) ====================
[17:12:42] ================== xe_ccs_migrate_kunit  ===================
[17:12:42] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[17:12:42] ==================== xe_bo_evict_kunit  ====================
[17:12:42] =============== [SKIPPED] xe_bo_evict_kunit ================
[17:12:42] ===================== [SKIPPED] xe_bo ======================
[17:12:42] =================== xe_any (9 subtests) ====================
[17:12:42] [PASSED] test_to_xe
[17:12:42] [PASSED] test_to_dev
[17:12:42] [PASSED] test_to_pdev
[17:12:42] [PASSED] test_to_drm
[17:12:42] [PASSED] test_if_pdev
[17:12:42] [PASSED] test_if_xe
[17:12:42] [PASSED] test_if_tile
[17:12:42] [PASSED] test_if_gt
[17:12:42] [PASSED] test_to_id
[17:12:42] ===================== [PASSED] xe_any ======================
[17:12:42] ==================== args (13 subtests) ====================
[17:12:42] [PASSED] count_args_test
[17:12:42] [PASSED] call_args_example
[17:12:42] [PASSED] call_args_test
[17:12:42] [PASSED] drop_first_arg_example
[17:12:42] [PASSED] drop_first_arg_test
[17:12:42] [PASSED] first_arg_example
[17:12:42] [PASSED] first_arg_test
[17:12:42] [PASSED] last_arg_example
[17:12:42] [PASSED] last_arg_test
[17:12:42] [PASSED] pick_arg_example
[17:12:42] [PASSED] if_args_example
[17:12:42] [PASSED] if_args_test
[17:12:42] [PASSED] sep_comma_example
[17:12:42] ====================== [PASSED] args =======================
[17:12:42] =================== xe_pci (3 subtests) ====================
[17:12:42] ==================== check_graphics_ip  ====================
[17:12:42] [PASSED] 12.00 Xe_LP
[17:12:42] [PASSED] 12.10 Xe_LP+
[17:12:42] [PASSED] 12.55 Xe_HPG
[17:12:42] [PASSED] 12.60 Xe_HPC
[17:12:42] [PASSED] 12.70 Xe_LPG
[17:12:42] [PASSED] 12.71 Xe_LPG
[17:12:42] [PASSED] 12.74 Xe_LPG+
[17:12:42] [PASSED] 20.01 Xe2_HPG
[17:12:42] [PASSED] 20.02 Xe2_HPG
[17:12:42] [PASSED] 20.04 Xe2_LPG
[17:12:42] [PASSED] 30.00 Xe3_LPG
[17:12:42] [PASSED] 30.01 Xe3_LPG
[17:12:42] [PASSED] 30.03 Xe3_LPG
[17:12:42] [PASSED] 30.04 Xe3_LPG
[17:12:42] [PASSED] 30.05 Xe3_LPG
[17:12:42] [PASSED] 35.10 Xe3p_LPG
[17:12:42] [PASSED] 35.11 Xe3p_XPC
[17:12:42] ================ [PASSED] check_graphics_ip ================
[17:12:42] ===================== check_media_ip  ======================
[17:12:42] [PASSED] 12.00 Xe_M
[17:12:42] [PASSED] 12.55 Xe_HPM
[17:12:42] [PASSED] 13.00 Xe_LPM+
[17:12:42] [PASSED] 13.01 Xe2_HPM
[17:12:42] [PASSED] 20.00 Xe2_LPM
[17:12:42] [PASSED] 30.00 Xe3_LPM
[17:12:42] [PASSED] 30.02 Xe3_LPM
[17:12:42] [PASSED] 35.00 Xe3p_LPM
[17:12:42] [PASSED] 35.03 Xe3p_HPM
[17:12:42] ================= [PASSED] check_media_ip ==================
[17:12:42] =================== check_platform_desc  ===================
[17:12:42] [PASSED] 0x9A60 (TIGERLAKE)
[17:12:42] [PASSED] 0x9A68 (TIGERLAKE)
[17:12:42] [PASSED] 0x9A70 (TIGERLAKE)
[17:12:42] [PASSED] 0x9A40 (TIGERLAKE)
[17:12:42] [PASSED] 0x9A49 (TIGERLAKE)
[17:12:42] [PASSED] 0x9A59 (TIGERLAKE)
[17:12:42] [PASSED] 0x9A78 (TIGERLAKE)
[17:12:42] [PASSED] 0x9AC0 (TIGERLAKE)
[17:12:42] [PASSED] 0x9AC9 (TIGERLAKE)
[17:12:42] [PASSED] 0x9AD9 (TIGERLAKE)
[17:12:42] [PASSED] 0x9AF8 (TIGERLAKE)
[17:12:42] [PASSED] 0x4C80 (ROCKETLAKE)
[17:12:42] [PASSED] 0x4C8A (ROCKETLAKE)
[17:12:42] [PASSED] 0x4C8B (ROCKETLAKE)
[17:12:42] [PASSED] 0x4C8C (ROCKETLAKE)
[17:12:42] [PASSED] 0x4C90 (ROCKETLAKE)
[17:12:42] [PASSED] 0x4C9A (ROCKETLAKE)
[17:12:42] [PASSED] 0x4680 (ALDERLAKE_S)
[17:12:42] [PASSED] 0x4682 (ALDERLAKE_S)
[17:12:42] [PASSED] 0x4688 (ALDERLAKE_S)
[17:12:42] [PASSED] 0x468A (ALDERLAKE_S)
[17:12:42] [PASSED] 0x468B (ALDERLAKE_S)
[17:12:42] [PASSED] 0x4690 (ALDERLAKE_S)
[17:12:42] [PASSED] 0x4692 (ALDERLAKE_S)
[17:12:42] [PASSED] 0x4693 (ALDERLAKE_S)
[17:12:42] [PASSED] 0x46A0 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46A1 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46A2 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46A3 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46A6 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46A8 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46AA (ALDERLAKE_P)
[17:12:42] [PASSED] 0x462A (ALDERLAKE_P)
[17:12:42] [PASSED] 0x4626 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x4628 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46B0 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46B1 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46B2 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46B3 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46C0 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46C1 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46C2 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46C3 (ALDERLAKE_P)
[17:12:42] [PASSED] 0x46D0 (ALDERLAKE_N)
[17:12:42] [PASSED] 0x46D1 (ALDERLAKE_N)
[17:12:42] [PASSED] 0x46D2 (ALDERLAKE_N)
[17:12:42] [PASSED] 0x46D3 (ALDERLAKE_N)
[17:12:42] [PASSED] 0x46D4 (ALDERLAKE_N)
[17:12:42] [PASSED] 0xA721 (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA7A1 (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA7A9 (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA7AC (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA7AD (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA720 (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA7A0 (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA7A8 (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA7AA (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA7AB (ALDERLAKE_P)
[17:12:42] [PASSED] 0xA780 (ALDERLAKE_S)
[17:12:42] [PASSED] 0xA781 (ALDERLAKE_S)
[17:12:42] [PASSED] 0xA782 (ALDERLAKE_S)
[17:12:42] [PASSED] 0xA783 (ALDERLAKE_S)
[17:12:42] [PASSED] 0xA788 (ALDERLAKE_S)
[17:12:42] [PASSED] 0xA789 (ALDERLAKE_S)
[17:12:42] [PASSED] 0xA78A (ALDERLAKE_S)
[17:12:42] [PASSED] 0xA78B (ALDERLAKE_S)
[17:12:42] [PASSED] 0x4905 (DG1)
[17:12:42] [PASSED] 0x4906 (DG1)
[17:12:42] [PASSED] 0x4907 (DG1)
[17:12:42] [PASSED] 0x4908 (DG1)
[17:12:42] [PASSED] 0x4909 (DG1)
[17:12:42] [PASSED] 0x56C0 (DG2)
[17:12:42] [PASSED] 0x56C2 (DG2)
[17:12:42] [PASSED] 0x56C1 (DG2)
[17:12:42] [PASSED] 0x7D51 (METEORLAKE)
[17:12:42] [PASSED] 0x7DD1 (METEORLAKE)
[17:12:42] [PASSED] 0x7D41 (METEORLAKE)
[17:12:42] [PASSED] 0x7D67 (METEORLAKE)
[17:12:42] [PASSED] 0xB640 (METEORLAKE)
[17:12:42] [PASSED] 0x56A0 (DG2)
[17:12:42] [PASSED] 0x56A1 (DG2)
[17:12:42] [PASSED] 0x56A2 (DG2)
[17:12:42] [PASSED] 0x56BE (DG2)
[17:12:42] [PASSED] 0x56BF (DG2)
[17:12:42] [PASSED] 0x5690 (DG2)
[17:12:42] [PASSED] 0x5691 (DG2)
[17:12:42] [PASSED] 0x5692 (DG2)
[17:12:42] [PASSED] 0x56A5 (DG2)
[17:12:42] [PASSED] 0x56A6 (DG2)
[17:12:42] [PASSED] 0x56B0 (DG2)
[17:12:42] [PASSED] 0x56B1 (DG2)
[17:12:42] [PASSED] 0x56BA (DG2)
[17:12:42] [PASSED] 0x56BB (DG2)
[17:12:42] [PASSED] 0x56BC (DG2)
[17:12:42] [PASSED] 0x56BD (DG2)
[17:12:42] [PASSED] 0x5693 (DG2)
[17:12:42] [PASSED] 0x5694 (DG2)
[17:12:42] [PASSED] 0x5695 (DG2)
[17:12:42] [PASSED] 0x56A3 (DG2)
[17:12:42] [PASSED] 0x56A4 (DG2)
[17:12:42] [PASSED] 0x56B2 (DG2)
[17:12:42] [PASSED] 0x56B3 (DG2)
[17:12:42] [PASSED] 0x5696 (DG2)
[17:12:42] [PASSED] 0x5697 (DG2)
[17:12:42] [PASSED] 0xB69 (PVC)
[17:12:42] [PASSED] 0xB6E (PVC)
[17:12:42] [PASSED] 0xBD4 (PVC)
[17:12:42] [PASSED] 0xBD5 (PVC)
[17:12:42] [PASSED] 0xBD6 (PVC)
[17:12:42] [PASSED] 0xBD7 (PVC)
[17:12:42] [PASSED] 0xBD8 (PVC)
[17:12:42] [PASSED] 0xBD9 (PVC)
[17:12:42] [PASSED] 0xBDA (PVC)
[17:12:42] [PASSED] 0xBDB (PVC)
[17:12:42] [PASSED] 0xBE0 (PVC)
[17:12:42] [PASSED] 0xBE1 (PVC)
[17:12:42] [PASSED] 0xBE5 (PVC)
[17:12:42] [PASSED] 0x7D40 (METEORLAKE)
[17:12:42] [PASSED] 0x7D45 (METEORLAKE)
[17:12:42] [PASSED] 0x7D55 (METEORLAKE)
[17:12:42] [PASSED] 0x7D60 (METEORLAKE)
[17:12:42] [PASSED] 0x7DD5 (METEORLAKE)
[17:12:42] [PASSED] 0x6420 (LUNARLAKE)
[17:12:42] [PASSED] 0x64A0 (LUNARLAKE)
[17:12:42] [PASSED] 0x64B0 (LUNARLAKE)
[17:12:42] [PASSED] 0xE202 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE209 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE20B (BATTLEMAGE)
[17:12:42] [PASSED] 0xE20C (BATTLEMAGE)
[17:12:42] [PASSED] 0xE20D (BATTLEMAGE)
[17:12:42] [PASSED] 0xE210 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE211 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE212 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE216 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE220 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE221 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE222 (BATTLEMAGE)
[17:12:42] [PASSED] 0xE223 (BATTLEMAGE)
[17:12:42] [PASSED] 0xB080 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB081 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB082 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB083 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB084 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB085 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB086 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB087 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB08F (PANTHERLAKE)
[17:12:42] [PASSED] 0xB090 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB0A0 (PANTHERLAKE)
[17:12:42] [PASSED] 0xB0B0 (PANTHERLAKE)
[17:12:42] [PASSED] 0xFD80 (PANTHERLAKE)
[17:12:42] [PASSED] 0xFD81 (PANTHERLAKE)
[17:12:42] [PASSED] 0xD740 (NOVALAKE_S)
[17:12:42] [PASSED] 0xD741 (NOVALAKE_S)
[17:12:42] [PASSED] 0xD742 (NOVALAKE_S)
[17:12:42] [PASSED] 0xD743 (NOVALAKE_S)
[17:12:42] [PASSED] 0xD745 (NOVALAKE_S)
[17:12:42] [PASSED] 0xD74A (NOVALAKE_S)
[17:12:42] [PASSED] 0xD74B (NOVALAKE_S)
[17:12:42] [PASSED] 0x674C (CRESCENTISLAND)
[17:12:42] [PASSED] 0x674D (CRESCENTISLAND)
[17:12:42] [PASSED] 0x674E (CRESCENTISLAND)
[17:12:42] [PASSED] 0x674F (CRESCENTISLAND)
[17:12:42] [PASSED] 0x6750 (CRESCENTISLAND)
[17:12:42] [PASSED] 0xD750 (NOVALAKE_P)
[17:12:42] [PASSED] 0xD751 (NOVALAKE_P)
[17:12:42] [PASSED] 0xD752 (NOVALAKE_P)
[17:12:42] [PASSED] 0xD753 (NOVALAKE_P)
[17:12:42] [PASSED] 0xD754 (NOVALAKE_P)
[17:12:42] [PASSED] 0xD755 (NOVALAKE_P)
[17:12:42] [PASSED] 0xD756 (NOVALAKE_P)
[17:12:42] [PASSED] 0xD757 (NOVALAKE_P)
[17:12:42] [PASSED] 0xD75F (NOVALAKE_P)
[17:12:42] =============== [PASSED] check_platform_desc ===============
[17:12:42] ===================== [PASSED] xe_pci ======================
[17:12:42] ============= xe_rtp_tables_test (5 subtests) ==============
[17:12:42] ================== xe_rtp_table_gt_test  ===================
[17:12:42] [PASSED] gt_was/14011060649
[17:12:42] [PASSED] gt_was/14011059788
[17:12:42] [PASSED] gt_was/14015795083
[17:12:42] [PASSED] gt_was/16021867713
[17:12:42] [PASSED] gt_was/14019449301
[17:12:42] [PASSED] gt_was/16028005424
[17:12:42] [PASSED] gt_was/14026578760
[17:12:42] [PASSED] gt_was/1409420604
[17:12:42] [PASSED] gt_was/1408615072
[17:12:42] [PASSED] gt_was/22010523718
[17:12:42] [PASSED] gt_was/14011006942
[17:12:42] [PASSED] gt_was/14014830051
[17:12:42] [PASSED] gt_was/18018781329
[17:12:42] [PASSED] gt_was/1509235366
[17:12:42] [PASSED] gt_was/18018781329
[17:12:42] [PASSED] gt_was/16016694945
[17:12:42] [PASSED] gt_was/14018575942
[17:12:42] [PASSED] gt_was/22016670082
[17:12:42] [PASSED] gt_was/22016670082
[17:12:42] [PASSED] gt_was/14017421178
[17:12:42] [PASSED] gt_was/16025250150
[17:12:42] [PASSED] gt_was/14021871409
[17:12:42] [PASSED] gt_was/16021865536
[17:12:42] [PASSED] gt_was/14021486841
[17:12:42] [PASSED] gt_was/14025160223
[17:12:42] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[17:12:42] [PASSED] gt_was/14025635424
[17:12:42] [PASSED] gt_was/16028005424
[17:12:42] ============== [PASSED] xe_rtp_table_gt_test ===============
[17:12:42] ================== xe_rtp_table_gt_test  ===================
[17:12:42] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[17:12:42] [PASSED] gt_tunings/Tuning: 32B Access Enable
[17:12:42] [PASSED] gt_tunings/Tuning: L3 cache
[17:12:42] [PASSED] gt_tunings/Tuning: L3 cache - media
[17:12:42] [PASSED] gt_tunings/Tuning: Compression Overfetch
[17:12:42] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[17:12:42] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[17:12:42] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[17:12:42] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[17:12:42] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[17:12:42] [PASSED] gt_tunings/Tuning: Stateless compression control
[17:12:42] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[17:12:42] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[17:12:42] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[17:12:42] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[17:12:42] ============== [PASSED] xe_rtp_table_gt_test ===============
[17:12:42] ================== xe_rtp_table_oob_test  ==================
[17:12:42] [PASSED] oob_was/1607983814
[17:12:42] [PASSED] oob_was/16010904313
[17:12:42] [PASSED] oob_was/18022495364
[17:12:42] [PASSED] oob_was/22012773006
[17:12:42] [PASSED] oob_was/14014475959
[17:12:42] [PASSED] oob_was/22011391025
[17:12:42] [PASSED] oob_was/22012727170
[17:12:42] [PASSED] oob_was/22012727685
[17:12:42] [PASSED] oob_was/22016596838
[17:12:42] [PASSED] oob_was/18020744125
[17:12:42] [PASSED] oob_was/1409600907
[17:12:42] [PASSED] oob_was/22014953428
[17:12:42] [PASSED] oob_was/16017236439
[17:12:42] [PASSED] oob_was/14019821291
[17:12:42] [PASSED] oob_was/14015076503
[17:12:42] [PASSED] oob_was/14018913170
[17:12:42] [PASSED] oob_was/14018094691
[17:12:42] [PASSED] oob_was/18024947630
[17:12:42] [PASSED] oob_was/16022287689
[17:12:42] [PASSED] oob_was/13011645652
[17:12:42] [PASSED] oob_was/14022293748
[17:12:42] [PASSED] oob_was/22019794406
[17:12:42] [PASSED] oob_was/22019338487
[17:12:42] [PASSED] oob_was/16023588340
[17:12:42] [PASSED] oob_was/14019789679
[17:12:42] [PASSED] oob_was/14022866841
[17:12:42] [PASSED] oob_was/16021333562
[17:12:42] [PASSED] oob_was/14016712196
[17:12:42] [PASSED] oob_was/14015568240
[17:12:42] [PASSED] oob_was/18013179988
[17:12:42] [PASSED] oob_was/1508761755
[17:12:42] [PASSED] oob_was/16023105232
[17:12:42] [PASSED] oob_was/16026508708
[17:12:42] [PASSED] oob_was/14020001231
[17:12:42] [PASSED] oob_was/16023683509
[17:12:42] [PASSED] oob_was/14025515070
[17:12:42] [PASSED] oob_was/15015404425_disable
[17:12:42] [PASSED] oob_was/16026007364
[17:12:42] [PASSED] oob_was/14020316580
[17:12:42] [PASSED] oob_was/14025883347
[17:12:42] [PASSED] oob_was/16029380221
[17:12:42] [PASSED] oob_was/22022079272
[17:12:42] [PASSED] oob_was/16029897822
[17:12:42] [PASSED] oob_was/14027054324
[17:12:42] ============== [PASSED] xe_rtp_table_oob_test ==============
[17:12:42] ================ xe_rtp_table_dev_oob_test  ================
[17:12:42] [PASSED] device_oob_was/22010954014
[17:12:42] [PASSED] device_oob_was/15015404425
[17:12:42] [PASSED] device_oob_was/22019338487_display
[17:12:42] [PASSED] device_oob_was/14022085890
[17:12:42] [PASSED] device_oob_was/14026539277
[17:12:42] [PASSED] device_oob_was/14026633728
[17:12:42] [PASSED] device_oob_was/14026746987
[17:12:42] [PASSED] device_oob_was/14026779378
[17:12:42] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[17:12:42] ========== xe_rtp_table_missing_upper_bound_test  ==========
[17:12:42] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[17:12:42] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[17:12:42] [PASSED] register_whitelist/1806527549
[17:12:42] [PASSED] register_whitelist/allow_read_ctx_timestamp
[17:12:42] [PASSED] register_whitelist/allow_read_queue_timestamp
[17:12:42] [PASSED] register_whitelist/16014440446
[17:12:42] [PASSED] register_whitelist/16017236439
[17:12:42] [PASSED] register_whitelist/16020183090
[17:12:42] [PASSED] register_whitelist/14024997852
[17:12:42] [PASSED] register_whitelist/14024997852
[17:12:42] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[17:12:42] =============== [PASSED] xe_rtp_tables_test ================
[17:12:42] =================== xe_rtp (3 subtests) ====================
[17:12:42] =================== xe_rtp_rules_tests  ====================
[17:12:42] [PASSED] no
[17:12:42] [PASSED] yes
[17:12:42] [PASSED] no-and-no
[17:12:42] [PASSED] no-and-yes
[17:12:42] [PASSED] yes-and-no
[17:12:42] [PASSED] yes-and-yes
[17:12:42] [PASSED] no-or-no
[17:12:42] [PASSED] no-or-yes
[17:12:42] [PASSED] yes-or-no
[17:12:42] [PASSED] yes-or-yes
[17:12:42] [PASSED] no-yes-or-yes-no
[17:12:42] [PASSED] no-yes-or-yes-yes
[17:12:42] [PASSED] yes-yes-or-no-yes
[17:12:42] [PASSED] yes-yes-or-yes-yes
[17:12:42] [PASSED] no-no-or-yes-or-no
[17:12:42] [PASSED] or
[17:12:42] [PASSED] or-yes
[17:12:42] [PASSED] or-no
[17:12:42] [PASSED] yes-or
[17:12:42] [PASSED] no-or
[17:12:42] [PASSED] no-or-or-yes
[17:12:42] [PASSED] yes-or-or-no
[17:12:42] [PASSED] no-or-or-no
[17:12:42] [PASSED] missing-context-engine-class
[17:12:42] [PASSED] missing-context-engine-class-or-yes
[17:12:42] [PASSED] missing-context-engine-class-or-or-yes
[17:12:42] =============== [PASSED] xe_rtp_rules_tests ================
[17:12:42] =============== xe_rtp_process_to_sr_tests  ================
[17:12:42] [PASSED] coalesce-same-reg
[17:12:42] [PASSED] coalesce-same-reg-literal-and-func
[17:12:42] [PASSED] no-match-no-add
[17:12:42] [PASSED] two-regs-two-entries
[17:12:42] [PASSED] clr-one-set-other
[17:12:42] [PASSED] set-field
[17:12:42] [PASSED] conflict-duplicate
[17:12:42] [PASSED] conflict-not-disjoint
[17:12:42] [PASSED] conflict-not-disjoint-literal-and-func
[17:12:42] [PASSED] conflict-reg-type
[17:12:42] [PASSED] bad-mcr-reg-forced-to-regular
[17:12:42] [PASSED] bad-regular-reg-forced-to-mcr
[17:12:42] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[17:12:42] ================== xe_rtp_process_tests  ===================
[17:12:42] [PASSED] active1
[17:12:42] [PASSED] active2
[17:12:42] [PASSED] active-inactive
[17:12:42] [PASSED] inactive-active
[17:12:42] [PASSED] inactive-active-inactive
[17:12:42] [PASSED] inactive-inactive-inactive
[17:12:42] ============== [PASSED] xe_rtp_process_tests ===============
[17:12:42] ===================== [PASSED] xe_rtp ======================
[17:12:42] ==================== xe_wa (1 subtest) =====================
[17:12:42] ======================== xe_wa_gt  =========================
[17:12:42] [PASSED] TIGERLAKE B0
[17:12:42] [PASSED] DG1 A0
[17:12:42] [PASSED] DG1 B0
[17:12:42] [PASSED] ALDERLAKE_S A0
[17:12:42] [PASSED] ALDERLAKE_S B0
[17:12:42] [PASSED] ALDERLAKE_S C0
[17:12:42] [PASSED] ALDERLAKE_S D0
[17:12:42] [PASSED] ALDERLAKE_P A0
[17:12:42] [PASSED] ALDERLAKE_P B0
[17:12:42] [PASSED] ALDERLAKE_P C0
[17:12:42] [PASSED] ALDERLAKE_S RPLS D0
[17:12:42] [PASSED] ALDERLAKE_P RPLU E0
[17:12:42] [PASSED] DG2 G10 C0
[17:12:42] [PASSED] DG2 G11 B1
[17:12:42] [PASSED] DG2 G12 A1
[17:12:42] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[17:12:42] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[17:12:42] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[17:12:42] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[17:12:42] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[17:12:42] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[17:12:42] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[17:12:42] ==================== [PASSED] xe_wa_gt =====================
[17:12:42] ====================== [PASSED] xe_wa ======================
[17:12:42] ============================================================
[17:12:42] Testing complete. Ran 793 tests: passed: 765, skipped: 28
[17:12:42] Elapsed time: 36.743s total, 1.824s configuring, 34.200s building, 0.678s running

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

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[17:13:09] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:13:10] 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
[17:13:21] Starting KUnit Kernel (1/1)...
[17:13:21] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:13:21] ============= refcount_interrupt (4 subtests) ==============
[17:13:21] [PASSED] test_single_irq_change
[17:13:21] [PASSED] test_nested_irq_change
[17:13:21] [PASSED] test_multiple_irq_change
[17:13:21] [PASSED] test_irq_save
[17:13:21] =============== [PASSED] refcount_interrupt ================
[17:13:21] ================= ttm_device (5 subtests) ==================
[17:13:21] [PASSED] ttm_device_init_basic
[17:13:21] [PASSED] ttm_device_init_multiple
[17:13:21] [PASSED] ttm_device_fini_basic
[17:13:21] [PASSED] ttm_device_init_no_vma_man
[17:13:21] ================== ttm_device_init_pools  ==================
[17:13:21] [PASSED] No DMA allocations, no DMA32 required
[17:13:21] [PASSED] DMA allocations, DMA32 required
[17:13:21] [PASSED] No DMA allocations, DMA32 required
[17:13:21] [PASSED] DMA allocations, no DMA32 required
[17:13:21] ============== [PASSED] ttm_device_init_pools ==============
[17:13:21] =================== [PASSED] ttm_device ====================
[17:13:21] ================== ttm_pool (8 subtests) ===================
[17:13:21] ================== ttm_pool_alloc_basic  ===================
[17:13:21] [PASSED] One page
[17:13:21] [PASSED] More than one page
[17:13:21] [PASSED] Above the allocation limit
[17:13:21] [PASSED] One page, with coherent DMA mappings enabled
[17:13:21] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[17:13:21] ============== [PASSED] ttm_pool_alloc_basic ===============
[17:13:21] ============== ttm_pool_alloc_basic_dma_addr  ==============
[17:13:21] [PASSED] One page
[17:13:21] [PASSED] More than one page
[17:13:21] [PASSED] Above the allocation limit
[17:13:21] [PASSED] One page, with coherent DMA mappings enabled
[17:13:21] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[17:13:21] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[17:13:21] [PASSED] ttm_pool_alloc_order_caching_match
[17:13:21] [PASSED] ttm_pool_alloc_caching_mismatch
[17:13:21] [PASSED] ttm_pool_alloc_order_mismatch
[17:13:21] [PASSED] ttm_pool_free_dma_alloc
[17:13:21] [PASSED] ttm_pool_free_no_dma_alloc
[17:13:21] [PASSED] ttm_pool_fini_basic
[17:13:21] ==================== [PASSED] ttm_pool =====================
[17:13:21] ================ ttm_resource (8 subtests) =================
[17:13:21] ================= ttm_resource_init_basic  =================
[17:13:21] [PASSED] Init resource in TTM_PL_SYSTEM
[17:13:21] [PASSED] Init resource in TTM_PL_VRAM
[17:13:21] [PASSED] Init resource in a private placement
[17:13:21] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[17:13:21] ============= [PASSED] ttm_resource_init_basic =============
[17:13:21] [PASSED] ttm_resource_init_pinned
[17:13:21] [PASSED] ttm_resource_fini_basic
[17:13:21] [PASSED] ttm_resource_manager_init_basic
[17:13:21] [PASSED] ttm_resource_manager_usage_basic
[17:13:21] [PASSED] ttm_resource_manager_set_used_basic
[17:13:21] [PASSED] ttm_sys_man_alloc_basic
[17:13:21] [PASSED] ttm_sys_man_free_basic
[17:13:21] ================== [PASSED] ttm_resource ===================
[17:13:21] =================== ttm_tt (15 subtests) ===================
[17:13:21] ==================== ttm_tt_init_basic  ====================
[17:13:21] [PASSED] Page-aligned size
[17:13:21] [PASSED] Extra pages requested
[17:13:21] ================ [PASSED] ttm_tt_init_basic ================
[17:13:21] [PASSED] ttm_tt_init_misaligned
[17:13:21] [PASSED] ttm_tt_fini_basic
[17:13:21] [PASSED] ttm_tt_fini_sg
[17:13:21] [PASSED] ttm_tt_fini_shmem
[17:13:21] [PASSED] ttm_tt_create_basic
[17:13:21] [PASSED] ttm_tt_create_invalid_bo_type
[17:13:21] [PASSED] ttm_tt_create_ttm_exists
[17:13:21] [PASSED] ttm_tt_create_failed
[17:13:21] [PASSED] ttm_tt_destroy_basic
[17:13:21] [PASSED] ttm_tt_populate_null_ttm
[17:13:21] [PASSED] ttm_tt_populate_populated_ttm
[17:13:21] [PASSED] ttm_tt_unpopulate_basic
[17:13:21] [PASSED] ttm_tt_unpopulate_empty_ttm
[17:13:21] [PASSED] ttm_tt_swapin_basic
[17:13:21] ===================== [PASSED] ttm_tt ======================
[17:13:21] =================== ttm_bo (14 subtests) ===================
[17:13:21] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[17:13:21] [PASSED] Cannot be interrupted and sleeps
[17:13:21] [PASSED] Cannot be interrupted, locks straight away
[17:13:21] [PASSED] Can be interrupted, sleeps
[17:13:21] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[17:13:21] [PASSED] ttm_bo_reserve_locked_no_sleep
[17:13:21] [PASSED] ttm_bo_reserve_no_wait_ticket
[17:13:21] [PASSED] ttm_bo_reserve_double_resv
[17:13:21] [PASSED] ttm_bo_reserve_interrupted
[17:13:21] [PASSED] ttm_bo_reserve_deadlock
[17:13:21] [PASSED] ttm_bo_unreserve_basic
[17:13:21] [PASSED] ttm_bo_unreserve_pinned
[17:13:21] [PASSED] ttm_bo_unreserve_bulk
[17:13:21] [PASSED] ttm_bo_fini_basic
[17:13:21] [PASSED] ttm_bo_fini_shared_resv
[17:13:21] [PASSED] ttm_bo_pin_basic
[17:13:21] [PASSED] ttm_bo_pin_unpin_resource
[17:13:21] [PASSED] ttm_bo_multiple_pin_one_unpin
[17:13:21] ===================== [PASSED] ttm_bo ======================
[17:13:21] ============== ttm_bo_validate (22 subtests) ===============
[17:13:21] ============== ttm_bo_init_reserved_sys_man  ===============
[17:13:21] [PASSED] Buffer object for userspace
[17:13:21] [PASSED] Kernel buffer object
[17:13:21] [PASSED] Shared buffer object
[17:13:21] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[17:13:21] ============== ttm_bo_init_reserved_mock_man  ==============
[17:13:21] [PASSED] Buffer object for userspace
[17:13:21] [PASSED] Kernel buffer object
[17:13:21] [PASSED] Shared buffer object
[17:13:21] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[17:13:21] [PASSED] ttm_bo_init_reserved_resv
[17:13:21] ================== ttm_bo_validate_basic  ==================
[17:13:21] [PASSED] Buffer object for userspace
[17:13:21] [PASSED] Kernel buffer object
[17:13:21] [PASSED] Shared buffer object
[17:13:21] ============== [PASSED] ttm_bo_validate_basic ==============
[17:13:21] [PASSED] ttm_bo_validate_invalid_placement
[17:13:21] ============= ttm_bo_validate_same_placement  ==============
[17:13:21] [PASSED] System manager
[17:13:21] [PASSED] VRAM manager
[17:13:21] ========= [PASSED] ttm_bo_validate_same_placement ==========
[17:13:21] [PASSED] ttm_bo_validate_failed_alloc
[17:13:21] [PASSED] ttm_bo_validate_pinned
[17:13:21] [PASSED] ttm_bo_validate_busy_placement
[17:13:21] ================ ttm_bo_validate_multihop  =================
[17:13:21] [PASSED] Buffer object for userspace
[17:13:21] [PASSED] Kernel buffer object
[17:13:21] [PASSED] Shared buffer object
[17:13:21] ============ [PASSED] ttm_bo_validate_multihop =============
[17:13:21] ========== ttm_bo_validate_no_placement_signaled  ==========
[17:13:21] [PASSED] Buffer object in system domain, no page vector
[17:13:21] [PASSED] Buffer object in system domain with an existing page vector
[17:13:21] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[17:13:21] ======== ttm_bo_validate_no_placement_not_signaled  ========
[17:13:21] [PASSED] Buffer object for userspace
[17:13:21] [PASSED] Kernel buffer object
[17:13:21] [PASSED] Shared buffer object
[17:13:21] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[17:13:21] [PASSED] ttm_bo_validate_move_fence_signaled
[17:13:21] ========= ttm_bo_validate_move_fence_not_signaled  =========
[17:13:21] [PASSED] Waits for GPU
[17:13:21] [PASSED] Tries to lock straight away
[17:13:21] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[17:13:21] [PASSED] ttm_bo_validate_swapout
[17:13:21] [PASSED] ttm_bo_validate_happy_evict
[17:13:21] [PASSED] ttm_bo_validate_all_pinned_evict
[17:13:21] [PASSED] ttm_bo_validate_allowed_only_evict
[17:13:21] [PASSED] ttm_bo_validate_deleted_evict
[17:13:21] [PASSED] ttm_bo_validate_busy_domain_evict
[17:13:21] [PASSED] ttm_bo_validate_evict_gutting
[17:13:21] [PASSED] ttm_bo_validate_recrusive_evict
[17:13:21] ================= [PASSED] ttm_bo_validate =================
[17:13:21] ============================================================
[17:13:21] Testing complete. Ran 106 tests: passed: 106
[17:13:21] Elapsed time: 12.013s total, 1.765s configuring, 10.034s building, 0.185s running

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[17:13:21] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:13:23] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[17:13:31] Starting KUnit Kernel (1/1)...
[17:13:31] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:13:31] ============= refcount_interrupt (4 subtests) ==============
[17:13:31] [PASSED] test_single_irq_change
[17:13:31] [PASSED] test_nested_irq_change
[17:13:31] [PASSED] test_multiple_irq_change
[17:13:31] [PASSED] test_irq_save
[17:13:31] =============== [PASSED] refcount_interrupt ================
[17:13:31] =============== dma-buf-fence (12 subtests) ================
[17:13:31] [PASSED] test_sanitycheck
[17:13:31] [PASSED] test_signaling
[17:13:31] [PASSED] test_add_callback
[17:13:31] [PASSED] test_late_add_callback
[17:13:31] [PASSED] test_rm_callback
[17:13:31] [PASSED] test_late_rm_callback
[17:13:31] [PASSED] test_status
[17:13:31] [PASSED] test_error
[17:13:31] [PASSED] test_wait
[17:13:31] [PASSED] test_wait_timeout
[17:13:31] [PASSED] test_stub
[17:13:31] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[17:13:31] ================== [PASSED] dma-buf-fence ==================
[17:13:31] ============ dma-buf-fence-chain (11 subtests) =============
[17:13:31] [PASSED] test_sanitycheck
[17:13:31] [PASSED] test_find_seqno
[17:13:31] [PASSED] test_find_signaled
[17:13:31] [PASSED] test_find_out_of_order
[17:13:36] [PASSED] test_find_gap
[17:13:36] [PASSED] test_find_race
[17:13:36] [PASSED] test_signal_forward
[17:13:36] [PASSED] test_signal_backward
[17:13:36] [PASSED] test_wait_forward
[17:13:37] [PASSED] test_wait_backward
[17:13:37] [PASSED] test_wait_random
[17:13:37] =============== [PASSED] dma-buf-fence-chain ===============
[17:13:37] ============ dma-buf-fence-unwrap (10 subtests) ============
[17:13:37] [PASSED] test_sanitycheck
[17:13:37] [PASSED] test_unwrap_array
[17:13:37] [PASSED] test_unwrap_chain
[17:13:37] [PASSED] test_unwrap_chain_array
[17:13:37] [PASSED] test_unwrap_merge
[17:13:37] [PASSED] test_unwrap_merge_duplicate
[17:13:37] [PASSED] test_unwrap_merge_seqno
[17:13:37] [PASSED] test_unwrap_merge_order
[17:13:37] [PASSED] test_unwrap_merge_complex
[17:13:37] [PASSED] test_unwrap_merge_complex_seqno
[17:13:37] ============== [PASSED] dma-buf-fence-unwrap ===============
[17:13:37] ================ dma-buf-resv (5 subtests) =================
[17:13:37] [PASSED] test_sanitycheck
[17:13:37] ===================== test_signaling  ======================
[17:13:37] [PASSED] kernel
[17:13:37] [PASSED] write
[17:13:37] [PASSED] read
[17:13:37] [PASSED] bookkeep
[17:13:37] ================= [PASSED] test_signaling ==================
[17:13:37] ====================== test_for_each  ======================
[17:13:37] [PASSED] kernel
[17:13:37] [PASSED] write
[17:13:37] [PASSED] read
[17:13:37] [PASSED] bookkeep
[17:13:37] ================== [PASSED] test_for_each ==================
[17:13:37] ================= test_for_each_unlocked  ==================
[17:13:37] [PASSED] kernel
[17:13:37] [PASSED] write
[17:13:37] [PASSED] read
[17:13:37] [PASSED] bookkeep
[17:13:37] ============= [PASSED] test_for_each_unlocked ==============
[17:13:37] ===================== test_get_fences  =====================
[17:13:37] [PASSED] kernel
[17:13:37] [PASSED] write
[17:13:37] [PASSED] read
[17:13:37] [PASSED] bookkeep
[17:13:37] ================= [PASSED] test_get_fences =================
[17:13:37] ================== [PASSED] dma-buf-resv ===================
[17:13:37] ============================================================
[17:13:37] Testing complete. Ran 54 tests: passed: 53, skipped: 1
[17:13:37] Elapsed time: 15.685s total, 1.798s configuring, 8.516s building, 5.344s running

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



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

* Re: [PATCH 2/6] drm/xe: Keep reference to device descriptor
  2026-09-04 17:05 ` [PATCH 2/6] drm/xe: Keep reference to device descriptor Michal Wajdeczko
@ 2026-09-04 17:14   ` sashiko-bot
  2026-09-05 13:52     ` Gustavo Sousa
  0 siblings, 1 reply; 25+ messages in thread
From: sashiko-bot @ 2026-09-04 17:14 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] In test initialization, `xe->subplatform_desc` is incorrectly assigned a pointer to a sentinel element instead of `NULL` when no subplatform is matched.
--

commit 2fbc7ea3deaa915eef829a4c64ec08fac1f4a8a9
Author: Michal Wajdeczko <michal.wajdeczko@intel.com>

drm/xe: Keep reference to device descriptor

This patch stores a reference to the whole device descriptor and the
matched subplatform descriptor within the xe_device structure. This
change enables access to additional non-mutable device parameters.

> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
> index 4965a01f6ba52..48d5ee478fe69 100644
> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
> @@ -374,6 +374,8 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>  		return -ENODEV;
>  
>  done:
> +	xe->desc = desc;
> +	xe->subplatform_desc = subplatform_desc;

[Severity: Medium]
Will this assign a pointer to a sentinel element instead of NULL when no
subplatform is matched?

In xe_pci_fake_device_init(), the search loop terminates when it reaches the
sentinel element:

	for (subplatform_desc = desc->subplatforms;
	     subplatform_desc && subplatform_desc->subplatform;
	     subplatform_desc++)
		if (subplatform_desc->subplatform == data->subplatform)
			break;

If data->subplatform is XE_SUBPLATFORM_NONE, the loop exits with
subplatform_desc pointing to the sentinel element of desc->subplatforms, not
NULL. The subsequent check (!subplatform_desc) evaluates to false.

By directly assigning this value to xe->subplatform_desc, the test mock
environment now gets a non-NULL pointer (the sentinel) for devices without a
subplatform. Could this create a state inconsistency with production code,
causing tests checking if (xe->subplatform_desc) to falsely evaluate to
true?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260904170531.516-1-michal.wajdeczko@intel.com?part=2

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

* ✓ Xe.CI.BAT: success for drm/xe/log: Relax location ID recognition
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
                   ` (6 preceding siblings ...)
  2026-09-04 17:13 ` ✓ CI.KUnit: success for " Patchwork
@ 2026-09-04 17:52 ` Patchwork
  2026-09-05  1:36 ` ✓ Xe.CI.FULL: " Patchwork
  8 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2026-09-04 17:52 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/log: Relax location ID recognition
URL   : https://patchwork.freedesktop.org/series/173407/
State : success

== Summary ==

CI Bug Log - changes from xe-5694-313da1cc22491f07075c7ae36372343aa235d11e_BAT -> xe-pw-173407v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (14 -> 15)
------------------------------

  Additional (1): bat-bmg-2 

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

  Here are the changes found in xe-pw-173407v1_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@write:
    - bat-bmg-2:          NOTRUN -> [SKIP][1] ([Intel XE#2134]) +4 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@fbdev@write.html

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

  * igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
    - bat-bmg-2:          NOTRUN -> [SKIP][3] ([Intel XE#2489] / [Intel XE#3419]) +13 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html

  * igt@kms_flip@basic-flip-vs-modeset:
    - bat-bmg-2:          NOTRUN -> [SKIP][4] ([Intel XE#2482]) +3 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@kms_flip@basic-flip-vs-modeset.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-bmg-2:          NOTRUN -> [SKIP][5] ([Intel XE#2434] / [Intel XE#2548] / [Intel XE#6314])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - bat-bmg-2:          NOTRUN -> [SKIP][6] ([Intel XE#2234] / [Intel XE#2850]) +2 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@xe_exec_multi_queue@priority:
    - bat-bmg-2:          NOTRUN -> [SKIP][7] ([Intel XE#8364]) +13 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@xe_exec_multi_queue@priority.html

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

  * igt@xe_pat@pat-index-xehpc:
    - bat-bmg-2:          NOTRUN -> [SKIP][9] ([Intel XE#1420] / [Intel XE#7590])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelp:
    - bat-bmg-2:          NOTRUN -> [SKIP][10] ([Intel XE#2245] / [Intel XE#7590])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@xe_pat@pat-index-xelp.html

  * igt@xe_pat@pat-index-xelpg:
    - bat-bmg-2:          NOTRUN -> [SKIP][11] ([Intel XE#2236] / [Intel XE#7590])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/bat-bmg-2/igt@xe_pat@pat-index-xelpg.html

  
  [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
  [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
  [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#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236
  [Intel XE#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
  [Intel XE#2434]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2434
  [Intel XE#2482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2482
  [Intel XE#2489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2489
  [Intel XE#2548]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2548
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#3419]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3419
  [Intel XE#6314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6314
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364


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

  * Linux: xe-5694-313da1cc22491f07075c7ae36372343aa235d11e -> xe-pw-173407v1

  IGT_9084: 9084
  xe-5694-313da1cc22491f07075c7ae36372343aa235d11e: 313da1cc22491f07075c7ae36372343aa235d11e
  xe-pw-173407v1: 173407v1

== Logs ==

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

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

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

* Re: [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init
  2026-09-04 17:05 ` [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init Michal Wajdeczko
@ 2026-09-04 18:09   ` Rodrigo Vivi
  2026-09-05 13:04   ` Gustavo Sousa
  1 sibling, 0 replies; 25+ messages in thread
From: Rodrigo Vivi @ 2026-09-04 18:09 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe, Gustavo Sousa

On Fri, Sep 04, 2026 at 07:05:25PM +0200, Michal Wajdeczko wrote:
> We don't need anything from struct xe_device_desc in xe_info_init()
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---

I know that this patch doesn't qualify for -fixes material,
but just for the record it was a left over of the commit 13bebc7171e6
("drm/xe: Add graphics/media IPs and their step info to xe_probed_info")

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> Cc: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  drivers/gpu/drm/xe/tests/xe_pci.c | 2 +-
>  drivers/gpu/drm/xe/xe_pci.c       | 3 +--
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
> index bb0393475524..4965a01f6ba5 100644
> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
> @@ -382,7 +382,7 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>  		return err;
>  
>  	xe_info_init_early(xe, desc, subplatform_desc, &probed_info);
> -	xe_info_init(xe, desc, &probed_info);
> +	xe_info_init(xe, &probed_info);
>  
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index ab4da1d9a9f1..47fad696545c 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -1011,7 +1011,6 @@ static int xe_probe_info(struct xe_device *xe,
>   * present in device info.
>   */
>  static int xe_info_init(struct xe_device *xe,
> -			const struct xe_device_desc *desc,
>  			struct xe_probed_info *probed_info)
>  {
>  	const struct xe_ip *graphics_ip;
> @@ -1244,7 +1243,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
>  	if (err)
>  		return err;
>  
> -	err = xe_info_init(xe, desc, &probed_info);
> +	err = xe_info_init(xe, &probed_info);
>  	if (err)
>  		return err;
>  
> -- 
> 2.47.1
> 

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

* Re: [PATCH 6/6] drm/xe/log: Relax location ID recognition
  2026-09-04 17:05 ` [PATCH 6/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
@ 2026-09-04 18:44   ` Rodrigo Vivi
  2026-09-09  9:00   ` Mallesh, Koujalagi
  1 sibling, 0 replies; 25+ messages in thread
From: Rodrigo Vivi @ 2026-09-04 18:44 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe, Mallesh Koujalagi

On Fri, Sep 04, 2026 at 07:05:30PM +0200, Michal Wajdeczko wrote:
> It turned out that during early probe phase, VFs use detached from
> the xe_device, temporary xe_gt objects, which when used as location
> in xe_log() macros, will be treated by the dmesg decoration code as
> bogus, possibly triggering a WARN, and the output will look like:
> 
>  [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request ...
> 
> instead of expected:
> 
>  [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile0: GT0: GUC: MMIO request ...
> 
> Relax the tile/GT id validation and instead of looking for the real
> objects, only check if encoded id is within the range of possible
> tiles or GTs on the current xe device, using data from the device
> descriptor rather then the object list.
> 
> Fixes: 1151b9f6f465 ("drm/xe/log: Add component/location decorations to dmesg")
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_log.c | 40 ++++++++++++++++++++++++-------------
>  1 file changed, 26 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_log.c b/drivers/gpu/drm/xe/xe_log.c
> index 5549ef6966fd..29eb16db3320 100644
> --- a/drivers/gpu/drm/xe/xe_log.c
> +++ b/drivers/gpu/drm/xe/xe_log.c
> @@ -10,6 +10,7 @@
>  
>  #include "xe_device.h"
>  #include "xe_log.h"
> +#include "xe_pci_types.h"
>  #include "xe_printk.h"
>  
>  static void log_emit_cper(struct pci_dev *pdev, int cper_sev, enum xe_sigid sigid,
> @@ -52,18 +53,24 @@ static const char *log_component_prefix(u32 component)
>  	return component ? log_unknown_component_prefix(component) : "";
>  }
>  
> -static struct xe_gt *get_gt_safe(struct pci_dev *pdev, u8 id)
> +static bool allowed_tile_id(struct xe_device *xe, u8 tile_id)
>  {
> -	struct xe_device *xe = pdev_to_xe_device(pdev);
> +	return tile_id < 1 + xe->desc->max_remote_tiles;
> +}
>  
> -	return xe ? xe_device_get_gt(xe, id) : NULL;
> +static bool allowed_gt_id(struct xe_device *xe, u8 gt_id)
> +{
> +	return gt_id < (1 + xe->desc->max_remote_tiles) * xe->desc->max_gt_per_tile;
>  }
>  
> -static struct xe_tile *get_tile_safe(struct pci_dev *pdev, u8 id)
> +static u8 gt_id_to_tile_id(struct xe_device *xe, u8 gt_id)
>  {
> -	struct xe_device *xe = pdev_to_xe_device(pdev);
> +	return gt_id / xe->desc->max_gt_per_tile;
> +}
>  
> -	return xe && id < xe->info.tile_count ? &xe->tiles[id] : NULL;
> +static const char *location_suffix(bool valid)
> +{
> +	return valid ? ":" : "?";
>  }
>  
>  static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char *buf, size_t size)
> @@ -76,17 +83,22 @@ static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char
>  			goto unrecognized;
>  		strscpy(buf, "", size);
>  	} else if (type == XE_LOG_LOCATION_TYPE_TILE) {
> -		struct xe_tile *tile = get_tile_safe(pdev, id);
> +		struct xe_device *xe = xe_any_to_xe(pdev);
> +		bool valid = xe ? allowed_tile_id(xe, id) : false;
> +		const char *pad = location_suffix(valid);
>  
> -		if (!tile)
> -			goto unrecognized;
> -		snprintf(buf, size, "Tile%u: ", id);
> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
> +			 "LOG: invalid tile identifier: %u\n", id);
> +		snprintf(buf, size, "Tile%u%s ", id, pad);
>  	} else if (type == XE_LOG_LOCATION_TYPE_GT) {
> -		struct xe_gt *gt = get_gt_safe(pdev, id);
> +		struct xe_device *xe = xe_any_to_xe(pdev);
> +		bool valid = xe ? allowed_gt_id(xe, id) : false;
> +		const char *pad = location_suffix(valid);
> +		u8 tile_id = xe ? gt_id_to_tile_id(xe, id) : 0;
>  
> -		if (!gt)
> -			goto unrecognized;
> -		snprintf(buf, size, "Tile%u: GT%u: ", gt->tile->id, id);
> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
> +			 "LOG: invalid GT identifier: %u\n", id);
> +		snprintf(buf, size, "Tile%u%s GT%u%s ", tile_id, pad, id, pad);
>  	} else {
>  		goto unrecognized;
>  	}
> -- 
> 2.47.1
> 

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

* ✓ Xe.CI.FULL: success for drm/xe/log: Relax location ID recognition
  2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
                   ` (7 preceding siblings ...)
  2026-09-04 17:52 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-09-05  1:36 ` Patchwork
  8 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2026-09-05  1:36 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/log: Relax location ID recognition
URL   : https://patchwork.freedesktop.org/series/173407/
State : success

== Summary ==

CI Bug Log - changes from xe-5694-313da1cc22491f07075c7ae36372343aa235d11e_FULL -> xe-pw-173407v1_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

New tests
---------

  New tests have been introduced between xe-5694-313da1cc22491f07075c7ae36372343aa235d11e_FULL and xe-pw-173407v1_FULL:

### New IGT tests (1) ###

  * igt@kms_addfb_basic:
    - Statuses :
    - Exec time: [None] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@intel_hwmon@hwmon-read:
    - shard-lnl:          NOTRUN -> [SKIP][1] ([Intel XE#1125] / [Intel XE#7312])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@intel_hwmon@hwmon-read.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-bmg:          NOTRUN -> [SKIP][2] ([Intel XE#2370])
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-270:
    - shard-lnl:          NOTRUN -> [SKIP][3] ([Intel XE#1407]) +5 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-lnl:          NOTRUN -> [SKIP][4] ([Intel XE#3658] / [Intel XE#7360])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

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

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#1124]) +2 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-lnl:          NOTRUN -> [SKIP][7] ([Intel XE#1428] / [Intel XE#7387])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-lnl:          NOTRUN -> [SKIP][8] ([Intel XE#1124]) +8 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_bw@connected-linear-tiling-3-displays-target-2160x1440p:
    - shard-lnl:          NOTRUN -> [SKIP][9] ([Intel XE#7679]) +1 other test skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_bw@connected-linear-tiling-3-displays-target-2160x1440p.html

  * igt@kms_bw@linear-tiling-2-displays-target-3840x2160p:
    - shard-lnl:          NOTRUN -> [SKIP][10] ([Intel XE#367])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_bw@linear-tiling-2-displays-target-3840x2160p.html

  * igt@kms_bw@linear-tiling-4-displays-target-3840x2160p:
    - shard-lnl:          NOTRUN -> [SKIP][11] ([Intel XE#8365])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@kms_bw@linear-tiling-4-displays-target-3840x2160p.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-c-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][12] ([Intel XE#2669] / [Intel XE#7389]) +2 other tests skip
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-c-edp-1.html

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

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][14] ([Intel XE#3432])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][15] ([Intel XE#2887]) +8 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-lnl:          NOTRUN -> [SKIP][16] ([Intel XE#7008])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium_audio@dp-audio-after-suspend:
    - shard-lnl:          NOTRUN -> [SKIP][17] ([Intel XE#2252])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@kms_chamelium_audio@dp-audio-after-suspend.html

  * igt@kms_chamelium_color@ctm-red-to-blue:
    - shard-lnl:          NOTRUN -> [SKIP][18] ([Intel XE#306] / [Intel XE#7358]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_chamelium_color@ctm-red-to-blue.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d:
    - shard-lnl:          NOTRUN -> [SKIP][19] ([Intel XE#7358])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_chamelium_color_pipeline@plane-lut1d.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#7358])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate:
    - shard-bmg:          NOTRUN -> [SKIP][21] ([Intel XE#2252]) +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-lnl:          NOTRUN -> [SKIP][22] ([Intel XE#373]) +3 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_chamelium_sharpness_filter@filter-basic:
    - shard-lnl:          NOTRUN -> [SKIP][23] ([Intel XE#6507])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_chamelium_sharpness_filter@filter-basic.html

  * igt@kms_color_pipeline@plane-lut1d-lut1d:
    - shard-lnl:          [PASS][24] -> [SKIP][25] ([Intel XE#7006])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_color_pipeline@plane-lut1d-lut1d.html
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_color_pipeline@plane-lut1d-lut1d.html

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

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

  * igt@kms_content_protection@uevent:
    - shard-lnl:          NOTRUN -> [SKIP][28] ([Intel XE#7642]) +2 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-sliding-128x42:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#2320])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_cursor_crc@cursor-sliding-128x42.html

  * igt@kms_cursor_crc@cursor-sliding-256x85:
    - shard-lnl:          NOTRUN -> [SKIP][30] ([Intel XE#1424]) +4 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_cursor_crc@cursor-sliding-256x85.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-lnl:          NOTRUN -> [SKIP][31] ([Intel XE#309] / [Intel XE#7343]) +4 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-bmg:          [PASS][32] -> [FAIL][33] ([Intel XE#7809])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-lnl:          NOTRUN -> [SKIP][34] ([Intel XE#1508])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#4354] / [Intel XE#5882])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_dp_link_training@non-uhbr-mst.html

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

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-lnl:          NOTRUN -> [SKIP][37] ([Intel XE#4331] / [Intel XE#7227])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#8265])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc:
    - shard-lnl:          NOTRUN -> [SKIP][39] ([Intel XE#8265])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats:
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#4422] / [Intel XE#7442])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#4422] / [Intel XE#7442])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-10/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests.html

  * igt@kms_feature_discovery@display-3x:
    - shard-lnl:          NOTRUN -> [SKIP][42] ([Intel XE#703] / [Intel XE#7448])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_feature_discovery@display-3x.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-lnl:          NOTRUN -> [SKIP][43] ([Intel XE#1137] / [Intel XE#2375])
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-lnl:          NOTRUN -> [SKIP][44] ([Intel XE#1421]) +4 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank:
    - shard-lnl:          [PASS][45] -> [FAIL][46] ([Intel XE#3098] / [Intel XE#3149]) +1 other test fail
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-2/igt@kms_flip@flip-vs-absolute-wf_vblank.html
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@kms_flip@flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@flip-vs-dpms-on-nop:
    - shard-lnl:          [PASS][47] -> [SKIP][48] ([Intel XE#9132])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_flip@flip-vs-dpms-on-nop.html
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_flip@flip-vs-dpms-on-nop.html

  * igt@kms_flip@flip-vs-expired-vblank@b-edp1:
    - shard-lnl:          [PASS][49] -> [FAIL][50] ([Intel XE#301])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html

  * igt@kms_flip@nonexisting-fb-interruptible:
    - shard-lnl:          [PASS][51] -> [SKIP][52] ([Intel XE#2482]) +1 other test skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_flip@nonexisting-fb-interruptible.html
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_flip@nonexisting-fb-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][53] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385] / [Intel XE#9144])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][54] ([Intel XE#1397] / [Intel XE#7385] / [Intel XE#9144])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][55] ([Intel XE#7178] / [Intel XE#7351]) +2 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
    - shard-lnl:          NOTRUN -> [SKIP][56] ([Intel XE#7178] / [Intel XE#7349])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - shard-lnl:          NOTRUN -> [SKIP][57] ([Intel XE#352])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][58] ([Intel XE#4141]) +1 other test skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-10/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][59] ([Intel XE#656] / [Intel XE#7905]) +29 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][60] ([Intel XE#6312]) +9 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][61] ([Intel XE#6312] / [Intel XE#651]) +9 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][62] ([Intel XE#2311]) +11 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-scndscrn-cur-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][63] ([Intel XE#7905]) +32 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbchdr-argb161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][64] ([Intel XE#7061])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbchdr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
    - shard-lnl:          [PASS][65] -> [SKIP][66] ([Intel XE#2548] / [Intel XE#7779]) +3 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][67] ([Intel XE#2313]) +14 other tests skip
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte:
    - shard-lnl:          NOTRUN -> [SKIP][68] ([Intel XE#7865]) +22 other tests skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-argb161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][69] ([Intel XE#7061]) +2 other tests skip
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcpsrhdr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-blt:
    - shard-lnl:          NOTRUN -> [SKIP][70] ([Intel XE#7061] / [Intel XE#7356]) +2 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_frontbuffer_tracking@psr-abgr161616f-draw-blt.html

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

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [PASS][72] -> [SKIP][73] ([Intel XE#1503])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-6/igt@kms_hdr@invalid-hdr.html
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_hdr@invalid-hdr.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-lnl:          NOTRUN -> [SKIP][74] ([Intel XE#1503])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-lnl:          NOTRUN -> [SKIP][75] ([Intel XE#6900] / [Intel XE#7362])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_joiner@basic-force-ultra-joiner.html

  * igt@kms_mst@mst-suspend-read-crc:
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#8348])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_mst@mst-suspend-read-crc.html

  * igt@kms_pipe_stress@stress-xrgb8888-ytiled:
    - shard-lnl:          NOTRUN -> [SKIP][77] ([Intel XE#4329] / [Intel XE#6912] / [Intel XE#7375])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html

  * igt@kms_plane@pixel-format-y-tiled-modifier-source-clamping:
    - shard-lnl:          NOTRUN -> [SKIP][78] ([Intel XE#7283]) +3 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_plane@pixel-format-y-tiled-modifier-source-clamping.html

  * igt@kms_plane@plane-panning-top-left:
    - shard-lnl:          [PASS][79] -> [SKIP][80] ([Intel XE#9128])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_plane@plane-panning-top-left.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_plane@plane-panning-top-left.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-lnl:          NOTRUN -> [SKIP][81] ([Intel XE#599])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-lnl:          NOTRUN -> [SKIP][82] ([Intel XE#4596] / [Intel XE#5854])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][83] ([Intel XE#5020] / [Intel XE#7348])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a:
    - shard-lnl:          NOTRUN -> [SKIP][84] ([Intel XE#2763] / [Intel XE#6886]) +7 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a.html

  * igt@kms_pm_dc@dc3co-after-dc6:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_pm_dc@dc3co-after-dc6.html

  * igt@kms_pm_dc@dc3co-after-dc6@psr2-xrgb8888:
    - shard-bmg:          NOTRUN -> [SKIP][86] ([Intel XE#8396]) +1 other test skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_pm_dc@dc3co-after-dc6@psr2-xrgb8888.html

  * igt@kms_pm_dc@dc5-dpms-negative:
    - shard-lnl:          NOTRUN -> [SKIP][87] ([Intel XE#1131])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_pm_dc@dc5-dpms-negative.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][88] ([Intel XE#4608])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-a-edp-1.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][89] ([Intel XE#4608] / [Intel XE#7304])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-b-edp-1.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-bmg:          NOTRUN -> [SKIP][90] ([Intel XE#1489]) +1 other test skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
    - shard-lnl:          NOTRUN -> [SKIP][91] ([Intel XE#2893] / [Intel XE#7304]) +2 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
    - shard-lnl:          [PASS][92] -> [SKIP][93] ([Intel XE#1489])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-lnl:          NOTRUN -> [SKIP][94] ([Intel XE#1128] / [Intel XE#7413])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-pr-cursor-plane-onoff:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#1406])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@kms_psr@fbc-pr-cursor-plane-onoff.html

  * igt@kms_psr@fbc-psr2-no-drrs:
    - shard-lnl:          NOTRUN -> [SKIP][96] ([Intel XE#1406] / [Intel XE#7345]) +1 other test skip
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_psr@fbc-psr2-no-drrs.html

  * igt@kms_psr@fbc-psr2-no-drrs@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][97] ([Intel XE#1406] / [Intel XE#4609] / [Intel XE#7345]) +1 other test skip
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_psr@fbc-psr2-no-drrs@edp-1.html

  * igt@kms_psr@psr2-no-drrs:
    - shard-bmg:          NOTRUN -> [SKIP][98] ([Intel XE#2234] / [Intel XE#2850])
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_psr@psr2-no-drrs.html

  * igt@kms_psr@psr2-primary-blt:
    - shard-lnl:          [PASS][99] -> [SKIP][100] ([Intel XE#2850] / [Intel XE#929]) +1 other test skip
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_psr@psr2-primary-blt.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_psr@psr2-primary-blt.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-lnl:          [PASS][101] -> [SKIP][102] ([Intel XE#7795])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
    - shard-lnl:          NOTRUN -> [SKIP][103] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html

  * igt@kms_setmode@basic:
    - shard-lnl:          [PASS][104] -> [SKIP][105] ([Intel XE#1435] / [Intel XE#9142])
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_setmode@basic.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_setmode@basic.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-lnl:          NOTRUN -> [SKIP][106] ([Intel XE#362] / [Intel XE#5848])
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_vblank@query-idle-hang:
    - shard-lnl:          [PASS][107] -> [SKIP][108] ([Intel XE#9125]) +10 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_vblank@query-idle-hang.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_vblank@query-idle-hang.html

  * igt@kms_vrr@flip-basic-fastset:
    - shard-bmg:          NOTRUN -> [SKIP][109] ([Intel XE#1499]) +1 other test skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_vrr@flip-basic-fastset.html

  * igt@kms_vrr@lobf:
    - shard-lnl:          NOTRUN -> [SKIP][110] ([Intel XE#1499])
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_vrr@lobf.html

  * igt@kms_vrr@lobf@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][111] ([Intel XE#7638])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@kms_vrr@lobf@pipe-a-edp-1.html

  * igt@xe_evict@evict-small-external-multi-queue:
    - shard-bmg:          NOTRUN -> [SKIP][112] ([Intel XE#8370])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_evict@evict-small-external-multi-queue.html

  * igt@xe_evict_ccs@evict-overcommit-standalone-nofree-samefd:
    - shard-lnl:          NOTRUN -> [SKIP][113] ([Intel XE#6540] / [Intel XE#688]) +5 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_evict_ccs@evict-overcommit-standalone-nofree-samefd.html

  * igt@xe_exec_balancer@twice-cm-virtual-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [SKIP][114] ([Intel XE#7482]) +13 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@xe_exec_balancer@twice-cm-virtual-userptr-invalidate-race.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [SKIP][115] ([Intel XE#1392]) +5 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-invalidate-race.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][116] ([Intel XE#2322] / [Intel XE#7372])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-rebind.html

  * igt@xe_exec_fault_mode@once-multi-queue-userptr-invalidate-race-imm:
    - shard-bmg:          NOTRUN -> [SKIP][117] ([Intel XE#8374]) +2 other tests skip
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_exec_fault_mode@once-multi-queue-userptr-invalidate-race-imm.html

  * igt@xe_exec_fault_mode@twice-multi-queue-userptr-imm:
    - shard-lnl:          NOTRUN -> [SKIP][118] ([Intel XE#8374]) +11 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_exec_fault_mode@twice-multi-queue-userptr-imm.html

  * igt@xe_exec_multi_queue@many-queues-basic:
    - shard-bmg:          NOTRUN -> [SKIP][119] ([Intel XE#8364]) +8 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_exec_multi_queue@many-queues-basic.html

  * igt@xe_exec_multi_queue@one-queue-preempt-mode-fault-userptr-invalidate:
    - shard-lnl:          NOTRUN -> [SKIP][120] ([Intel XE#8364]) +23 other tests skip
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_exec_multi_queue@one-queue-preempt-mode-fault-userptr-invalidate.html

  * igt@xe_exec_reset@multi-queue-gt-reset:
    - shard-lnl:          NOTRUN -> [SKIP][121] ([Intel XE#8369]) +1 other test skip
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@xe_exec_reset@multi-queue-gt-reset.html

  * igt@xe_exec_threads@threads-hang-userptr-invalidate-race:
    - shard-bmg:          [PASS][122] -> [FAIL][123] ([Intel XE#9096])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-2/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-8/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html

  * igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][124] ([Intel XE#8378]) +1 other test skip
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-rebind.html

  * igt@xe_exec_threads@threads-multi-queue-rebind-err:
    - shard-lnl:          NOTRUN -> [SKIP][125] ([Intel XE#8378]) +6 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_exec_threads@threads-multi-queue-rebind-err.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
    - shard-bmg:          [PASS][126] -> [ABORT][127] ([Intel XE#8007])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-8/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-5/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html

  * igt@xe_gpgpu_fill@offset-4x4:
    - shard-bmg:          NOTRUN -> [SKIP][128] ([Intel XE#7954])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_gpgpu_fill@offset-4x4.html

  * igt@xe_madvise@atomic-device:
    - shard-lnl:          NOTRUN -> [SKIP][129] ([Intel XE#7980])
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_madvise@atomic-device.html

  * igt@xe_mmap@pci-membarrier-parallel:
    - shard-lnl:          NOTRUN -> [SKIP][130] ([Intel XE#5100] / [Intel XE#7322] / [Intel XE#7408])
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@xe_mmap@pci-membarrier-parallel.html

  * igt@xe_module_load@load:
    - shard-lnl:          ([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], [SKIP][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], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173]) ([Intel XE#378] / [Intel XE#7405])
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@xe_module_load@load.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@xe_module_load@load.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@xe_module_load@load.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-2/igt@xe_module_load@load.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@xe_module_load@load.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@xe_module_load@load.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@xe_module_load@load.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@xe_module_load@load.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@xe_module_load@load.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@xe_module_load@load.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@xe_module_load@load.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-2/igt@xe_module_load@load.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-1/igt@xe_module_load@load.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@xe_module_load@load.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@xe_module_load@load.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-3/igt@xe_module_load@load.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-3/igt@xe_module_load@load.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-1/igt@xe_module_load@load.html
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-3/igt@xe_module_load@load.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@xe_module_load@load.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-1/igt@xe_module_load@load.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@xe_module_load@load.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@xe_module_load@load.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-4/igt@xe_module_load@load.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-4/igt@xe_module_load@load.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-4/igt@xe_module_load@load.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@xe_module_load@load.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@xe_module_load@load.html
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_module_load@load.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@xe_module_load@load.html
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@xe_module_load@load.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_module_load@load.html
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@xe_module_load@load.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_module_load@load.html
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@xe_module_load@load.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@xe_module_load@load.html
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@xe_module_load@load.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@xe_module_load@load.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@xe_module_load@load.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@xe_module_load@load.html
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@xe_module_load@load.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@xe_module_load@load.html
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@xe_module_load@load.html

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

  * igt@xe_page_reclaim@pat-index-xd:
    - shard-bmg:          NOTRUN -> [SKIP][175] ([Intel XE#7793])
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_page_reclaim@pat-index-xd.html

  * igt@xe_page_reclaim@prl-invalidate-full:
    - shard-lnl:          NOTRUN -> [SKIP][176] ([Intel XE#7793]) +1 other test skip
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@xe_page_reclaim@prl-invalidate-full.html

  * igt@xe_pat@l2-flush-opt-svm-pat-restrict:
    - shard-lnl:          NOTRUN -> [SKIP][177] ([Intel XE#7590] / [Intel XE#7772])
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@xe_pat@l2-flush-opt-svm-pat-restrict.html

  * igt@xe_pat@xa-app-transient-media-on:
    - shard-bmg:          NOTRUN -> [SKIP][178] ([Intel XE#7590])
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_pat@xa-app-transient-media-on.html

  * igt@xe_pm@d3hot-mmap-vram:
    - shard-lnl:          NOTRUN -> [SKIP][179] ([Intel XE#1948])
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@xe_pm@d3hot-mmap-vram.html

  * igt@xe_pm@s2idle-d3cold-basic-exec:
    - shard-lnl:          NOTRUN -> [SKIP][180] ([Intel XE#2284] / [Intel XE#366] / [Intel XE#7370])
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@xe_pm@s2idle-d3cold-basic-exec.html

  * igt@xe_pm@s3-vm-bind-unbind-all:
    - shard-lnl:          NOTRUN -> [SKIP][181] ([Intel XE#584] / [Intel XE#7369]) +1 other test skip
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_pm@s3-vm-bind-unbind-all.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-lnl:          NOTRUN -> [SKIP][182] ([Intel XE#579] / [Intel XE#7329] / [Intel XE#7456])
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_prefetch_fault@prefetch-fault-svm:
    - shard-bmg:          NOTRUN -> [SKIP][183] ([Intel XE#7599]) +1 other test skip
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_prefetch_fault@prefetch-fault-svm.html

  * igt@xe_pxp@regular-src-to-pxp-dest-rendercopy:
    - shard-bmg:          NOTRUN -> [SKIP][184] ([Intel XE#4733] / [Intel XE#7417])
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-10/igt@xe_pxp@regular-src-to-pxp-dest-rendercopy.html

  * igt@xe_query@multigpu-query-gt-list:
    - shard-lnl:          NOTRUN -> [SKIP][185] ([Intel XE#944]) +1 other test skip
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_query@multigpu-query-gt-list.html

  * igt@xe_query@multigpu-query-uc-fw-version-guc:
    - shard-bmg:          NOTRUN -> [SKIP][186] ([Intel XE#944])
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_query@multigpu-query-uc-fw-version-guc.html

  * igt@xe_sriov_admin@default-sched-attributes-vfs-disabled:
    - shard-lnl:          NOTRUN -> [SKIP][187] ([Intel XE#7174])
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-3/igt@xe_sriov_admin@default-sched-attributes-vfs-disabled.html

  * igt@xe_wedged@wedged-at-any-timeout:
    - shard-lnl:          NOTRUN -> [DMESG-WARN][188] ([Intel XE#8963])
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-1/igt@xe_wedged@wedged-at-any-timeout.html

  
#### Possible fixes ####

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][189] ([Intel XE#7084] / [Intel XE#8150]) -> [PASS][190] +1 other test pass
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-10/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-10/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_color@degamma:
    - shard-lnl:          [SKIP][191] ([Intel XE#3297]) -> [PASS][192] +1 other test pass
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_color@degamma.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_color@degamma.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-lnl:          [ABORT][193] ([Intel XE#9154]) -> [PASS][194]
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-3/igt@kms_fbcon_fbt@psr-suspend.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-5/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_flip@flip-vs-panning:
    - shard-lnl:          [SKIP][195] ([Intel XE#2482]) -> [PASS][196]
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_flip@flip-vs-panning.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_flip@flip-vs-panning.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][197] ([Intel XE#7779]) -> [PASS][198]
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
    - shard-lnl:          [SKIP][199] ([Intel XE#2548] / [Intel XE#7779]) -> [PASS][200] +5 other tests pass
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_hdr@bpc-switch:
    - shard-lnl:          [SKIP][201] ([Intel XE#9125]) -> [PASS][202] +11 other tests pass
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_hdr@bpc-switch.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_hdr@bpc-switch.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation:
    - shard-lnl:          [SKIP][203] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) -> [PASS][204] +1 other test pass
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
    - shard-lnl:          [SKIP][205] ([Intel XE#2763] / [Intel XE#6886]) -> [PASS][206] +1 other test pass
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html

  * igt@kms_pm_rpm@legacy-planes-dpms:
    - shard-lnl:          [SKIP][207] ([Intel XE#4886]) -> [PASS][208]
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_pm_rpm@legacy-planes-dpms.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_pm_rpm@legacy-planes-dpms.html

  * igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf:
    - shard-lnl:          [SKIP][209] ([Intel XE#1489]) -> [PASS][210]
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html

  * igt@kms_psr@psr2-suspend:
    - shard-lnl:          [SKIP][211] ([Intel XE#2850] / [Intel XE#929]) -> [PASS][212]
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr@psr2-suspend.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_psr@psr2-suspend.html

  * igt@xe_configfs@gt-types-allowed:
    - shard-bmg:          [ABORT][213] ([Intel XE#8007]) -> [PASS][214]
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-4/igt@xe_configfs@gt-types-allowed.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@xe_configfs@gt-types-allowed.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          [INCOMPLETE][215] ([Intel XE#6321] / [Intel XE#8355]) -> [PASS][216] +1 other test pass
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-7/igt@xe_evict@evict-mixed-many-threads-small.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-7/igt@xe_evict@evict-mixed-many-threads-small.html

  
#### Warnings ####

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-lnl:          [SKIP][217] ([Intel XE#9125]) -> [SKIP][218] ([Intel XE#3658] / [Intel XE#7360])
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-lnl:          [SKIP][219] ([Intel XE#9125]) -> [SKIP][220] ([Intel XE#1407])
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_big_fb@linear-32bpp-rotate-90.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-lnl:          [SKIP][221] ([Intel XE#1407]) -> [SKIP][222] ([Intel XE#9125]) +1 other test skip
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_big_fb@linear-8bpp-rotate-270.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-32bpp-rotate-0:
    - shard-lnl:          [SKIP][223] ([Intel XE#9125]) -> [SKIP][224] ([Intel XE#1124]) +1 other test skip
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-0:
    - shard-lnl:          [SKIP][225] ([Intel XE#1124]) -> [SKIP][226] ([Intel XE#9125]) +2 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_big_fb@yf-tiled-8bpp-rotate-0.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_big_fb@yf-tiled-8bpp-rotate-0.html

  * igt@kms_bw@connected-linear-tiling-4-displays-target-2560x1440p:
    - shard-lnl:          [SKIP][227] ([Intel XE#8365]) -> [SKIP][228] ([Intel XE#9125])
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_bw@connected-linear-tiling-4-displays-target-2560x1440p.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_bw@connected-linear-tiling-4-displays-target-2560x1440p.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
    - shard-lnl:          [SKIP][229] ([Intel XE#9125]) -> [SKIP][230] ([Intel XE#2669] / [Intel XE#7389])
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs:
    - shard-lnl:          [SKIP][231] ([Intel XE#9125]) -> [SKIP][232] ([Intel XE#3432])
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs:
    - shard-lnl:          [SKIP][233] ([Intel XE#3432]) -> [SKIP][234] ([Intel XE#9125])
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs:
    - shard-lnl:          [SKIP][235] ([Intel XE#9125]) -> [SKIP][236] ([Intel XE#2887]) +2 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc:
    - shard-lnl:          [SKIP][237] ([Intel XE#2887]) -> [SKIP][238] ([Intel XE#9125]) +3 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-lnl:          [SKIP][239] ([Intel XE#9125]) -> [SKIP][240] ([Intel XE#307] / [Intel XE#6974])
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_content_protection@dp-mst-lic-type-0.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-lnl:          [SKIP][241] ([Intel XE#307] / [Intel XE#6974]) -> [SKIP][242] ([Intel XE#9125])
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_content_protection@dp-mst-lic-type-1.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-lnl:          [SKIP][243] ([Intel XE#2321] / [Intel XE#7355]) -> [SKIP][244] ([Intel XE#9125])
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_cursor_crc@cursor-onscreen-512x170.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-lnl:          [SKIP][245] ([Intel XE#9125]) -> [SKIP][246] ([Intel XE#2321] / [Intel XE#7355])
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_cursor_crc@cursor-random-512x170.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-sliding-64x21:
    - shard-lnl:          [SKIP][247] ([Intel XE#9125]) -> [SKIP][248] ([Intel XE#1424]) +1 other test skip
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_cursor_crc@cursor-sliding-64x21.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_cursor_crc@cursor-sliding-64x21.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-lnl:          [SKIP][249] ([Intel XE#9125]) -> [SKIP][250] ([Intel XE#309] / [Intel XE#7343]) +1 other test skip
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-lnl:          [SKIP][251] ([Intel XE#9125]) -> [SKIP][252] ([Intel XE#8265])
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_dsc@dsc-with-bpc-formats.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_dsc@dsc-with-output-formats:
    - shard-lnl:          [SKIP][253] ([Intel XE#8265]) -> [SKIP][254] ([Intel XE#9125])
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_dsc@dsc-with-output-formats.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_dsc@dsc-with-output-formats.html

  * igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling:
    - shard-lnl:          [SKIP][255] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385] / [Intel XE#9144]) -> [SKIP][256] ([Intel XE#1745] / [Intel XE#9144])
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][257] ([Intel XE#656] / [Intel XE#7905]) -> [SKIP][258] ([Intel XE#2548] / [Intel XE#7779]) +12 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-cur-indfb-draw-render:
    - shard-lnl:          [SKIP][259] ([Intel XE#7779]) -> [SKIP][260] ([Intel XE#6312]) +1 other test skip
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-cur-indfb-draw-render.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-shrfb-msflip-blt:
    - shard-lnl:          [SKIP][261] ([Intel XE#6312]) -> [SKIP][262] ([Intel XE#7779])
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-shrfb-msflip-blt.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_frontbuffer_tracking@drrshdr-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-mmap-wc:
    - shard-lnl:          [SKIP][263] ([Intel XE#7061] / [Intel XE#7356]) -> [SKIP][264] ([Intel XE#7779]) +1 other test skip
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-mmap-wc.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-lnl:          [SKIP][265] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][266] ([Intel XE#1469] / [Intel XE#7399])
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render:
    - shard-lnl:          [SKIP][267] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][268] ([Intel XE#6312] / [Intel XE#651]) +3 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt:
    - shard-lnl:          [SKIP][269] ([Intel XE#7779]) -> [SKIP][270] ([Intel XE#7061] / [Intel XE#7356])
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt:
    - shard-lnl:          [SKIP][271] ([Intel XE#6312] / [Intel XE#651]) -> [SKIP][272] ([Intel XE#2548] / [Intel XE#7779]) +2 other tests skip
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-render:
    - shard-lnl:          [SKIP][273] ([Intel XE#7905]) -> [SKIP][274] ([Intel XE#7779]) +12 other tests skip
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-render.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc:
    - shard-lnl:          [SKIP][275] ([Intel XE#7779]) -> [SKIP][276] ([Intel XE#7061]) +2 other tests skip
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt:
    - shard-lnl:          [SKIP][277] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][278] ([Intel XE#656] / [Intel XE#7905]) +7 other tests skip
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-blt:
    - shard-lnl:          [SKIP][279] ([Intel XE#7779]) -> [SKIP][280] ([Intel XE#7865]) +5 other tests skip
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-blt.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][281] ([Intel XE#7779]) -> [SKIP][282] ([Intel XE#7905]) +10 other tests skip
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-wc.html
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-spr-indfb-fullscreen:
    - shard-lnl:          [SKIP][283] ([Intel XE#7865]) -> [SKIP][284] ([Intel XE#7779]) +4 other tests skip
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-spr-indfb-fullscreen.html
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-blt:
    - shard-lnl:          [SKIP][285] ([Intel XE#7061]) -> [SKIP][286] ([Intel XE#7779]) +1 other test skip
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-blt.html
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-blt.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][287] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][288] ([Intel XE#3544])
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-3/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_plane_lowres@tiling-none:
    - shard-lnl:          [SKIP][289] ([Intel XE#599] / [Intel XE#7382]) -> [SKIP][290] ([Intel XE#9125])
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_plane_lowres@tiling-none.html
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_plane_lowres@tiling-none.html

  * igt@kms_plane_multiple@2x-tiling-yf:
    - shard-lnl:          [SKIP][291] ([Intel XE#4596] / [Intel XE#5854]) -> [SKIP][292] ([Intel XE#9125])
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_plane_multiple@2x-tiling-yf.html
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_plane_multiple@2x-tiling-yf.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers:
    - shard-lnl:          [SKIP][293] ([Intel XE#2763] / [Intel XE#6886]) -> [SKIP][294] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) +3 other tests skip
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers.html
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-modifiers.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling:
    - shard-lnl:          [SKIP][295] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) -> [SKIP][296] ([Intel XE#2763] / [Intel XE#6886]) +1 other test skip
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling.html
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-lnl:          [SKIP][297] ([Intel XE#1489]) -> [SKIP][298] ([Intel XE#2893] / [Intel XE#7304])
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf:
    - shard-lnl:          [SKIP][299] ([Intel XE#1489]) -> [SKIP][300] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304])
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-fully-sf:
    - shard-lnl:          [SKIP][301] ([Intel XE#2893] / [Intel XE#7304]) -> [SKIP][302] ([Intel XE#1489])
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-fully-sf.html
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr@fbc-psr2-sprite-blt:
    - shard-lnl:          [SKIP][303] ([Intel XE#1406] / [Intel XE#7345]) -> [SKIP][304] ([Intel XE#2850] / [Intel XE#929])
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_psr@fbc-psr2-sprite-blt.html
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_psr@fbc-psr2-sprite-blt.html

  * igt@kms_psr@pr-no-drrs:
    - shard-lnl:          [SKIP][305] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][306] ([Intel XE#1406]) +1 other test skip
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr@pr-no-drrs.html
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_psr@pr-no-drrs.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-lnl:          [SKIP][307] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342]) -> [SKIP][308] ([Intel XE#9125])
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-4/igt@kms_rotation_crc@primary-rotation-270.html
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-6/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@sprite-rotation-90:
    - shard-lnl:          [SKIP][309] ([Intel XE#9125]) -> [SKIP][310] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342])
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_rotation_crc@sprite-rotation-90.html
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-7/igt@kms_rotation_crc@sprite-rotation-90.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          [SKIP][311] ([Intel XE#2426] / [Intel XE#5848]) -> [FAIL][312] ([Intel XE#1729] / [Intel XE#7424])
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern.html
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern.html

  * igt@xe_exec_reset@gt-reset-fault-injection:
    - shard-lnl:          [ABORT][313] ([Intel XE#9140] / [Intel XE#9145]) -> [DMESG-WARN][314] ([Intel XE#9130])
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-1/igt@xe_exec_reset@gt-reset-fault-injection.html
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-173407v1/shard-lnl-2/igt@xe_exec_reset@gt-reset-fault-injection.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
  [Intel XE#1128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1128
  [Intel XE#1131]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1131
  [Intel XE#1137]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1137
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1428
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1469
  [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#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1948]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1948
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [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#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
  [Intel XE#2375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2375
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2482
  [Intel XE#2548]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2548
  [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [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#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#3297]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3297
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/352
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
  [Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [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#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
  [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#4329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4329
  [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#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4886
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5100]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5100
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#5854]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5854
  [Intel XE#5882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5882
  [Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
  [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#6507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6507
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
  [Intel XE#6900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6900
  [Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [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#7008]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7008
  [Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
  [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#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
  [Intel XE#7085]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7085
  [Intel XE#7174]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7174
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7227]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7227
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
  [Intel XE#7312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7312
  [Intel XE#7322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7322
  [Intel XE#7329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7329
  [Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
  [Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
  [Intel XE#7345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7345
  [Intel XE#7348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7348
  [Intel XE#7349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7349
  [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
  [Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
  [Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
  [Intel XE#7360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7360
  [Intel XE#7362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7362
  [Intel XE#7369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7369
  [Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
  [Intel XE#7382]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7382
  [Intel XE#7385]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7385
  [Intel XE#7387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7387
  [Intel XE#7389]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7389
  [Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
  [Intel XE#7405]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7405
  [Intel XE#7408]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7408
  [Intel XE#7413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7413
  [Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
  [Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
  [Intel XE#7442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7442
  [Intel XE#7448]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7448
  [Intel XE#7456]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7456
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#7599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7599
  [Intel XE#7638]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7638
  [Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
  [Intel XE#7687]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7687
  [Intel XE#7772]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7772
  [Intel XE#7779]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7779
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7795]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7795
  [Intel XE#7809]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7809
  [Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
  [Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
  [Intel XE#7954]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7954
  [Intel XE#7980]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7980
  [Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
  [Intel XE#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8348
  [Intel XE#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8365
  [Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
  [Intel XE#8370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8370
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
  [Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
  [Intel XE#8963]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8963
  [Intel XE#9009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9009
  [Intel XE#9096]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9096
  [Intel XE#9125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9125
  [Intel XE#9128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9128
  [Intel XE#9130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9130
  [Intel XE#9132]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9132
  [Intel XE#9140]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9140
  [Intel XE#9142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9142
  [Intel XE#9144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9144
  [Intel XE#9145]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9145
  [Intel XE#9154]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9154
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * Linux: xe-5694-313da1cc22491f07075c7ae36372343aa235d11e -> xe-pw-173407v1

  IGT_9084: 9084
  xe-5694-313da1cc22491f07075c7ae36372343aa235d11e: 313da1cc22491f07075c7ae36372343aa235d11e
  xe-pw-173407v1: 173407v1

== Logs ==

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

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

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

* Re: [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init
  2026-09-04 17:05 ` [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init Michal Wajdeczko
  2026-09-04 18:09   ` Rodrigo Vivi
@ 2026-09-05 13:04   ` Gustavo Sousa
  1 sibling, 0 replies; 25+ messages in thread
From: Gustavo Sousa @ 2026-09-05 13:04 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe; +Cc: Michal Wajdeczko

Michal Wajdeczko <michal.wajdeczko@intel.com> writes:

> We don't need anything from struct xe_device_desc in xe_info_init()
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>

> ---
> Cc: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  drivers/gpu/drm/xe/tests/xe_pci.c | 2 +-
>  drivers/gpu/drm/xe/xe_pci.c       | 3 +--
>  2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
> index bb0393475524..4965a01f6ba5 100644
> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
> @@ -382,7 +382,7 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>  		return err;
>  
>  	xe_info_init_early(xe, desc, subplatform_desc, &probed_info);
> -	xe_info_init(xe, desc, &probed_info);
> +	xe_info_init(xe, &probed_info);
>  
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index ab4da1d9a9f1..47fad696545c 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -1011,7 +1011,6 @@ static int xe_probe_info(struct xe_device *xe,
>   * present in device info.
>   */
>  static int xe_info_init(struct xe_device *xe,
> -			const struct xe_device_desc *desc,
>  			struct xe_probed_info *probed_info)
>  {
>  	const struct xe_ip *graphics_ip;
> @@ -1244,7 +1243,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
>  	if (err)
>  		return err;
>  
> -	err = xe_info_init(xe, desc, &probed_info);
> +	err = xe_info_init(xe, &probed_info);
>  	if (err)
>  		return err;
>  
> -- 
> 2.47.1

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

* Re: [PATCH 2/6] drm/xe: Keep reference to device descriptor
  2026-09-04 17:14   ` sashiko-bot
@ 2026-09-05 13:52     ` Gustavo Sousa
  2026-09-07 19:30       ` Michal Wajdeczko
  0 siblings, 1 reply; 25+ messages in thread
From: Gustavo Sousa @ 2026-09-05 13:52 UTC (permalink / raw)
  To: sashiko-reviews, Michal Wajdeczko; +Cc: intel-xe

sashiko-bot@kernel.org writes:

> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Medium] In test initialization, `xe->subplatform_desc` is incorrectly assigned a pointer to a sentinel element instead of `NULL` when no subplatform is matched.
> --
>
> commit 2fbc7ea3deaa915eef829a4c64ec08fac1f4a8a9
> Author: Michal Wajdeczko <michal.wajdeczko@intel.com>
>
> drm/xe: Keep reference to device descriptor
>
> This patch stores a reference to the whole device descriptor and the
> matched subplatform descriptor within the xe_device structure. This
> change enables access to additional non-mutable device parameters.
>
>> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
>> index 4965a01f6ba52..48d5ee478fe69 100644
>> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
>> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
>> @@ -374,6 +374,8 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>>  		return -ENODEV;
>>  
>>  done:
>> +	xe->desc = desc;
>> +	xe->subplatform_desc = subplatform_desc;
>
> [Severity: Medium]
> Will this assign a pointer to a sentinel element instead of NULL when no
> subplatform is matched?
>
> In xe_pci_fake_device_init(), the search loop terminates when it reaches the
> sentinel element:
>
> 	for (subplatform_desc = desc->subplatforms;
> 	     subplatform_desc && subplatform_desc->subplatform;
> 	     subplatform_desc++)
> 		if (subplatform_desc->subplatform == data->subplatform)
> 			break;
>
> If data->subplatform is XE_SUBPLATFORM_NONE, the loop exits with
> subplatform_desc pointing to the sentinel element of desc->subplatforms, not
> NULL. The subsequent check (!subplatform_desc) evaluates to false.
>
> By directly assigning this value to xe->subplatform_desc, the test mock
> environment now gets a non-NULL pointer (the sentinel) for devices without a
> subplatform. Could this create a state inconsistency with production code,
> causing tests checking if (xe->subplatform_desc) to falsely evaluate to
> true?

Sashiko seems to be right here. I think we could initialize
subplatform_desc to NULL and assign the one from the loop if we find a
match.

--
Gustavo Sousa

>
> -- 
> Sashiko AI review · https://sashiko.dev/#/patchset/20260904170531.516-1-michal.wajdeczko@intel.com?part=2

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

* Re: [PATCH 3/6] drm/xe: Drop redundant parameters from xe_info_init_early
  2026-09-04 17:05 ` [PATCH 3/6] drm/xe: Drop redundant parameters from xe_info_init_early Michal Wajdeczko
@ 2026-09-05 13:54   ` Gustavo Sousa
  0 siblings, 0 replies; 25+ messages in thread
From: Gustavo Sousa @ 2026-09-05 13:54 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe; +Cc: Michal Wajdeczko, Matt Roper

Michal Wajdeczko <michal.wajdeczko@intel.com> writes:

> We can now obtain the const pointers to struct xe_device_desc and
> xe_subplatform_desc directly from the xe, no need to pass them as
> explicit parameters.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>

> Cc: Matt Roper <matthew.d.roper@intel.com>
> Cc: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  drivers/gpu/drm/xe/tests/xe_pci.c | 2 +-
>  drivers/gpu/drm/xe/xe_pci.c       | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
> index 48d5ee478fe6..c817692c0ce3 100644
> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
> @@ -383,7 +383,7 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>  	if (err)
>  		return err;
>  
> -	xe_info_init_early(xe, desc, subplatform_desc, &probed_info);
> +	xe_info_init_early(xe, &probed_info);
>  	xe_info_init(xe, &probed_info);
>  
>  	return 0;
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index 191e69fb0e3d..d19478c9439e 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -771,10 +771,10 @@ static int xe_probe_info_early(struct xe_device *xe,
>   * passed to the driver at probe time from PCI ID table.
>   */
>  static int xe_info_init_early(struct xe_device *xe,
> -			      const struct xe_device_desc *desc,
> -			      const struct xe_subplatform_desc *subplatform_desc,
>  			      struct xe_probed_info *probed_info)
>  {
> +	const struct xe_subplatform_desc *subplatform_desc = xe->subplatform_desc;
> +	const struct xe_device_desc *desc = xe->desc;
>  	int err;
>  
>  	xe->info.devid = probed_info->devid;
> @@ -1222,7 +1222,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
>  	if (err)
>  		return err;
>  
> -	err = xe_info_init_early(xe, desc, subplatform_desc, &probed_info);
> +	err = xe_info_init_early(xe, &probed_info);
>  	if (err)
>  		return err;
>  
> -- 
> 2.47.1

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

* Re: [PATCH 4/6] drm/xe: Drop redundant parameter from xe_probe_info_early
  2026-09-04 17:05 ` [PATCH 4/6] drm/xe: Drop redundant parameter from xe_probe_info_early Michal Wajdeczko
@ 2026-09-05 13:55   ` Gustavo Sousa
  0 siblings, 0 replies; 25+ messages in thread
From: Gustavo Sousa @ 2026-09-05 13:55 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe; +Cc: Michal Wajdeczko, Matt Roper

Michal Wajdeczko <michal.wajdeczko@intel.com> writes:

> We can now obtain the const pointer to struct xe_device_desc directly
> from the xe, no need to pass it as explicit parameter.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>

> Cc: Matt Roper <matthew.d.roper@intel.com>
> Cc: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_pci.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index d19478c9439e..6ca1ec311a4b 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -753,7 +753,6 @@ struct xe_probed_info {
>   * Probe from the hardware the info required by xe_info_init_early().
>   */
>  static int xe_probe_info_early(struct xe_device *xe,
> -			       const struct xe_device_desc *desc,
>  			       struct xe_probed_info *probed_info)
>  {
>  	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
> @@ -761,7 +760,7 @@ static int xe_probe_info_early(struct xe_device *xe,
>  	probed_info->devid = pdev->device;
>  	probed_info->revid = pdev->revision;
>  
> -	xe_step_platform_get(desc->platform, probed_info->revid, &probed_info->step);
> +	xe_step_platform_get(xe->desc->platform, probed_info->revid, &probed_info->step);
>  
>  	return 0;
>  }
> @@ -1218,7 +1217,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
>  
>  	pci_set_master(pdev);
>  
> -	err = xe_probe_info_early(xe, desc, &probed_info);
> +	err = xe_probe_info_early(xe, &probed_info);
>  	if (err)
>  		return err;
>  
> -- 
> 2.47.1

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

* Re: [PATCH 5/6] drm/xe: Drop redundant parameter from xe_probe_info and friends
  2026-09-04 17:05 ` [PATCH 5/6] drm/xe: Drop redundant parameter from xe_probe_info and friends Michal Wajdeczko
@ 2026-09-05 13:58   ` Gustavo Sousa
  0 siblings, 0 replies; 25+ messages in thread
From: Gustavo Sousa @ 2026-09-05 13:58 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe; +Cc: Michal Wajdeczko, Matt Roper

Michal Wajdeczko <michal.wajdeczko@intel.com> writes:

> We can now obtain the const pointer to struct xe_device_desc directly
> from the xe, no need to pass it as explicit parameter.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>

> Cc: Matt Roper <matthew.d.roper@intel.com>
> Cc: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  drivers/gpu/drm/xe/tests/xe_pci.c |  5 +++--
>  drivers/gpu/drm/xe/xe_pci.c       | 13 ++++++-------
>  2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
> index c817692c0ce3..7712282308c4 100644
> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
> @@ -311,10 +311,11 @@ const void *xe_pci_id_gen_param(struct kunit *test, const void *prev, char *desc
>  EXPORT_SYMBOL_IF_KUNIT(xe_pci_id_gen_param);
>  
>  static int fake_probe_info(struct xe_device *xe,
> -			   const struct xe_device_desc *desc,
>  			   struct xe_pci_fake_data *data,
>  			   struct xe_probed_info *probed_info)
>  {
> +	const struct xe_device_desc *desc = xe->desc;
> +
>  	probed_info->tile_count = 1 + desc->max_remote_tiles;
>  
>  	if (!data || desc->pre_gmdid_graphics_ip) {
> @@ -379,7 +380,7 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>  	xe->sriov.__mode = data && data->sriov_mode ?
>  			   data->sriov_mode : XE_SRIOV_MODE_NONE;
>  
> -	err = fake_probe_info(xe, desc, data, &probed_info);
> +	err = fake_probe_info(xe, data, &probed_info);
>  	if (err)
>  		return err;
>  
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index 6ca1ec311a4b..c401c8803796 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -836,14 +836,13 @@ static int xe_info_init_early(struct xe_device *xe,
>  }
>  
>  static void xe_probe_tile_count(struct xe_device *xe,
> -				const struct xe_device_desc *desc,
>  				struct xe_probed_info *probed_info)
>  {
>  	struct xe_mmio *mmio;
>  	u8 tile_count;
>  	u32 mtcfg;
>  
> -	probed_info->tile_count = 1 + desc->max_remote_tiles;
> +	probed_info->tile_count = 1 + xe->desc->max_remote_tiles;
>  
>  	/*
>  	 * Probe for tile count only for platforms that support multiple
> @@ -946,9 +945,10 @@ static struct xe_gt *alloc_media_gt(struct xe_tile *tile,
>  }
>  
>  static int xe_probe_ips(struct xe_device *xe,
> -			const struct xe_device_desc *desc,
>  			struct xe_probed_info *probed_info)
>  {
> +	const struct xe_device_desc *desc = xe->desc;
> +
>  	/*
>  	 * If this platform supports GMD_ID, we'll detect the proper IP
>  	 * descriptor to use from hardware registers.
> @@ -989,14 +989,13 @@ static int xe_probe_ips(struct xe_device *xe,
>   * Probe from the hardware the info required by xe_info_init().
>   */
>  static int xe_probe_info(struct xe_device *xe,
> -			 const struct xe_device_desc *desc,
>  			 struct xe_probed_info *probed_info)
>  {
>  	int err;
>  
> -	xe_probe_tile_count(xe, desc, probed_info);
> +	xe_probe_tile_count(xe, probed_info);
>  
> -	err = xe_probe_ips(xe, desc, probed_info);
> +	err = xe_probe_ips(xe, probed_info);
>  	if (err)
>  		return err;
>  
> @@ -1240,7 +1239,7 @@ static int __xe_pci_probe(struct pci_dev *pdev, const struct xe_device_desc *des
>  	if (err)
>  		return err;
>  
> -	err = xe_probe_info(xe, desc, &probed_info);
> +	err = xe_probe_info(xe, &probed_info);
>  	if (err)
>  		return err;
>  
> -- 
> 2.47.1

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

* Re: [PATCH 2/6] drm/xe: Keep reference to device descriptor
  2026-09-05 13:52     ` Gustavo Sousa
@ 2026-09-07 19:30       ` Michal Wajdeczko
  2026-09-11 11:25         ` Michal Wajdeczko
  0 siblings, 1 reply; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-07 19:30 UTC (permalink / raw)
  To: Gustavo Sousa, sashiko-reviews; +Cc: intel-xe



On 9/5/2026 3:52 PM, Gustavo Sousa wrote:
> sashiko-bot@kernel.org writes:
> 
>> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
>> - [Medium] In test initialization, `xe->subplatform_desc` is incorrectly assigned a pointer to a sentinel element instead of `NULL` when no subplatform is matched.
>> --
>>
>> commit 2fbc7ea3deaa915eef829a4c64ec08fac1f4a8a9
>> Author: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>
>> drm/xe: Keep reference to device descriptor
>>
>> This patch stores a reference to the whole device descriptor and the
>> matched subplatform descriptor within the xe_device structure. This
>> change enables access to additional non-mutable device parameters.
>>
>>> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
>>> index 4965a01f6ba52..48d5ee478fe69 100644
>>> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
>>> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
>>> @@ -374,6 +374,8 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>>>  		return -ENODEV;
>>>  
>>>  done:
>>> +	xe->desc = desc;
>>> +	xe->subplatform_desc = subplatform_desc;
>>
>> [Severity: Medium]
>> Will this assign a pointer to a sentinel element instead of NULL when no
>> subplatform is matched?
>>
>> In xe_pci_fake_device_init(), the search loop terminates when it reaches the
>> sentinel element:
>>
>> 	for (subplatform_desc = desc->subplatforms;
>> 	     subplatform_desc && subplatform_desc->subplatform;
>> 	     subplatform_desc++)
>> 		if (subplatform_desc->subplatform == data->subplatform)
>> 			break;
>>
>> If data->subplatform is XE_SUBPLATFORM_NONE, the loop exits with
>> subplatform_desc pointing to the sentinel element of desc->subplatforms, not
>> NULL. The subsequent check (!subplatform_desc) evaluates to false.
>>
>> By directly assigning this value to xe->subplatform_desc, the test mock
>> environment now gets a non-NULL pointer (the sentinel) for devices without a
>> subplatform. Could this create a state inconsistency with production code,
>> causing tests checking if (xe->subplatform_desc) to falsely evaluate to
>> true?
> 
> Sashiko seems to be right here. I think we could initialize
> subplatform_desc to NULL and assign the one from the loop if we find a
> match.

for the record: IMO this should be tagged as a pre-existing issue, as even
without storing a xe->subplatform_desc, tests code already could pass sentinel
instead of NULL to the xe_info_init_early() which could in the future make
some decisions based on non-null descriptor

anyway, fix is done in separate series [2], which shall be merged before this

[2] https://patchwork.freedesktop.org/series/173450/ 

> 
> --
> Gustavo Sousa
> 
>>
>> -- 
>> Sashiko AI review · https://sashiko.dev/#/patchset/20260904170531.516-1-michal.wajdeczko@intel.com?part=2


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

* Re: [PATCH 6/6] drm/xe/log: Relax location ID recognition
  2026-09-04 17:05 ` [PATCH 6/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
  2026-09-04 18:44   ` Rodrigo Vivi
@ 2026-09-09  9:00   ` Mallesh, Koujalagi
  2026-09-09  9:42     ` Michal Wajdeczko
  1 sibling, 1 reply; 25+ messages in thread
From: Mallesh, Koujalagi @ 2026-09-09  9:00 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe; +Cc: Rodrigo Vivi

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


On 04-09-2026 10:35 pm, Michal Wajdeczko wrote:
> It turned out that during early probe phase, VFs use detached from
> the xe_device, temporary xe_gt objects, which when used as location
> in xe_log() macros, will be treated by the dmesg decoration code as
> bogus, possibly triggering a WARN, and the output will look like:
>
>   [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request ...
>
> instead of expected:
>
>   [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile0: GT0: GUC: MMIO request ...
>
> Relax the tile/GT id validation and instead of looking for the real
> objects, only check if encoded id is within the range of possible
> tiles or GTs on the current xe device, using data from the device
> descriptor rather then the object list.

nit: 'rather than'

Please mention invalid id case, how it's going to render like

Warn + Tile3?  GT9? now.

>
> Fixes: 1151b9f6f465 ("drm/xe/log: Add component/location decorations to dmesg")
> Signed-off-by: Michal Wajdeczko<michal.wajdeczko@intel.com>
> ---
> Cc: Rodrigo Vivi<rodrigo.vivi@intel.com>
> Cc: Mallesh Koujalagi<mallesh.koujalagi@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_log.c | 40 ++++++++++++++++++++++++-------------
>   1 file changed, 26 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_log.c b/drivers/gpu/drm/xe/xe_log.c
> index 5549ef6966fd..29eb16db3320 100644
> --- a/drivers/gpu/drm/xe/xe_log.c
> +++ b/drivers/gpu/drm/xe/xe_log.c
> @@ -10,6 +10,7 @@
>   
>   #include "xe_device.h"
>   #include "xe_log.h"
> +#include "xe_pci_types.h"
>   #include "xe_printk.h"
>   
>   static void log_emit_cper(struct pci_dev *pdev, int cper_sev, enum xe_sigid sigid,
> @@ -52,18 +53,24 @@ static const char *log_component_prefix(u32 component)
>   	return component ? log_unknown_component_prefix(component) : "";
>   }
>   
> -static struct xe_gt *get_gt_safe(struct pci_dev *pdev, u8 id)
> +static bool allowed_tile_id(struct xe_device *xe, u8 tile_id)
>   {
> -	struct xe_device *xe = pdev_to_xe_device(pdev);
> +	return tile_id < 1 + xe->desc->max_remote_tiles;
> +}
>   
> -	return xe ? xe_device_get_gt(xe, id) : NULL;
> +static bool allowed_gt_id(struct xe_device *xe, u8 gt_id)
> +{
> +	return gt_id < (1 + xe->desc->max_remote_tiles) * xe->desc->max_gt_per_tile;
>   }
>   
> -static struct xe_tile *get_tile_safe(struct pci_dev *pdev, u8 id)
> +static u8 gt_id_to_tile_id(struct xe_device *xe, u8 gt_id)
>   {
> -	struct xe_device *xe = pdev_to_xe_device(pdev);
> +	return gt_id / xe->desc->max_gt_per_tile;

hmm, we need to check max_gt_per_tile should not be zero to avoid hard 
Oops. I know in real scenario, max_gt_per_tile

value is greater than 0 and less than equal to XE_MAX_GT_PER_TILE, 
however rogue user can write kunit test case and manipulate it, to avoid 
such scenario, we need to handle it.

Thanks,

-/Mallesh

> +}
>   
> -	return xe && id < xe->info.tile_count ? &xe->tiles[id] : NULL;
> +static const char *location_suffix(bool valid)
> +{
> +	return valid ? ":" : "?";
>   }
>   
>   static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char *buf, size_t size)
> @@ -76,17 +83,22 @@ static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char
>   			goto unrecognized;
>   		strscpy(buf, "", size);
>   	} else if (type == XE_LOG_LOCATION_TYPE_TILE) {
> -		struct xe_tile *tile = get_tile_safe(pdev, id);
> +		struct xe_device *xe = xe_any_to_xe(pdev);
> +		bool valid = xe ? allowed_tile_id(xe, id) : false;
> +		const char *pad = location_suffix(valid);
>   
> -		if (!tile)
> -			goto unrecognized;
> -		snprintf(buf, size, "Tile%u: ", id);
> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
> +			 "LOG: invalid tile identifier: %u\n", id);
> +		snprintf(buf, size, "Tile%u%s ", id, pad);
>   	} else if (type == XE_LOG_LOCATION_TYPE_GT) {
> -		struct xe_gt *gt = get_gt_safe(pdev, id);
> +		struct xe_device *xe = xe_any_to_xe(pdev);
> +		bool valid = xe ? allowed_gt_id(xe, id) : false;
> +		const char *pad = location_suffix(valid);
> +		u8 tile_id = xe ? gt_id_to_tile_id(xe, id) : 0;
>   
> -		if (!gt)
> -			goto unrecognized;
> -		snprintf(buf, size, "Tile%u: GT%u: ", gt->tile->id, id);
> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
> +			 "LOG: invalid GT identifier: %u\n", id);
> +		snprintf(buf, size, "Tile%u%s GT%u%s ", tile_id, pad, id, pad);
>   	} else {
>   		goto unrecognized;
>   	}

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

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

* Re: [PATCH 6/6] drm/xe/log: Relax location ID recognition
  2026-09-09  9:00   ` Mallesh, Koujalagi
@ 2026-09-09  9:42     ` Michal Wajdeczko
  2026-09-09 11:02       ` Mallesh, Koujalagi
  0 siblings, 1 reply; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-09  9:42 UTC (permalink / raw)
  To: Mallesh, Koujalagi, intel-xe; +Cc: Rodrigo Vivi



On 9/9/2026 11:00 AM, Mallesh, Koujalagi wrote:
> 
> On 04-09-2026 10:35 pm, Michal Wajdeczko wrote:
>> It turned out that during early probe phase, VFs use detached from
>> the xe_device, temporary xe_gt objects, which when used as location
>> in xe_log() macros, will be treated by the dmesg decoration code as
>> bogus, possibly triggering a WARN, and the output will look like:
>>
>>  [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request ...
                                         ^^^^^^^
[here] ----------------------------------^^^^^^^

>>
>> instead of expected:
>>
>>  [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile0: GT0: GUC: MMIO request ...
>>
>> Relax the tile/GT id validation and instead of looking for the real
>> objects, only check if encoded id is within the range of possible
>> tiles or GTs on the current xe device, using data from the device
>> descriptor rather then the object list.
> 
> nit: 'rather than'
> 
> Please mention invalid id case, how it's going to render like 
> 
> Warn + Tile3?  GT9? now.

invalid ID it is shown [here] and in the cover letter

regarding a WARN, it will not show up in production builds,
but it would look like:

 [ ] xe 0000:00:02.1: LOG: unrecognized location 3.0
 [ ] WARNING: drivers/gpu/drm/xe/xe_log.c:97 at __xe_log_emit+0x3ba/0xaa0 [xe], CPU#9: sh/5268
 [ ] Tainted: [W]=WARN
 [ ] RIP: 0010:__xe_log_emit+0x3ce/0xaa0 [xe]
 [ ] Call Trace:
 [ ]  <TASK>
 [ ]  ? mark_held_locks+0x46/0x90
 [ ]  ? __xe_mmio_wait32+0x87/0x170 [xe]
 [ ]  xe_guc_mmio_send_recv+0x354/0xc10 [xe]
 [ ]  ? dev_printk_emit+0xa0/0xe0
 [ ]  xe_guc_mmio_send+0x10/0x20 [xe]
 [ ]  vf_reset_guc_state+0x47/0x100 [xe]
 [ ]  ? rcu_read_unlock+0x1c/0x80
 [ ]  xe_gt_sriov_vf_bootstrap+0x2f/0xcb0 [xe]
 [ ]  ? xe_gt_mmio_init+0x30/0x1e0 [xe]
 [ ]  ? __drm_dev_dbg+0xa9/0xe0
 [ ]  ? __kmalloc_large_noprof+0x115/0x130
 [ ]  read_gmdid+0xf3/0x310 [xe]
 [ ]  ? xe_device_probe_early+0x143/0x710 [xe]
 [ ]  ? xe_pci_rebar_resize+0x17e/0x2e0 [xe]
 [ ]  ? __pci_set_master+0x61/0x100
 [ ]  xe_pci_probe+0x554/0xac0 [xe]
 [ ]  ? mark_held_locks+0x46/0x90
 [ ]  ? __pm_runtime_resume+0x5b/0x90
 [ ]  ? _raw_spin_unlock_irqrestore+0x67/0x90


> 
>> Fixes: 1151b9f6f465 ("drm/xe/log: Add component/location decorations to dmesg")
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> ---
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Cc: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
>> ---
>>  drivers/gpu/drm/xe/xe_log.c | 40 ++++++++++++++++++++++++-------------
>>  1 file changed, 26 insertions(+), 14 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_log.c b/drivers/gpu/drm/xe/xe_log.c
>> index 5549ef6966fd..29eb16db3320 100644
>> --- a/drivers/gpu/drm/xe/xe_log.c
>> +++ b/drivers/gpu/drm/xe/xe_log.c
>> @@ -10,6 +10,7 @@
>>  
>>  #include "xe_device.h"
>>  #include "xe_log.h"
>> +#include "xe_pci_types.h"
>>  #include "xe_printk.h"
>>  
>>  static void log_emit_cper(struct pci_dev *pdev, int cper_sev, enum xe_sigid sigid,
>> @@ -52,18 +53,24 @@ static const char *log_component_prefix(u32 component)
>>  	return component ? log_unknown_component_prefix(component) : "";
>>  }
>>  
>> -static struct xe_gt *get_gt_safe(struct pci_dev *pdev, u8 id)
>> +static bool allowed_tile_id(struct xe_device *xe, u8 tile_id)
>>  {
>> -	struct xe_device *xe = pdev_to_xe_device(pdev);
>> +	return tile_id < 1 + xe->desc->max_remote_tiles;
>> +}
>>  
>> -	return xe ? xe_device_get_gt(xe, id) : NULL;
>> +static bool allowed_gt_id(struct xe_device *xe, u8 gt_id)
>> +{
>> +	return gt_id < (1 + xe->desc->max_remote_tiles) * xe->desc->max_gt_per_tile;
>>  }
>>  
>> -static struct xe_tile *get_tile_safe(struct pci_dev *pdev, u8 id)
>> +static u8 gt_id_to_tile_id(struct xe_device *xe, u8 gt_id)
>>  {
>> -	struct xe_device *xe = pdev_to_xe_device(pdev);
>> +	return gt_id / xe->desc->max_gt_per_tile;
> 
> hmm, we need to check max_gt_per_tile should not be zero to avoid hard Oops. I know in real scenario, max_gt_per_tile
> 
> value is greater than 0 and less than equal to XE_MAX_GT_PER_TILE, however rogue user can write kunit test case and manipulate it, to avoid such scenario, we need to handle it.

desc->max_gt_per_tile are const and are defined in xe_pci.c, so ordinary user can't change that

we also have a test check_platform_desc [2] to make sure no developer will define max_gt_per_tile as 0

and we can't really control rouge user that will prepare and use invalid descriptor for kunit,
but even then, it will crash just that kunit, so who cares?

[2] https://elixir.bootlin.com/linux/v7.3-rc1/source/drivers/gpu/drm/xe/tests/xe_pci_test.c#L63

> 
> Thanks,
> 
> -/Mallesh
> 
>> +}
>>  
>> -	return xe && id < xe->info.tile_count ? &xe->tiles[id] : NULL;
>> +static const char *location_suffix(bool valid)
>> +{
>> +	return valid ? ":" : "?";
>>  }
>>  
>>  static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char *buf, size_t size)
>> @@ -76,17 +83,22 @@ static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char
>>  			goto unrecognized;
>>  		strscpy(buf, "", size);
>>  	} else if (type == XE_LOG_LOCATION_TYPE_TILE) {
>> -		struct xe_tile *tile = get_tile_safe(pdev, id);
>> +		struct xe_device *xe = xe_any_to_xe(pdev);
>> +		bool valid = xe ? allowed_tile_id(xe, id) : false;
>> +		const char *pad = location_suffix(valid);
>>  
>> -		if (!tile)
>> -			goto unrecognized;
>> -		snprintf(buf, size, "Tile%u: ", id);
>> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
>> +			 "LOG: invalid tile identifier: %u\n", id);
>> +		snprintf(buf, size, "Tile%u%s ", id, pad);
>>  	} else if (type == XE_LOG_LOCATION_TYPE_GT) {
>> -		struct xe_gt *gt = get_gt_safe(pdev, id);
>> +		struct xe_device *xe = xe_any_to_xe(pdev);
>> +		bool valid = xe ? allowed_gt_id(xe, id) : false;
>> +		const char *pad = location_suffix(valid);
>> +		u8 tile_id = xe ? gt_id_to_tile_id(xe, id) : 0;
>>  
>> -		if (!gt)
>> -			goto unrecognized;
>> -		snprintf(buf, size, "Tile%u: GT%u: ", gt->tile->id, id);
>> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
>> +			 "LOG: invalid GT identifier: %u\n", id);
>> +		snprintf(buf, size, "Tile%u%s GT%u%s ", tile_id, pad, id, pad);
>>  	} else {
>>  		goto unrecognized;
>>  	}


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

* Re: [PATCH 6/6] drm/xe/log: Relax location ID recognition
  2026-09-09  9:42     ` Michal Wajdeczko
@ 2026-09-09 11:02       ` Mallesh, Koujalagi
  2026-09-09 13:01         ` Michal Wajdeczko
  0 siblings, 1 reply; 25+ messages in thread
From: Mallesh, Koujalagi @ 2026-09-09 11:02 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-xe; +Cc: Rodrigo Vivi

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


On 09-09-2026 03:12 pm, Michal Wajdeczko wrote:
>
> On 9/9/2026 11:00 AM, Mallesh, Koujalagi wrote:
>> On 04-09-2026 10:35 pm, Michal Wajdeczko wrote:
>>> It turned out that during early probe phase, VFs use detached from
>>> the xe_device, temporary xe_gt objects, which when used as location
>>> in xe_log() macros, will be treated by the dmesg decoration code as
>>> bogus, possibly triggering a WARN, and the output will look like:
>>>
>>>   [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request ...
>                                           ^^^^^^^
> [here] ----------------------------------^^^^^^^
>
>>> instead of expected:
>>>
>>>   [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile0: GT0: GUC: MMIO request ...
>>>
>>> Relax the tile/GT id validation and instead of looking for the real
>>> objects, only check if encoded id is within the range of possible
>>> tiles or GTs on the current xe device, using data from the device
>>> descriptor rather then the object list.
>> nit: 'rather than'
>>
>> Please mention invalid id case, how it's going to render like
>>
>> Warn + Tile3?  GT9? now.
> invalid ID it is shown [here] and in the cover letter
>
> regarding a WARN, it will not show up in production builds,
> but it would look like:
>
>   [ ] xe 0000:00:02.1: LOG: unrecognized location 3.0
>   [ ] WARNING: drivers/gpu/drm/xe/xe_log.c:97 at __xe_log_emit+0x3ba/0xaa0 [xe], CPU#9: sh/5268
>   [ ] Tainted: [W]=WARN
>   [ ] RIP: 0010:__xe_log_emit+0x3ce/0xaa0 [xe]
>   [ ] Call Trace:
>   [ ]  <TASK>
>   [ ]  ? mark_held_locks+0x46/0x90
>   [ ]  ? __xe_mmio_wait32+0x87/0x170 [xe]
>   [ ]  xe_guc_mmio_send_recv+0x354/0xc10 [xe]
>   [ ]  ? dev_printk_emit+0xa0/0xe0
>   [ ]  xe_guc_mmio_send+0x10/0x20 [xe]
>   [ ]  vf_reset_guc_state+0x47/0x100 [xe]
>   [ ]  ? rcu_read_unlock+0x1c/0x80
>   [ ]  xe_gt_sriov_vf_bootstrap+0x2f/0xcb0 [xe]
>   [ ]  ? xe_gt_mmio_init+0x30/0x1e0 [xe]
>   [ ]  ? __drm_dev_dbg+0xa9/0xe0
>   [ ]  ? __kmalloc_large_noprof+0x115/0x130
>   [ ]  read_gmdid+0xf3/0x310 [xe]
>   [ ]  ? xe_device_probe_early+0x143/0x710 [xe]
>   [ ]  ? xe_pci_rebar_resize+0x17e/0x2e0 [xe]
>   [ ]  ? __pci_set_master+0x61/0x100
>   [ ]  xe_pci_probe+0x554/0xac0 [xe]
>   [ ]  ? mark_held_locks+0x46/0x90
>   [ ]  ? __pm_runtime_resume+0x5b/0x90
>   [ ]  ? _raw_spin_unlock_irqrestore+0x67/0x90
>
I was looking:

*Valid case:*

[drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile0: GT0: GUC: MMIO request ...

* Invalid case now:*

*xe 0000:03:00.0: LOG: invalid GT identifier: 5*

:

xe 0000:03:00.0: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile5? GT5? GUC: 
MMIO request ...

right?

>>> Fixes: 1151b9f6f465 ("drm/xe/log: Add component/location decorations to dmesg")
>>> Signed-off-by: Michal Wajdeczko<michal.wajdeczko@intel.com>
>>> ---
>>> Cc: Rodrigo Vivi<rodrigo.vivi@intel.com>
>>> Cc: Mallesh Koujalagi<mallesh.koujalagi@intel.com>
>>> ---
>>>   drivers/gpu/drm/xe/xe_log.c | 40 ++++++++++++++++++++++++-------------
>>>   1 file changed, 26 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_log.c b/drivers/gpu/drm/xe/xe_log.c
>>> index 5549ef6966fd..29eb16db3320 100644
>>> --- a/drivers/gpu/drm/xe/xe_log.c
>>> +++ b/drivers/gpu/drm/xe/xe_log.c
>>> @@ -10,6 +10,7 @@
>>>   
>>>   #include "xe_device.h"
>>>   #include "xe_log.h"
>>> +#include "xe_pci_types.h"
>>>   #include "xe_printk.h"
>>>   
>>>   static void log_emit_cper(struct pci_dev *pdev, int cper_sev, enum xe_sigid sigid,
>>> @@ -52,18 +53,24 @@ static const char *log_component_prefix(u32 component)
>>>   	return component ? log_unknown_component_prefix(component) : "";
>>>   }
>>>   
>>> -static struct xe_gt *get_gt_safe(struct pci_dev *pdev, u8 id)
>>> +static bool allowed_tile_id(struct xe_device *xe, u8 tile_id)
>>>   {
>>> -	struct xe_device *xe = pdev_to_xe_device(pdev);
>>> +	return tile_id < 1 + xe->desc->max_remote_tiles;
>>> +}
>>>   
>>> -	return xe ? xe_device_get_gt(xe, id) : NULL;
>>> +static bool allowed_gt_id(struct xe_device *xe, u8 gt_id)
>>> +{
>>> +	return gt_id < (1 + xe->desc->max_remote_tiles) * xe->desc->max_gt_per_tile;
>>>   }
>>>   
>>> -static struct xe_tile *get_tile_safe(struct pci_dev *pdev, u8 id)
>>> +static u8 gt_id_to_tile_id(struct xe_device *xe, u8 gt_id)
>>>   {
>>> -	struct xe_device *xe = pdev_to_xe_device(pdev);
>>> +	return gt_id / xe->desc->max_gt_per_tile;
>> hmm, we need to check max_gt_per_tile should not be zero to avoid hard Oops. I know in real scenario, max_gt_per_tile
>>
>> value is greater than 0 and less than equal to XE_MAX_GT_PER_TILE, however rogue user can write kunit test case and manipulate it, to avoid such scenario, we need to handle it.
> desc->max_gt_per_tile are const and are defined in xe_pci.c, so ordinary user can't change that
Agreed!
>
> we also have a test check_platform_desc [2] to make sure no developer will define max_gt_per_tile as 0
>
> and we can't really control rouge user that will prepare and use invalid descriptor for kunit,
> but even then, it will crash just that kunit, so who cares?

I know we can't control rogue user, his intention might be different. 
IMO, at least we can alert it right?  Upto you, how are u going to take 
rogue user case.

>
> [2]https://elixir.bootlin.com/linux/v7.3-rc1/source/drivers/gpu/drm/xe/tests/xe_pci_test.c#L63

I saw max_gt_per_tile, kunit check where it's should be greater than 0 
and less than equal to XE_MAX_GT_PER_TILE to avoid such scenario.

Thanks,

-/Mallesh

>> Thanks,
>>
>> -/Mallesh
>>
>>> +}
>>>   
>>> -	return xe && id < xe->info.tile_count ? &xe->tiles[id] : NULL;
>>> +static const char *location_suffix(bool valid)
>>> +{
>>> +	return valid ? ":" : "?";
>>>   }
>>>   
>>>   static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char *buf, size_t size)
>>> @@ -76,17 +83,22 @@ static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char
>>>   			goto unrecognized;
>>>   		strscpy(buf, "", size);
>>>   	} else if (type == XE_LOG_LOCATION_TYPE_TILE) {
>>> -		struct xe_tile *tile = get_tile_safe(pdev, id);
>>> +		struct xe_device *xe = xe_any_to_xe(pdev);
>>> +		bool valid = xe ? allowed_tile_id(xe, id) : false;
>>> +		const char *pad = location_suffix(valid);
>>>   
>>> -		if (!tile)
>>> -			goto unrecognized;
>>> -		snprintf(buf, size, "Tile%u: ", id);
>>> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
>>> +			 "LOG: invalid tile identifier: %u\n", id);
>>> +		snprintf(buf, size, "Tile%u%s ", id, pad);
>>>   	} else if (type == XE_LOG_LOCATION_TYPE_GT) {
>>> -		struct xe_gt *gt = get_gt_safe(pdev, id);
>>> +		struct xe_device *xe = xe_any_to_xe(pdev);
>>> +		bool valid = xe ? allowed_gt_id(xe, id) : false;
>>> +		const char *pad = location_suffix(valid);
>>> +		u8 tile_id = xe ? gt_id_to_tile_id(xe, id) : 0;
>>>   
>>> -		if (!gt)
>>> -			goto unrecognized;
>>> -		snprintf(buf, size, "Tile%u: GT%u: ", gt->tile->id, id);
>>> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
>>> +			 "LOG: invalid GT identifier: %u\n", id);
>>> +		snprintf(buf, size, "Tile%u%s GT%u%s ", tile_id, pad, id, pad);
>>>   	} else {
>>>   		goto unrecognized;
>>>   	}

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

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

* Re: [PATCH 6/6] drm/xe/log: Relax location ID recognition
  2026-09-09 11:02       ` Mallesh, Koujalagi
@ 2026-09-09 13:01         ` Michal Wajdeczko
  0 siblings, 0 replies; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-09 13:01 UTC (permalink / raw)
  To: Mallesh, Koujalagi, intel-xe; +Cc: Rodrigo Vivi



On 9/9/2026 1:02 PM, Mallesh, Koujalagi wrote:
> 
> On 09-09-2026 03:12 pm, Michal Wajdeczko wrote:
>> On 9/9/2026 11:00 AM, Mallesh, Koujalagi wrote:
>>> On 04-09-2026 10:35 pm, Michal Wajdeczko wrote:
>>>> It turned out that during early probe phase, VFs use detached from
>>>> the xe_device, temporary xe_gt objects, which when used as location
>>>> in xe_log() macros, will be treated by the dmesg decoration code as
>>>> bogus, possibly triggering a WARN, and the output will look like:
>>>>
>>>>  [drm] *ERROR* SIGID=104 (-ETIMEDOUT) LOC3.0? GUC: MMIO request ...
>>                                          ^^^^^^^
>> [here] ----------------------------------^^^^^^^
>>
>>>> instead of expected:
>>>>
>>>>  [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile0: GT0: GUC: MMIO request ...
>>>>
>>>> Relax the tile/GT id validation and instead of looking for the real
>>>> objects, only check if encoded id is within the range of possible
>>>> tiles or GTs on the current xe device, using data from the device
>>>> descriptor rather then the object list.
>>> nit: 'rather than'
>>>
>>> Please mention invalid id case, how it's going to render like 
>>>
>>> Warn + Tile3?  GT9? now.
>> invalid ID it is shown [here] and in the cover letter
>>
>> regarding a WARN, it will not show up in production builds,
>> but it would look like:
>>
>>  [ ] xe 0000:00:02.1: LOG: unrecognized location 3.0
>>  [ ] WARNING: drivers/gpu/drm/xe/xe_log.c:97 at __xe_log_emit+0x3ba/0xaa0 [xe], CPU#9: sh/5268
>>  [ ] Tainted: [W]=WARN
>>  [ ] RIP: 0010:__xe_log_emit+0x3ce/0xaa0 [xe]
>>  [ ] Call Trace:
>>  [ ]  <TASK>
>>  [ ]  ? mark_held_locks+0x46/0x90
>>  [ ]  ? __xe_mmio_wait32+0x87/0x170 [xe]
>>  [ ]  xe_guc_mmio_send_recv+0x354/0xc10 [xe]
>>  [ ]  ? dev_printk_emit+0xa0/0xe0
>>  [ ]  xe_guc_mmio_send+0x10/0x20 [xe]
>>  [ ]  vf_reset_guc_state+0x47/0x100 [xe]
>>  [ ]  ? rcu_read_unlock+0x1c/0x80
>>  [ ]  xe_gt_sriov_vf_bootstrap+0x2f/0xcb0 [xe]
>>  [ ]  ? xe_gt_mmio_init+0x30/0x1e0 [xe]
>>  [ ]  ? __drm_dev_dbg+0xa9/0xe0
>>  [ ]  ? __kmalloc_large_noprof+0x115/0x130
>>  [ ]  read_gmdid+0xf3/0x310 [xe]
>>  [ ]  ? xe_device_probe_early+0x143/0x710 [xe]
>>  [ ]  ? xe_pci_rebar_resize+0x17e/0x2e0 [xe]
>>  [ ]  ? __pci_set_master+0x61/0x100
>>  [ ]  xe_pci_probe+0x554/0xac0 [xe]
>>  [ ]  ? mark_held_locks+0x46/0x90
>>  [ ]  ? __pm_runtime_resume+0x5b/0x90
>>  [ ]  ? _raw_spin_unlock_irqrestore+0x67/0x90
>>
> I was looking:
> 
> *Valid case:*
> 
> [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile0: GT0: GUC: MMIO request ...
> 
> * Invalid case now:*
> 
> *xe 0000:03:00.0: LOG: invalid GT identifier: 5*
> 
> :
> 
> xe 0000:03:00.0: [drm] *ERROR* SIGID=104 (-ETIMEDOUT) Tile5? GT5? GUC: MMIO request ...
> 
> right?

more/less yes, in dmesg there will be "?" instead of ":" after Tile/GT
and the WARN will be triggered on debug build only (it's like our xe_assert)

and please note that such invalid identifiers should never be seen unless
someone will generate such ID on purpose by hand, which is unlikely

IMO showing how the bad output will look like is not so important

> 
>>>> Fixes: 1151b9f6f465 ("drm/xe/log: Add component/location decorations to dmesg")
>>>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>> ---
>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>> Cc: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
>>>> ---
>>>>  drivers/gpu/drm/xe/xe_log.c | 40 ++++++++++++++++++++++++-------------
>>>>  1 file changed, 26 insertions(+), 14 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/xe/xe_log.c b/drivers/gpu/drm/xe/xe_log.c
>>>> index 5549ef6966fd..29eb16db3320 100644
>>>> --- a/drivers/gpu/drm/xe/xe_log.c
>>>> +++ b/drivers/gpu/drm/xe/xe_log.c
>>>> @@ -10,6 +10,7 @@
>>>>  
>>>>  #include "xe_device.h"
>>>>  #include "xe_log.h"
>>>> +#include "xe_pci_types.h"
>>>>  #include "xe_printk.h"
>>>>  
>>>>  static void log_emit_cper(struct pci_dev *pdev, int cper_sev, enum xe_sigid sigid,
>>>> @@ -52,18 +53,24 @@ static const char *log_component_prefix(u32 component)
>>>>  	return component ? log_unknown_component_prefix(component) : "";
>>>>  }
>>>>  
>>>> -static struct xe_gt *get_gt_safe(struct pci_dev *pdev, u8 id)
>>>> +static bool allowed_tile_id(struct xe_device *xe, u8 tile_id)
>>>>  {
>>>> -	struct xe_device *xe = pdev_to_xe_device(pdev);
>>>> +	return tile_id < 1 + xe->desc->max_remote_tiles;
>>>> +}
>>>>  
>>>> -	return xe ? xe_device_get_gt(xe, id) : NULL;
>>>> +static bool allowed_gt_id(struct xe_device *xe, u8 gt_id)
>>>> +{
>>>> +	return gt_id < (1 + xe->desc->max_remote_tiles) * xe->desc->max_gt_per_tile;
>>>>  }
>>>>  
>>>> -static struct xe_tile *get_tile_safe(struct pci_dev *pdev, u8 id)
>>>> +static u8 gt_id_to_tile_id(struct xe_device *xe, u8 gt_id)
>>>>  {
>>>> -	struct xe_device *xe = pdev_to_xe_device(pdev);
>>>> +	return gt_id / xe->desc->max_gt_per_tile;
>>> hmm, we need to check max_gt_per_tile should not be zero to avoid hard Oops. I know in real scenario, max_gt_per_tile
>>>
>>> value is greater than 0 and less than equal to XE_MAX_GT_PER_TILE, however rogue user can write kunit test case and manipulate it, to avoid such scenario, we need to handle it.
>> desc->max_gt_per_tile are const and are defined in xe_pci.c, so ordinary user can't change that
> Agreed!
>> we also have a test check_platform_desc [2] to make sure no developer will define max_gt_per_tile as 0
>>
>> and we can't really control rouge user that will prepare and use invalid descriptor for kunit,
>> but even then, it will crash just that kunit, so who cares?
> 
> I know we can't control rogue user, his intention might be different. IMO, at least we can alert it right?  Upto you, how are u going to take rogue user case.
> 
>> [2] https://elixir.bootlin.com/linux/v7.3-rc1/source/drivers/gpu/drm/xe/tests/xe_pci_test.c#L63
> 
> I saw max_gt_per_tile, kunit check where it's should be greater than 0 and less than equal to XE_MAX_GT_PER_TILE to avoid such scenario.
> 
> Thanks,
> 
> -/Mallesh
> 
>>> Thanks,
>>>
>>> -/Mallesh
>>>
>>>> +}
>>>>  
>>>> -	return xe && id < xe->info.tile_count ? &xe->tiles[id] : NULL;
>>>> +static const char *location_suffix(bool valid)
>>>> +{
>>>> +	return valid ? ":" : "?";
>>>>  }
>>>>  
>>>>  static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char *buf, size_t size)
>>>> @@ -76,17 +83,22 @@ static const char *log_location_prefix(struct pci_dev *pdev, u32 location, char
>>>>  			goto unrecognized;
>>>>  		strscpy(buf, "", size);
>>>>  	} else if (type == XE_LOG_LOCATION_TYPE_TILE) {
>>>> -		struct xe_tile *tile = get_tile_safe(pdev, id);
>>>> +		struct xe_device *xe = xe_any_to_xe(pdev);
>>>> +		bool valid = xe ? allowed_tile_id(xe, id) : false;
>>>> +		const char *pad = location_suffix(valid);
>>>>  
>>>> -		if (!tile)
>>>> -			goto unrecognized;
>>>> -		snprintf(buf, size, "Tile%u: ", id);
>>>> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
>>>> +			 "LOG: invalid tile identifier: %u\n", id);
>>>> +		snprintf(buf, size, "Tile%u%s ", id, pad);
>>>>  	} else if (type == XE_LOG_LOCATION_TYPE_GT) {
>>>> -		struct xe_gt *gt = get_gt_safe(pdev, id);
>>>> +		struct xe_device *xe = xe_any_to_xe(pdev);
>>>> +		bool valid = xe ? allowed_gt_id(xe, id) : false;
>>>> +		const char *pad = location_suffix(valid);
>>>> +		u8 tile_id = xe ? gt_id_to_tile_id(xe, id) : 0;
>>>>  
>>>> -		if (!gt)
>>>> -			goto unrecognized;
>>>> -		snprintf(buf, size, "Tile%u: GT%u: ", gt->tile->id, id);
>>>> +		pci_WARN(pdev, !valid && IS_ENABLED(CONFIG_DRM_XE_DEBUG),
>>>> +			 "LOG: invalid GT identifier: %u\n", id);
>>>> +		snprintf(buf, size, "Tile%u%s GT%u%s ", tile_id, pad, id, pad);
>>>>  	} else {
>>>>  		goto unrecognized;
>>>>  	}


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

* Re: [PATCH 2/6] drm/xe: Keep reference to device descriptor
  2026-09-07 19:30       ` Michal Wajdeczko
@ 2026-09-11 11:25         ` Michal Wajdeczko
  2026-09-11 16:36           ` Gustavo Sousa
  0 siblings, 1 reply; 25+ messages in thread
From: Michal Wajdeczko @ 2026-09-11 11:25 UTC (permalink / raw)
  To: Gustavo Sousa, sashiko-reviews, Rodrigo Vivi; +Cc: intel-xe



On 9/7/2026 9:30 PM, Michal Wajdeczko wrote:
> 
> 
> On 9/5/2026 3:52 PM, Gustavo Sousa wrote:
>> sashiko-bot@kernel.org writes:
>>
>>> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
>>> - [Medium] In test initialization, `xe->subplatform_desc` is incorrectly assigned a pointer to a sentinel element instead of `NULL` when no subplatform is matched.
>>> --
>>>
>>> commit 2fbc7ea3deaa915eef829a4c64ec08fac1f4a8a9
>>> Author: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>
>>> drm/xe: Keep reference to device descriptor
>>>
>>> This patch stores a reference to the whole device descriptor and the
>>> matched subplatform descriptor within the xe_device structure. This
>>> change enables access to additional non-mutable device parameters.
>>>
>>>> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
>>>> index 4965a01f6ba52..48d5ee478fe69 100644
>>>> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
>>>> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
>>>> @@ -374,6 +374,8 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>>>>  		return -ENODEV;
>>>>  
>>>>  done:
>>>> +	xe->desc = desc;
>>>> +	xe->subplatform_desc = subplatform_desc;
>>>
>>> [Severity: Medium]
>>> Will this assign a pointer to a sentinel element instead of NULL when no
>>> subplatform is matched?
>>>
>>> In xe_pci_fake_device_init(), the search loop terminates when it reaches the
>>> sentinel element:
>>>
>>> 	for (subplatform_desc = desc->subplatforms;
>>> 	     subplatform_desc && subplatform_desc->subplatform;
>>> 	     subplatform_desc++)
>>> 		if (subplatform_desc->subplatform == data->subplatform)
>>> 			break;
>>>
>>> If data->subplatform is XE_SUBPLATFORM_NONE, the loop exits with
>>> subplatform_desc pointing to the sentinel element of desc->subplatforms, not
>>> NULL. The subsequent check (!subplatform_desc) evaluates to false.
>>>
>>> By directly assigning this value to xe->subplatform_desc, the test mock
>>> environment now gets a non-NULL pointer (the sentinel) for devices without a
>>> subplatform. Could this create a state inconsistency with production code,
>>> causing tests checking if (xe->subplatform_desc) to falsely evaluate to
>>> true?
>>
>> Sashiko seems to be right here. I think we could initialize
>> subplatform_desc to NULL and assign the one from the loop if we find a
>> match.
> 
> for the record: IMO this should be tagged as a pre-existing issue, as even
> without storing a xe->subplatform_desc, tests code already could pass sentinel
> instead of NULL to the xe_info_init_early() which could in the future make
> some decisions based on non-null descriptor
> 
> anyway, fix is done in separate series [2], which shall be merged before this
> 
> [2] https://patchwork.freedesktop.org/series/173450/ 

this is now merged [3], can we move forward with this patch?


[3] https://gitlab.freedesktop.org/drm/xe/kernel/-/commit/51c3ac1665265bf107d111927d242f0799ba11f8
> 
>>
>> --
>> Gustavo Sousa
>>
>>>
>>> -- 
>>> Sashiko AI review · https://sashiko.dev/#/patchset/20260904170531.516-1-michal.wajdeczko@intel.com?part=2
> 


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

* Re: [PATCH 2/6] drm/xe: Keep reference to device descriptor
  2026-09-11 11:25         ` Michal Wajdeczko
@ 2026-09-11 16:36           ` Gustavo Sousa
  0 siblings, 0 replies; 25+ messages in thread
From: Gustavo Sousa @ 2026-09-11 16:36 UTC (permalink / raw)
  To: Michal Wajdeczko, sashiko-reviews, Rodrigo Vivi; +Cc: intel-xe

Michal Wajdeczko <michal.wajdeczko@intel.com> writes:

> On 9/7/2026 9:30 PM, Michal Wajdeczko wrote:
>> 
>> 
>> On 9/5/2026 3:52 PM, Gustavo Sousa wrote:
>>> sashiko-bot@kernel.org writes:
>>>
>>>> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
>>>> - [Medium] In test initialization, `xe->subplatform_desc` is incorrectly assigned a pointer to a sentinel element instead of `NULL` when no subplatform is matched.
>>>> --
>>>>
>>>> commit 2fbc7ea3deaa915eef829a4c64ec08fac1f4a8a9
>>>> Author: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>>
>>>> drm/xe: Keep reference to device descriptor
>>>>
>>>> This patch stores a reference to the whole device descriptor and the
>>>> matched subplatform descriptor within the xe_device structure. This
>>>> change enables access to additional non-mutable device parameters.
>>>>
>>>>> diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
>>>>> index 4965a01f6ba52..48d5ee478fe69 100644
>>>>> --- a/drivers/gpu/drm/xe/tests/xe_pci.c
>>>>> +++ b/drivers/gpu/drm/xe/tests/xe_pci.c
>>>>> @@ -374,6 +374,8 @@ int xe_pci_fake_device_init(struct xe_device *xe)
>>>>>  		return -ENODEV;
>>>>>  
>>>>>  done:
>>>>> +	xe->desc = desc;
>>>>> +	xe->subplatform_desc = subplatform_desc;
>>>>
>>>> [Severity: Medium]
>>>> Will this assign a pointer to a sentinel element instead of NULL when no
>>>> subplatform is matched?
>>>>
>>>> In xe_pci_fake_device_init(), the search loop terminates when it reaches the
>>>> sentinel element:
>>>>
>>>> 	for (subplatform_desc = desc->subplatforms;
>>>> 	     subplatform_desc && subplatform_desc->subplatform;
>>>> 	     subplatform_desc++)
>>>> 		if (subplatform_desc->subplatform == data->subplatform)
>>>> 			break;
>>>>
>>>> If data->subplatform is XE_SUBPLATFORM_NONE, the loop exits with
>>>> subplatform_desc pointing to the sentinel element of desc->subplatforms, not
>>>> NULL. The subsequent check (!subplatform_desc) evaluates to false.
>>>>
>>>> By directly assigning this value to xe->subplatform_desc, the test mock
>>>> environment now gets a non-NULL pointer (the sentinel) for devices without a
>>>> subplatform. Could this create a state inconsistency with production code,
>>>> causing tests checking if (xe->subplatform_desc) to falsely evaluate to
>>>> true?
>>>
>>> Sashiko seems to be right here. I think we could initialize
>>> subplatform_desc to NULL and assign the one from the loop if we find a
>>> match.
>> 
>> for the record: IMO this should be tagged as a pre-existing issue, as even
>> without storing a xe->subplatform_desc, tests code already could pass sentinel
>> instead of NULL to the xe_info_init_early() which could in the future make
>> some decisions based on non-null descriptor
>> 
>> anyway, fix is done in separate series [2], which shall be merged before this
>> 
>> [2] https://patchwork.freedesktop.org/series/173450/ 
>
> this is now merged [3], can we move forward with this patch?
>

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>

>
> [3] https://gitlab.freedesktop.org/drm/xe/kernel/-/commit/51c3ac1665265bf107d111927d242f0799ba11f8
>> 
>>>
>>> --
>>> Gustavo Sousa
>>>
>>>>
>>>> -- 
>>>> Sashiko AI review · https://sashiko.dev/#/patchset/20260904170531.516-1-michal.wajdeczko@intel.com?part=2
>> 

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

end of thread, other threads:[~2026-09-11 16:36 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-04 17:05 [PATCH 0/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
2026-09-04 17:05 ` [PATCH 1/6] drm/xe: Drop unused parameter from xe_info_init Michal Wajdeczko
2026-09-04 18:09   ` Rodrigo Vivi
2026-09-05 13:04   ` Gustavo Sousa
2026-09-04 17:05 ` [PATCH 2/6] drm/xe: Keep reference to device descriptor Michal Wajdeczko
2026-09-04 17:14   ` sashiko-bot
2026-09-05 13:52     ` Gustavo Sousa
2026-09-07 19:30       ` Michal Wajdeczko
2026-09-11 11:25         ` Michal Wajdeczko
2026-09-11 16:36           ` Gustavo Sousa
2026-09-04 17:05 ` [PATCH 3/6] drm/xe: Drop redundant parameters from xe_info_init_early Michal Wajdeczko
2026-09-05 13:54   ` Gustavo Sousa
2026-09-04 17:05 ` [PATCH 4/6] drm/xe: Drop redundant parameter from xe_probe_info_early Michal Wajdeczko
2026-09-05 13:55   ` Gustavo Sousa
2026-09-04 17:05 ` [PATCH 5/6] drm/xe: Drop redundant parameter from xe_probe_info and friends Michal Wajdeczko
2026-09-05 13:58   ` Gustavo Sousa
2026-09-04 17:05 ` [PATCH 6/6] drm/xe/log: Relax location ID recognition Michal Wajdeczko
2026-09-04 18:44   ` Rodrigo Vivi
2026-09-09  9:00   ` Mallesh, Koujalagi
2026-09-09  9:42     ` Michal Wajdeczko
2026-09-09 11:02       ` Mallesh, Koujalagi
2026-09-09 13:01         ` Michal Wajdeczko
2026-09-04 17:13 ` ✓ CI.KUnit: success for " Patchwork
2026-09-04 17:52 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-05  1:36 ` ✓ Xe.CI.FULL: " Patchwork

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