Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Prepare for WCL GSC FW
@ 2026-08-26 17:11 Daniele Ceraolo Spurio
  2026-08-26 17:11 ` [PATCH v2 1/6] drm/xe: Define WCL as a PTL subplatform Daniele Ceraolo Spurio
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Daniele Ceraolo Spurio @ 2026-08-26 17:11 UTC (permalink / raw)
  To: intel-xe; +Cc: Daniele Ceraolo Spurio, Alan Previn, Julia Filipchuk

The GSC FW team has decided to fork the PTL FW and have a dedicated
build for WCL. The PTL FW will keep working on WCL, but the newer WCL
FW image is recommended; the WCL FW will not work on PTL.
While the WCL FW is not ready for release yet, its addition will not be
trivial, so we can start preparing for it. In particular, we need to be
able to distinguish WCL from PTL and be able to fall back to the PTL FW
on WCL if the WCL FW is not found.

The 5th patch on this series adds the WCL FW definition to show how
that's going to look, but that shouldn't be merged until the firmware is
available in the public repo.
The last patch adds a mock GuC 99.99.0 FW definition for LNL, to test
the fallback mechanism to GuC v70. This should also not be merged.

v2: rebase

Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Julia Filipchuk <julia.filipchuk@intel.com>

Daniele Ceraolo Spurio (6):
  drm/xe: Define WCL as a PTL subplatform
  drm/xe/uc: Add FW file fallback support
  drm/xe/uc: mark HuC and GSC as only available on the media GT
  drm/xe/uc: Support fetching different FW files per-subplatform
  DO NOT MERGE: drm/xe/gsc: define GSC for WCL
  DO NOT MERGE: drm/xe/guc: add a mock newer GuC file for LNL

 drivers/gpu/drm/xe/xe_gsc.c            |   7 --
 drivers/gpu/drm/xe/xe_huc.c            |  11 ---
 drivers/gpu/drm/xe/xe_pci.c            |   6 ++
 drivers/gpu/drm/xe/xe_platform_types.h |   1 +
 drivers/gpu/drm/xe/xe_uc_fw.c          | 101 +++++++++++++++++++------
 drivers/gpu/drm/xe/xe_uc_fw_types.h    |   9 +++
 6 files changed, 95 insertions(+), 40 deletions(-)

-- 
2.53.0


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

* [PATCH v2 1/6] drm/xe: Define WCL as a PTL subplatform
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
@ 2026-08-26 17:11 ` Daniele Ceraolo Spurio
  2026-08-28  3:50   ` Teres Alexis, Alan Previn
  2026-08-26 17:11 ` [PATCH v2 2/6] drm/xe/uc: Add FW file fallback support Daniele Ceraolo Spurio
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 16+ messages in thread
From: Daniele Ceraolo Spurio @ 2026-08-26 17:11 UTC (permalink / raw)
  To: intel-xe; +Cc: Daniele Ceraolo Spurio, Matt Roper

WCL will support a different GSC binary than PTL, so we need to be able
to distinguish the two platforms.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
---
 drivers/gpu/drm/xe/xe_pci.c            | 6 ++++++
 drivers/gpu/drm/xe/xe_platform_types.h | 1 +
 2 files changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index ab4da1d9a9f1..0b2e91150c6d 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -437,6 +437,8 @@ static const struct xe_device_desc bmg_desc = {
 	.vm_max_level = 4,
 };
 
+static const u16 wcl_ids[] = { INTEL_WCL_IDS(NOP), 0 };
+
 static const struct xe_device_desc ptl_desc = {
 	PLATFORM(PANTHERLAKE),
 	.dma_mask_size = 46,
@@ -449,6 +451,10 @@ static const struct xe_device_desc ptl_desc = {
 	MULTI_LRC_MASK,
 	.needs_scratch = true,
 	.needs_shared_vf_gt_wq = true,
+	.subplatforms = (const struct xe_subplatform_desc[]) {
+		{ XE_SUBPLATFORM_WILDCATLAKE, "WCL", wcl_ids },
+		{ }
+	},
 	.va_bits = 48,
 	.vm_max_level = 4,
 };
diff --git a/drivers/gpu/drm/xe/xe_platform_types.h b/drivers/gpu/drm/xe/xe_platform_types.h
index 3447848b74e3..9399198278a0 100644
--- a/drivers/gpu/drm/xe/xe_platform_types.h
+++ b/drivers/gpu/drm/xe/xe_platform_types.h
@@ -38,6 +38,7 @@ enum xe_subplatform {
 	XE_SUBPLATFORM_DG2_G11,
 	XE_SUBPLATFORM_DG2_G12,
 	XE_SUBPLATFORM_BATTLEMAGE_G21,
+	XE_SUBPLATFORM_WILDCATLAKE,
 };
 
 #endif
-- 
2.53.0


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

* [PATCH v2 2/6] drm/xe/uc: Add FW file fallback support
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
  2026-08-26 17:11 ` [PATCH v2 1/6] drm/xe: Define WCL as a PTL subplatform Daniele Ceraolo Spurio
@ 2026-08-26 17:11 ` Daniele Ceraolo Spurio
  2026-08-28  4:35   ` Teres Alexis, Alan Previn
  2026-08-26 17:11 ` [PATCH v2 3/6] drm/xe/uc: mark HuC and GSC as only available on the media GT Daniele Ceraolo Spurio
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 16+ messages in thread
From: Daniele Ceraolo Spurio @ 2026-08-26 17:11 UTC (permalink / raw)
  To: intel-xe; +Cc: Daniele Ceraolo Spurio, Alan Previn, Julia Filipchuk

The GSC team is splitting their PTL release to have a dedicated fork for
WCL. Since we currently ship WCL with the PTL GSC release, we need to
support both binaries, with a preference for the WCL one.
To do so, we need support for falling back to an older entry in the
binary list. This complicates the version tracking a bit, because now we
have a main wanted version (the one of the newer binary), but also
minimal versions to check against for the fallback binary; for example,
if we fell back from GuC v71 to GuC v70, the wanted version would be
v71 but the one we want to compare against for the fall-back binary is
v70. To track both of those, a new "comparison" version has been added,
which is used just to check against what's in the fetched binary.

Assisted-by: GitHub-Copilot:claude-sonnet-5
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Julia Filipchuk <julia.filipchuk@intel.com>
---
 drivers/gpu/drm/xe/xe_uc_fw.c       | 68 +++++++++++++++++++++++------
 drivers/gpu/drm/xe/xe_uc_fw_types.h |  9 ++++
 2 files changed, 63 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index e29878b255ba..f918135cc96f 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -229,7 +229,7 @@ void xe_uc_fw_change_status(struct xe_uc_fw *uc_fw, enum xe_uc_fw_status status)
 }
 #endif
 
-static void
+static bool
 uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 {
 	static const struct uc_fw_entry entries_guc[] = {
@@ -270,12 +270,31 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 		    entries[i].gt_type != gt->info.type)
 			continue;
 
+		if (uc_fw->path) {
+			/*
+			 * Continuing an earlier search after a found blob
+			 * failed to load. Once the previously chosen path has
+			 * been found, clear it out and let the search continue
+			 * from there.
+			 */
+			if (uc_fw->path == entries[i].path)
+				uc_fw->path = NULL;
+			continue;
+		}
+
 		uc_fw->path = entries[i].path;
-		uc_fw->versions.wanted.major = entries[i].major;
-		uc_fw->versions.wanted.minor = entries[i].minor;
-		uc_fw->versions.wanted.patch = entries[i].patch;
+		uc_fw->versions.comparison.major = entries[i].major;
+		uc_fw->versions.comparison.minor = entries[i].minor;
+		uc_fw->versions.comparison.patch = entries[i].patch;
 		uc_fw->full_ver_required = entries[i].full_ver_required;
 
+		if (!uc_fw->wanted_path) {
+			uc_fw->wanted_path = uc_fw->path;
+			uc_fw->versions.wanted.major = entries[i].major;
+			uc_fw->versions.wanted.minor = entries[i].minor;
+			uc_fw->versions.wanted.patch = entries[i].patch;
+		}
+
 		if (uc_fw->type == XE_UC_FW_TYPE_GSC)
 			uc_fw->versions.wanted_type = XE_UC_FW_VER_COMPATIBILITY;
 		else
@@ -283,6 +302,8 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 
 		break;
 	}
+
+	return uc_fw->path != NULL;
 }
 
 static void
@@ -373,13 +394,21 @@ static int guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_guc_info *guc
 int xe_uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
 {
 	struct xe_device *xe = uc_fw_to_xe(uc_fw);
-	struct xe_uc_fw_version *wanted = &uc_fw->versions.wanted;
+	struct xe_uc_fw_version *wanted = &uc_fw->versions.comparison;
 	struct xe_uc_fw_version *found = &uc_fw->versions.found[uc_fw->versions.wanted_type];
+	bool need_update = false;
 
 	/* Driver has no requirement on any version, any is good. */
 	if (!wanted->major)
 		return 0;
 
+	if (uc_fw->wanted_path != uc_fw->path) {
+		drm_notice(&xe->drm,
+			   "%s firmware: using fallback path %s instead of the recommended %s\n",
+			   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path, uc_fw->wanted_path);
+		need_update = true;
+	}
+
 	/*
 	 * If full version is required, both major and minor should match.
 	 * Otherwise, at least the major version.
@@ -397,14 +426,16 @@ int xe_uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
 
 	if (wanted->minor > found->minor ||
 	    (wanted->minor == found->minor && wanted->patch > found->patch)) {
-		drm_notice(&xe->drm, "%s firmware (%u.%u.%u) is recommended, but only (%u.%u.%u) was found in %s\n",
+		drm_notice(&xe->drm, "%s firmware (%u.%u.%u) is recommended for %s, but only (%u.%u.%u) was found\n",
 			   xe_uc_fw_type_repr(uc_fw->type),
-			   wanted->major, wanted->minor, wanted->patch,
-			   found->major, found->minor, found->patch,
-			   uc_fw->path);
+			   wanted->major, wanted->minor, wanted->patch, uc_fw->path,
+			   found->major, found->minor, found->patch);
+		need_update = true;
+	}
+
+	if (need_update)
 		drm_info(&xe->drm, "Consider updating your linux-firmware pkg or downloading from %s\n",
 			 XE_UC_FIRMWARE_URL);
-	}
 
 	return 0;
 
@@ -756,6 +787,15 @@ static int uc_fw_request(struct xe_uc_fw *uc_fw, const struct firmware **firmwar
 	}
 
 	err = firmware_request_nowarn(&fw, uc_fw->path, dev);
+	if (err && (err != -ENOENT || uc_fw->user_overridden))
+		goto fail;
+
+	/* if the selected blob isn't found, keep trying other matching entries in the table */
+	while (err == -ENOENT && uc_fw_auto_select(xe, uc_fw)) {
+		xe_gt_dbg(gt, "Trying %s fallback firmware entry: %s\n",
+			  xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
+		err = firmware_request_nowarn(&fw, uc_fw->path, dev);
+	}
 	if (err)
 		goto fail;
 
@@ -785,8 +825,8 @@ static int uc_fw_request(struct xe_uc_fw *uc_fw, const struct firmware **firmwar
 			       XE_UC_FIRMWARE_ERROR);
 
 	if (err == -ENOENT)
-		xe_gt_info(gt, "%s firmware %s not found\n",
-			   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
+		xe_gt_info(gt, "%s firmware not found\n",
+			   xe_uc_fw_type_repr(uc_fw->type));
 	else
 		xe_gt_notice(gt, "%s firmware %s: fetch failed with error %pe\n",
 			     xe_uc_fw_type_repr(uc_fw->type), uc_fw->path, ERR_PTR(err));
@@ -954,8 +994,8 @@ void xe_uc_fw_print(struct xe_uc_fw *uc_fw, struct drm_printer *p)
 {
 	int i;
 
-	drm_printf(p, "%s firmware: %s\n",
-		   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
+	drm_printf(p, "%s firmware: %s [wanted %s]\n",
+		   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path, uc_fw->wanted_path);
 	drm_printf(p, "\tstatus: %s\n",
 		   xe_uc_fw_status_repr(uc_fw->status));
 
diff --git a/drivers/gpu/drm/xe/xe_uc_fw_types.h b/drivers/gpu/drm/xe/xe_uc_fw_types.h
index 2ebe8c9db6ce..2faca8e043f0 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw_types.h
+++ b/drivers/gpu/drm/xe/xe_uc_fw_types.h
@@ -98,6 +98,8 @@ struct xe_uc_fw {
 		 */
 		enum xe_uc_fw_status __status;
 	};
+	/** @wanted_path: path to preferred uC firmware */
+	const char *wanted_path;
 	/** @path: path to uC firmware */
 	const char *path;
 	/** @user_overridden: user provided path to uC firmware via modparam */
@@ -129,6 +131,13 @@ struct xe_uc_fw {
 	struct {
 		/** @versions.wanted: firmware version wanted by platform */
 		struct xe_uc_fw_version wanted;
+		/**
+		 * @versions.comparison: firmware version to compare what is
+		 * found in the blob against. This can be different from the
+		 * wanted version if we're falling back to an older firmware
+		 * file.
+		 */
+		struct xe_uc_fw_version comparison;
 		/**
 		 * @versions.wanted_type: type of firmware version wanted
 		 * (release vs compatibility)
-- 
2.53.0


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

* [PATCH v2 3/6] drm/xe/uc: mark HuC and GSC as only available on the media GT
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
  2026-08-26 17:11 ` [PATCH v2 1/6] drm/xe: Define WCL as a PTL subplatform Daniele Ceraolo Spurio
  2026-08-26 17:11 ` [PATCH v2 2/6] drm/xe/uc: Add FW file fallback support Daniele Ceraolo Spurio
@ 2026-08-26 17:11 ` Daniele Ceraolo Spurio
  2026-08-28  4:55   ` Teres Alexis, Alan Previn
  2026-08-26 17:11 ` [PATCH v2 4/6] drm/xe/uc: Support fetching different FW files per-subplatform Daniele Ceraolo Spurio
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 16+ messages in thread
From: Daniele Ceraolo Spurio @ 2026-08-26 17:11 UTC (permalink / raw)
  To: intel-xe; +Cc: Daniele Ceraolo Spurio, Alan Previn, Julia Filipchuk

This is mainly needed to make things simpler for a follow-up patch, but
it also allows us to drop gt-type checks during GSC and HuC init,
because uc_fw_init will now return "not supported" on the primary GT.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Julia Filipchuk <julia.filipchuk@intel.com>
---
 drivers/gpu/drm/xe/xe_gsc.c   |  7 -------
 drivers/gpu/drm/xe/xe_huc.c   | 11 -----------
 drivers/gpu/drm/xe/xe_uc_fw.c | 14 +++++++-------
 3 files changed, 7 insertions(+), 25 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
index 524ac56bdcc7..a8834735cdcd 100644
--- a/drivers/gpu/drm/xe/xe_gsc.c
+++ b/drivers/gpu/drm/xe/xe_gsc.c
@@ -400,19 +400,12 @@ void xe_gsc_hwe_irq_handler(struct xe_hw_engine *hwe, u16 intr_vec)
 int xe_gsc_init(struct xe_gsc *gsc)
 {
 	struct xe_gt *gt = gsc_to_gt(gsc);
-	struct xe_tile *tile = gt_to_tile(gt);
 	int ret;
 
 	gsc->fw.type = XE_UC_FW_TYPE_GSC;
 	INIT_WORK(&gsc->work, gsc_work);
 	spin_lock_init(&gsc->lock);
 
-	/* The GSC uC is only available on the media GT */
-	if (tile->media_gt && (gt != tile->media_gt)) {
-		xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_NOT_SUPPORTED);
-		return 0;
-	}
-
 	/*
 	 * Starting from BMG the GSC is no longer needed for MC6 entry, so the
 	 * only missing features if the FW is lacking would be the content
diff --git a/drivers/gpu/drm/xe/xe_huc.c b/drivers/gpu/drm/xe/xe_huc.c
index 57afe21444b1..182b1065509e 100644
--- a/drivers/gpu/drm/xe/xe_huc.c
+++ b/drivers/gpu/drm/xe/xe_huc.c
@@ -70,17 +70,6 @@ int xe_huc_init(struct xe_huc *huc)
 
 	huc->fw.type = XE_UC_FW_TYPE_HUC;
 
-	/*
-	 * The HuC is only available on the media GT on most platforms.  The
-	 * exception to that rule are the old Xe1 platforms where there was
-	 * no separate GT for media IP, so the HuC was part of the primary
-	 * GT.  Such platforms have graphics versions 12.55 and earlier.
-	 */
-	if (!xe_gt_is_media_type(gt) && GRAPHICS_VERx100(xe) > 1255) {
-		xe_uc_fw_change_status(&huc->fw, XE_UC_FIRMWARE_NOT_SUPPORTED);
-		return 0;
-	}
-
 	ret = xe_uc_fw_init(&huc->fw);
 	if (ret)
 		goto out;
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index f918135cc96f..3a74acfaf2c7 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -133,10 +133,10 @@ struct fw_blobs_by_type {
 	fw_def(TIGERLAKE,	GT_TYPE_ANY,	major_ver(i915,	guc,	tgl,	70, 44, 1))
 
 #define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver)		\
-	fw_def(PANTHERLAKE,	GT_TYPE_ANY,	no_ver(xe,	huc,		ptl))		\
-	fw_def(BATTLEMAGE,	GT_TYPE_ANY,	no_ver(xe,	huc,		bmg))		\
-	fw_def(LUNARLAKE,	GT_TYPE_ANY,	no_ver(xe,	huc,		lnl))		\
-	fw_def(METEORLAKE,	GT_TYPE_ANY,	no_ver(i915,	huc_gsc,	mtl))		\
+	fw_def(PANTHERLAKE,	GT_TYPE_MEDIA,	no_ver(xe,	huc,		ptl))		\
+	fw_def(BATTLEMAGE,	GT_TYPE_MEDIA,	no_ver(xe,	huc,		bmg))		\
+	fw_def(LUNARLAKE,	GT_TYPE_MEDIA,	no_ver(xe,	huc,		lnl))		\
+	fw_def(METEORLAKE,	GT_TYPE_MEDIA,	no_ver(i915,	huc_gsc,	mtl))		\
 	fw_def(DG1,		GT_TYPE_ANY,	no_ver(i915,	huc,		dg1))		\
 	fw_def(ALDERLAKE_P,	GT_TYPE_ANY,	no_ver(i915,	huc,		tgl))		\
 	fw_def(ALDERLAKE_S,	GT_TYPE_ANY,	no_ver(i915,	huc,		tgl))		\
@@ -145,9 +145,9 @@ struct fw_blobs_by_type {
 
 /* for the GSC FW we match the compatibility version and not the release one */
 #define XE_GSC_FIRMWARE_DEFS(fw_def, major_ver)		\
-	fw_def(PANTHERLAKE,	GT_TYPE_ANY,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
-	fw_def(LUNARLAKE,	GT_TYPE_ANY,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
-	fw_def(METEORLAKE,	GT_TYPE_ANY,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
+	fw_def(PANTHERLAKE,	GT_TYPE_MEDIA,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
+	fw_def(LUNARLAKE,	GT_TYPE_MEDIA,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
+	fw_def(METEORLAKE,	GT_TYPE_MEDIA,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
 
 #define MAKE_FW_PATH(dir__, uc__, shortname__, version__)			\
 	__stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"
-- 
2.53.0


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

* [PATCH v2 4/6] drm/xe/uc: Support fetching different FW files per-subplatform
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
                   ` (2 preceding siblings ...)
  2026-08-26 17:11 ` [PATCH v2 3/6] drm/xe/uc: mark HuC and GSC as only available on the media GT Daniele Ceraolo Spurio
@ 2026-08-26 17:11 ` Daniele Ceraolo Spurio
  2026-08-28  4:58   ` Teres Alexis, Alan Previn
  2026-08-26 17:11 ` [PATCH v2 5/6] DO NOT MERGE: drm/xe/gsc: define GSC for WCL Daniele Ceraolo Spurio
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 16+ messages in thread
From: Daniele Ceraolo Spurio @ 2026-08-26 17:11 UTC (permalink / raw)
  To: intel-xe; +Cc: Daniele Ceraolo Spurio, Alan Previn, Julia Filipchuk

WCL is a PTL subplatform with a different GSC FW, so we need to be able
to differentiate between the 2 platforms at fetch time.
For now we only support a FW being used on either a specific subplatform
or all of them since that's the only use-case we have, but we can extend
this in the future if needed.
Only the GSC macros have been modified for now to accept a subplatform
parameter.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Julia Filipchuk <julia.filipchuk@intel.com>
---
 drivers/gpu/drm/xe/xe_uc_fw.c | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 3a74acfaf2c7..12fbc25dc6b8 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -93,6 +93,7 @@
 
 struct uc_fw_entry {
 	enum xe_platform platform;
+	enum xe_subplatform subplatform;
 	enum xe_gt_type gt_type;
 
 	struct {
@@ -113,6 +114,7 @@ struct fw_blobs_by_type {
  * Add an "ANY" define just to convey the meaning it's given here.
  */
 #define XE_GT_TYPE_ANY XE_GT_TYPE_UNINITIALIZED
+#define XE_SUBPLATFORM_ANY XE_SUBPLATFORM_UNINITIALIZED
 
 #define XE_GUC_FIRMWARE_DEFS(fw_def, mmp_ver, major_ver)					\
 	fw_def(NOVALAKE_P,	GT_TYPE_MAIN,	mmp_ver(xe,	guc,	nvlpg,	70, 70, 0))	\
@@ -145,9 +147,9 @@ struct fw_blobs_by_type {
 
 /* for the GSC FW we match the compatibility version and not the release one */
 #define XE_GSC_FIRMWARE_DEFS(fw_def, major_ver)		\
-	fw_def(PANTHERLAKE,	GT_TYPE_MEDIA,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
-	fw_def(LUNARLAKE,	GT_TYPE_MEDIA,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
-	fw_def(METEORLAKE,	GT_TYPE_MEDIA,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
+	fw_def(PANTHERLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
+	fw_def(LUNARLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
+	fw_def(METEORLAKE,	SUBPLATFORM_ANY,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
 
 #define MAKE_FW_PATH(dir__, uc__, shortname__, version__)			\
 	__stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"
@@ -181,10 +183,19 @@ struct fw_blobs_by_type {
 #define XE_UC_FW_ENTRY(platform__, gt_type__, entry__)				\
 	{									\
 		.platform = XE_ ## platform__,					\
+		.subplatform = XE_SUBPLATFORM_ANY,				\
 		.gt_type = XE_ ## gt_type__,					\
 		entry__,							\
 	},
 
+#define XE_GSC_FW_ENTRY(platform__, subplatform__, entry__)			\
+	{									\
+		.platform = XE_ ## platform__,					\
+		.subplatform = XE_ ## subplatform__,				\
+		.gt_type = XE_GT_TYPE_MEDIA,					\
+		entry__,							\
+	},
+
 XE_GUC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE,
 		     fw_filename_mmp_ver, fw_filename_major_ver)
 XE_HUC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE,
@@ -243,7 +254,7 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 				     uc_fw_entry_no_ver)
 	};
 	static const struct uc_fw_entry entries_gsc[] = {
-		XE_GSC_FIRMWARE_DEFS(XE_UC_FW_ENTRY, uc_fw_entry_gsc)
+		XE_GSC_FIRMWARE_DEFS(XE_GSC_FW_ENTRY, uc_fw_entry_gsc)
 	};
 	static const struct fw_blobs_by_type blobs_all[XE_UC_FW_NUM_TYPES] = {
 		[XE_UC_FW_TYPE_GUC] = { entries_guc, ARRAY_SIZE(entries_guc) },
@@ -266,6 +277,10 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 		if (p != entries[i].platform)
 			continue;
 
+		if (entries[i].subplatform != XE_SUBPLATFORM_ANY &&
+		    entries[i].subplatform != xe->info.subplatform)
+			continue;
+
 		if (entries[i].gt_type != XE_GT_TYPE_ANY &&
 		    entries[i].gt_type != gt->info.type)
 			continue;
-- 
2.53.0


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

* [PATCH v2 5/6] DO NOT MERGE: drm/xe/gsc: define GSC for WCL
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
                   ` (3 preceding siblings ...)
  2026-08-26 17:11 ` [PATCH v2 4/6] drm/xe/uc: Support fetching different FW files per-subplatform Daniele Ceraolo Spurio
@ 2026-08-26 17:11 ` Daniele Ceraolo Spurio
  2026-08-28  3:55   ` Teres Alexis, Alan Previn
  2026-08-26 17:11 ` [PATCH v2 6/6] DO NOT MERGE: drm/xe/guc: add a mock newer GuC file for LNL Daniele Ceraolo Spurio
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 16+ messages in thread
From: Daniele Ceraolo Spurio @ 2026-08-26 17:11 UTC (permalink / raw)
  To: intel-xe; +Cc: Daniele Ceraolo Spurio

This patch is just to show how the separate WCL definition would look.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
 drivers/gpu/drm/xe/xe_uc_fw.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 12fbc25dc6b8..dc4e268f1379 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -147,6 +147,7 @@ struct fw_blobs_by_type {
 
 /* for the GSC FW we match the compatibility version and not the release one */
 #define XE_GSC_FIRMWARE_DEFS(fw_def, major_ver)		\
+	fw_def(PANTHERLAKE,	SUBPLATFORM_WILDCATLAKE,major_ver(xe,	gsc,	wcl,	105, 1, 0))	\
 	fw_def(PANTHERLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
 	fw_def(LUNARLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
 	fw_def(METEORLAKE,	SUBPLATFORM_ANY,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
-- 
2.53.0


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

* [PATCH v2 6/6] DO NOT MERGE: drm/xe/guc: add a mock newer GuC file for LNL
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
                   ` (4 preceding siblings ...)
  2026-08-26 17:11 ` [PATCH v2 5/6] DO NOT MERGE: drm/xe/gsc: define GSC for WCL Daniele Ceraolo Spurio
@ 2026-08-26 17:11 ` Daniele Ceraolo Spurio
  2026-08-26 17:18 ` ✗ CI.checkpatch: warning for Prepare for WCL GSC FW (rev2) Patchwork
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Daniele Ceraolo Spurio @ 2026-08-26 17:11 UTC (permalink / raw)
  To: intel-xe; +Cc: Daniele Ceraolo Spurio

This is for testing only, to have CI do a full run when FW fall-back
happens.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
 drivers/gpu/drm/xe/xe_uc_fw.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index dc4e268f1379..989c298b51c2 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -123,6 +123,7 @@ struct fw_blobs_by_type {
 	fw_def(NOVALAKE_S,	GT_TYPE_ANY,	major_ver(xe,	guc,	nvl,	70, 71, 0))	\
 	fw_def(PANTHERLAKE,	GT_TYPE_ANY,	major_ver(xe,	guc,	ptl,	70, 54, 0))	\
 	fw_def(BATTLEMAGE,	GT_TYPE_ANY,	major_ver(xe,	guc,	bmg,	70, 54, 0))	\
+	fw_def(LUNARLAKE,	GT_TYPE_ANY,	major_ver(xe,	guc,	lnl,	99, 99, 0))	\
 	fw_def(LUNARLAKE,	GT_TYPE_ANY,	major_ver(xe,	guc,	lnl,	70, 53, 0))	\
 	fw_def(METEORLAKE,	GT_TYPE_ANY,	major_ver(i915,	guc,	mtl,	70, 53, 0))	\
 	fw_def(PVC,		GT_TYPE_ANY,	mmp_ver(xe,	guc,	pvc,	70, 44, 1))	\
-- 
2.53.0


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

* ✗ CI.checkpatch: warning for Prepare for WCL GSC FW (rev2)
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
                   ` (5 preceding siblings ...)
  2026-08-26 17:11 ` [PATCH v2 6/6] DO NOT MERGE: drm/xe/guc: add a mock newer GuC file for LNL Daniele Ceraolo Spurio
@ 2026-08-26 17:18 ` Patchwork
  2026-08-26 17:19 ` ✓ CI.KUnit: success " Patchwork
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-08-26 17:18 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

== Series Details ==

Series: Prepare for WCL GSC FW (rev2)
URL   : https://patchwork.freedesktop.org/series/172761/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
061140b9bc586ae7f40abc1249c97e1cc72d1b9d
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit f2b09ec582fb0d2f7534d81d88dbf5f035bef831
Author: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Date:   Wed Aug 26 17:11:49 2026 +0000

    DO NOT MERGE: drm/xe/guc: add a mock newer GuC file for LNL
    
    This is for testing only, to have CI do a full run when FW fall-back
    happens.
    
    Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
+ /mt/dim checkpatch 4a47d4b5bf957bd7e34d8d3ab7096c42161892c6 drm-intel
ef46d7612fad drm/xe: Define WCL as a PTL subplatform
11edd1178ba3 drm/xe/uc: Add FW file fallback support
-:76: CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "uc_fw->path"
#76: FILE: drivers/gpu/drm/xe/xe_uc_fw.c:306:
+	return uc_fw->path != NULL;

total: 0 errors, 0 warnings, 1 checks, 149 lines checked
aa852b17e05c drm/xe/uc: mark HuC and GSC as only available on the media GT
574ead1d80b1 drm/xe/uc: Support fetching different FW files per-subplatform
-:46: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#46: FILE: drivers/gpu/drm/xe/xe_uc_fw.c:150:
+	fw_def(PANTHERLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\

-:47: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#47: FILE: drivers/gpu/drm/xe/xe_uc_fw.c:151:
+	fw_def(LUNARLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\

total: 0 errors, 2 warnings, 0 checks, 63 lines checked
19b2bcab8c2d DO NOT MERGE: drm/xe/gsc: define GSC for WCL
-:18: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#18: FILE: drivers/gpu/drm/xe/xe_uc_fw.c:150:
+	fw_def(PANTHERLAKE,	SUBPLATFORM_WILDCATLAKE,major_ver(xe,	gsc,	wcl,	105, 1, 0))	\

-:18: ERROR:SPACING: space required after that ',' (ctx:VxV)
#18: FILE: drivers/gpu/drm/xe/xe_uc_fw.c:150:
+	fw_def(PANTHERLAKE,	SUBPLATFORM_WILDCATLAKE,major_ver(xe,	gsc,	wcl,	105, 1, 0))	\
 	                   	                       ^

total: 1 errors, 1 warnings, 0 checks, 7 lines checked
f2b09ec582fb DO NOT MERGE: drm/xe/guc: add a mock newer GuC file for LNL



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

* ✓ CI.KUnit: success for Prepare for WCL GSC FW (rev2)
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
                   ` (6 preceding siblings ...)
  2026-08-26 17:18 ` ✗ CI.checkpatch: warning for Prepare for WCL GSC FW (rev2) Patchwork
@ 2026-08-26 17:19 ` Patchwork
  2026-08-26 17:56 ` ✓ Xe.CI.BAT: " Patchwork
  2026-08-26 22:30 ` ✓ Xe.CI.FULL: " Patchwork
  9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-08-26 17:19 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

== Series Details ==

Series: Prepare for WCL GSC FW (rev2)
URL   : https://patchwork.freedesktop.org/series/172761/
State : success

== Summary ==

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

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

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

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[17:19:37] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:19:38] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[17:19:47] Starting KUnit Kernel (1/1)...
[17:19:47] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:19:47] =============== dma-buf-fence (12 subtests) ================
[17:19:47] [PASSED] test_sanitycheck
[17:19:47] [PASSED] test_signaling
[17:19:47] [PASSED] test_add_callback
[17:19:47] [PASSED] test_late_add_callback
[17:19:47] [PASSED] test_rm_callback
[17:19:47] [PASSED] test_late_rm_callback
[17:19:47] [PASSED] test_status
[17:19:47] [PASSED] test_error
[17:19:47] [PASSED] test_wait
[17:19:47] [PASSED] test_wait_timeout
[17:19:47] [PASSED] test_stub
[17:19:47] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[17:19:47] ================== [PASSED] dma-buf-fence ==================
[17:19:47] ============ dma-buf-fence-chain (11 subtests) =============
[17:19:47] [PASSED] test_sanitycheck
[17:19:47] [PASSED] test_find_seqno
[17:19:47] [PASSED] test_find_signaled
[17:19:47] [PASSED] test_find_out_of_order
[17:19:52] [PASSED] test_find_gap
[17:19:52] [PASSED] test_find_race
[17:19:52] [PASSED] test_signal_forward
[17:19:52] [PASSED] test_signal_backward
[17:19:52] [PASSED] test_wait_forward
[17:19:52] [PASSED] test_wait_backward
[17:19:52] [PASSED] test_wait_random
[17:19:52] =============== [PASSED] dma-buf-fence-chain ===============
[17:19:52] ============ dma-buf-fence-unwrap (10 subtests) ============
[17:19:52] [PASSED] test_sanitycheck
[17:19:52] [PASSED] test_unwrap_array
[17:19:52] [PASSED] test_unwrap_chain
[17:19:52] [PASSED] test_unwrap_chain_array
[17:19:52] [PASSED] test_unwrap_merge
[17:19:52] [PASSED] test_unwrap_merge_duplicate
[17:19:52] [PASSED] test_unwrap_merge_seqno
[17:19:52] [PASSED] test_unwrap_merge_order
[17:19:52] [PASSED] test_unwrap_merge_complex
[17:19:52] [PASSED] test_unwrap_merge_complex_seqno
[17:19:52] ============== [PASSED] dma-buf-fence-unwrap ===============
[17:19:52] ================ dma-buf-resv (5 subtests) =================
[17:19:52] [PASSED] test_sanitycheck
[17:19:52] ===================== test_signaling  ======================
[17:19:52] [PASSED] kernel
[17:19:52] [PASSED] write
[17:19:52] [PASSED] read
[17:19:52] [PASSED] bookkeep
[17:19:52] ================= [PASSED] test_signaling ==================
[17:19:52] ====================== test_for_each  ======================
[17:19:52] [PASSED] kernel
[17:19:52] [PASSED] write
[17:19:52] [PASSED] read
[17:19:52] [PASSED] bookkeep
[17:19:52] ================== [PASSED] test_for_each ==================
[17:19:52] ================= test_for_each_unlocked  ==================
[17:19:52] [PASSED] kernel
[17:19:52] [PASSED] write
[17:19:52] [PASSED] read
[17:19:52] [PASSED] bookkeep
[17:19:52] ============= [PASSED] test_for_each_unlocked ==============
[17:19:52] ===================== test_get_fences  =====================
[17:19:52] [PASSED] kernel
[17:19:52] [PASSED] write
[17:19:52] [PASSED] read
[17:19:52] [PASSED] bookkeep
[17:19:52] ================= [PASSED] test_get_fences =================
[17:19:52] ================== [PASSED] dma-buf-resv ===================
[17:19:52] ============================================================
[17:19:52] Testing complete. Ran 50 tests: passed: 49, skipped: 1
[17:19:52] Elapsed time: 15.712s total, 1.822s configuring, 8.568s building, 5.279s running

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



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

* ✓ Xe.CI.BAT: success for Prepare for WCL GSC FW (rev2)
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
                   ` (7 preceding siblings ...)
  2026-08-26 17:19 ` ✓ CI.KUnit: success " Patchwork
@ 2026-08-26 17:56 ` Patchwork
  2026-08-26 22:30 ` ✓ Xe.CI.FULL: " Patchwork
  9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-08-26 17:56 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

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

== Series Details ==

Series: Prepare for WCL GSC FW (rev2)
URL   : https://patchwork.freedesktop.org/series/172761/
State : success

== Summary ==

CI Bug Log - changes from xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6_BAT -> xe-pw-172761v2_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (13 -> 13)
------------------------------

  No changes in participating hosts


Changes
-------

  No changes found


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

  * Linux: xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6 -> xe-pw-172761v2

  IGT_9076: 8f42b0189d73d9912ad58c99cfaa4ff46c20fcc3 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6: 4a47d4b5bf957bd7e34d8d3ab7096c42161892c6
  xe-pw-172761v2: 172761v2

== Logs ==

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

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

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

* ✓ Xe.CI.FULL: success for Prepare for WCL GSC FW (rev2)
  2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
                   ` (8 preceding siblings ...)
  2026-08-26 17:56 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-08-26 22:30 ` Patchwork
  9 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-08-26 22:30 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

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

== Series Details ==

Series: Prepare for WCL GSC FW (rev2)
URL   : https://patchwork.freedesktop.org/series/172761/
State : success

== Summary ==

CI Bug Log - changes from xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6_FULL -> xe-pw-172761v2_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

New tests
---------

  New tests have been introduced between xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6_FULL and xe-pw-172761v2_FULL:

### New IGT tests (43) ###

  * igt@kms_flip@blocking-wf_vblank@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.43] s

  * igt@kms_flip@blocking-wf_vblank@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.40] s

  * igt@kms_flip@blocking-wf_vblank@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.42] s

  * igt@kms_flip@bo-too-big@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.28] s

  * igt@kms_flip@bo-too-big@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.28] s

  * igt@kms_flip@bo-too-big@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.29] s

  * igt@kms_flip@busy-flip@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.77] s

  * igt@kms_flip@busy-flip@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.74] s

  * igt@kms_flip@busy-flip@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.76] s

  * igt@kms_flip@dpms-off-confusion@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.06] s

  * igt@kms_flip@dpms-off-confusion@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.06] s

  * igt@kms_flip@dpms-off-confusion@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.04] s

  * igt@kms_flip@dpms-vs-vblank-race-interruptible@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [1.82] s

  * igt@kms_flip@dpms-vs-vblank-race-interruptible@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [1.83] s

  * igt@kms_flip@dpms-vs-vblank-race-interruptible@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [1.85] s

  * igt@kms_flip@flip-vs-dpms-off-vs-modeset-interruptible@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.82] s

  * igt@kms_flip@flip-vs-dpms-off-vs-modeset-interruptible@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.68] s

  * igt@kms_flip@flip-vs-dpms-off-vs-modeset-interruptible@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.81] s

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.02] s

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.01] s

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.03] s

  * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.04] s

  * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.05] s

  * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.03] s

  * igt@kms_flip@flip-vs-modeset-vs-hang@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.79] s

  * igt@kms_flip@plain-flip-interruptible@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.79] s

  * igt@kms_flip@plain-flip-interruptible@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.78] s

  * igt@kms_flip@plain-flip-interruptible@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.81] s

  * igt@kms_flip@plain-flip-ts-check-interruptible@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.33] s

  * igt@kms_flip@plain-flip-ts-check-interruptible@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.32] s

  * igt@kms_flip@plain-flip-ts-check-interruptible@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.32] s

  * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.72] s

  * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.73] s

  * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.73] s

  * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.75] s

  * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.74] s

  * igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [0.77] s

  * igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.39] s

  * igt@kms_flip@wf_vblank-ts-check-interruptible@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.40] s

  * igt@kms_flip@wf_vblank-ts-check-interruptible@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.38] s

  * igt@kms_flip@wf_vblank-ts-check@a-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.42] s

  * igt@kms_flip@wf_vblank-ts-check@b-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.41] s

  * igt@kms_flip@wf_vblank-ts-check@c-hdmi-a3:
    - Statuses : 1 pass(s)
    - Exec time: [4.42] s

  

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

  Here are the changes found in xe-pw-172761v2_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@pan:
    - shard-bmg:          [PASS][1] -> [FAIL][2] ([Intel XE#2488])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-bmg-7/igt@fbdev@pan.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-1/igt@fbdev@pan.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][3] ([Intel XE#2327])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
    - shard-bmg:          NOTRUN -> [SKIP][4] ([Intel XE#1124])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html

  * igt@kms_bw@linear-tiling-1-displays-target-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][5] ([Intel XE#367])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_bw@linear-tiling-1-displays-target-3840x2160p.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#2887]) +1 other test skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [PASS][7] -> [INCOMPLETE][8] ([Intel XE#7084] / [Intel XE#8150]) +1 other test incomplete
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-bmg-9/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

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

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

  * igt@kms_cursor_crc@cursor-offscreen-256x85:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#2320])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_cursor_crc@cursor-offscreen-256x85.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
    - shard-lnl:          [PASS][12] -> [FAIL][13] ([Intel XE#301]) +1 other test fail
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling:
    - shard-bmg:          NOTRUN -> [SKIP][14] ([Intel XE#7178] / [Intel XE#7351])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][15] ([Intel XE#4141])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-modesetfrombusy:
    - shard-bmg:          NOTRUN -> [SKIP][16] ([Intel XE#2311]) +5 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-modesetfrombusy.html

  * igt@kms_frontbuffer_tracking@hdr-argb161616f-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#7061])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_frontbuffer_tracking@hdr-argb161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2313]) +4 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#1489])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html

  * igt@kms_psr@fbc-pr-cursor-plane-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#2234] / [Intel XE#2850]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_psr@fbc-pr-cursor-plane-onoff.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          NOTRUN -> [FAIL][21] ([Intel XE#1729] / [Intel XE#7424])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2450] / [Intel XE#5857])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@kms_tv_load_detect@load-detect.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          [PASS][23] -> [INCOMPLETE][24] ([Intel XE#6321] / [Intel XE#8355]) +1 other test incomplete
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-bmg-9/igt@xe_evict@evict-mixed-many-threads-small.html
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-1/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#2322] / [Intel XE#7372])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race.html

  * igt@xe_exec_fault_mode@twice-multi-queue-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#8374])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@xe_exec_fault_mode@twice-multi-queue-rebind.html

  * igt@xe_exec_multi_queue@max-queues-close-fd:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#8364]) +2 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@xe_exec_multi_queue@max-queues-close-fd.html

  * igt@xe_exec_reset@gt-stress-reset-mixed-engine-usage:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][28] ([Intel XE#9041])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@xe_exec_reset@gt-stress-reset-mixed-engine-usage.html

  * igt@xe_exec_reset@multi-queue-cat-error:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#8369])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-5/igt@xe_exec_reset@multi-queue-cat-error.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_mmio_probe_early:
    - shard-bmg:          [PASS][30] -> [ABORT][31] ([Intel XE#8007])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-bmg-7/igt@xe_fault_injection@inject-fault-probe-function-xe_mmio_probe_early.html
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-1/igt@xe_fault_injection@inject-fault-probe-function-xe_mmio_probe_early.html

  
#### Possible fixes ####

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [FAIL][32] ([Intel XE#3321]) -> [PASS][33] +1 other test pass
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-bmg-9/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_hdr@invalid-hdr:
    - shard-bmg:          [SKIP][34] ([Intel XE#1503]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-bmg-5/igt@kms_hdr@invalid-hdr.html
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-6/igt@kms_hdr@invalid-hdr.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-lnl:          [FAIL][36] ([Intel XE#8399]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-lnl-2/igt@kms_pm_dc@dc6-dpms.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-lnl-1/igt@kms_pm_dc@dc6-dpms.html

  
#### Warnings ####

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][38] ([Intel XE#3544]) -> [SKIP][39] ([Intel XE#3374] / [Intel XE#3544])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-bmg-4/igt@kms_hdr@brightness-with-hdr.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-7/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][40] ([Intel XE#2426] / [Intel XE#5848]) -> [SKIP][41] ([Intel XE#2509] / [Intel XE#7437])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-bmg-7/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@xe_wedged@basic-wedged:
    - shard-lnl:          [DMESG-WARN][42] ([Intel XE#8963]) -> [ABORT][43] ([Intel XE#8963])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6/shard-lnl-1/igt@xe_wedged@basic-wedged.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-172761v2/shard-lnl-3/igt@xe_wedged@basic-wedged.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [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#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#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2450]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2450
  [Intel XE#2488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2488
  [Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#5857]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5857
  [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
  [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#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
  [Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
  [Intel XE#7449]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7449
  [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#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8399
  [Intel XE#8963]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8963
  [Intel XE#9041]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9041


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

  * Linux: xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6 -> xe-pw-172761v2

  IGT_9076: 8f42b0189d73d9912ad58c99cfaa4ff46c20fcc3 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-5647-4a47d4b5bf957bd7e34d8d3ab7096c42161892c6: 4a47d4b5bf957bd7e34d8d3ab7096c42161892c6
  xe-pw-172761v2: 172761v2

== Logs ==

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

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

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

* Re: [PATCH v2 1/6] drm/xe: Define WCL as a PTL subplatform
  2026-08-26 17:11 ` [PATCH v2 1/6] drm/xe: Define WCL as a PTL subplatform Daniele Ceraolo Spurio
@ 2026-08-28  3:50   ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 16+ messages in thread
From: Teres Alexis, Alan Previn @ 2026-08-28  3:50 UTC (permalink / raw)
  To: intel-xe@lists.freedesktop.org, Ceraolo Spurio, Daniele; +Cc: Roper, Matthew D

Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com>

On Wed, 2026-08-26 at 17:11 +0000, Daniele Ceraolo Spurio wrote:
> WCL will support a different GSC binary than PTL, so we need to be able
> to distinguish the two platforms.
> 
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_pci.c            | 6 ++++++
>  drivers/gpu/drm/xe/xe_platform_types.h | 1 +
>  2 files changed, 7 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index ab4da1d9a9f1..0b2e91150c6d 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -437,6 +437,8 @@ static const struct xe_device_desc bmg_desc = {
>  	.vm_max_level = 4,
>  };
>  
> +static const u16 wcl_ids[] = { INTEL_WCL_IDS(NOP), 0 };
> +
>  static const struct xe_device_desc ptl_desc = {
>  	PLATFORM(PANTHERLAKE),
>  	.dma_mask_size = 46,
> @@ -449,6 +451,10 @@ static const struct xe_device_desc ptl_desc = {
>  	MULTI_LRC_MASK,
>  	.needs_scratch = true,
>  	.needs_shared_vf_gt_wq = true,
> +	.subplatforms = (const struct xe_subplatform_desc[]) {
> +		{ XE_SUBPLATFORM_WILDCATLAKE, "WCL", wcl_ids },
> +		{ }
> +	},
>  	.va_bits = 48,
>  	.vm_max_level = 4,
>  };
> diff --git a/drivers/gpu/drm/xe/xe_platform_types.h b/drivers/gpu/drm/xe/xe_platform_types.h
> index 3447848b74e3..9399198278a0 100644
> --- a/drivers/gpu/drm/xe/xe_platform_types.h
> +++ b/drivers/gpu/drm/xe/xe_platform_types.h
> @@ -38,6 +38,7 @@ enum xe_subplatform {
>  	XE_SUBPLATFORM_DG2_G11,
>  	XE_SUBPLATFORM_DG2_G12,
>  	XE_SUBPLATFORM_BATTLEMAGE_G21,
> +	XE_SUBPLATFORM_WILDCATLAKE,
>  };
>  
>  #endif


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

* Re: [PATCH v2 5/6] DO NOT MERGE: drm/xe/gsc: define GSC for WCL
  2026-08-26 17:11 ` [PATCH v2 5/6] DO NOT MERGE: drm/xe/gsc: define GSC for WCL Daniele Ceraolo Spurio
@ 2026-08-28  3:55   ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 16+ messages in thread
From: Teres Alexis, Alan Previn @ 2026-08-28  3:55 UTC (permalink / raw)
  To: intel-xe@lists.freedesktop.org, Ceraolo Spurio, Daniele

Since this is the preview of what might look like the real patch but cant get merged yet, thus
Acked-by: Alan Previn <alan.previn.teres.alexis@intel.com>


On Wed, 2026-08-26 at 17:11 +0000, Daniele Ceraolo Spurio wrote:
> This patch is just to show how the separate WCL definition would look.
> 
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_uc_fw.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index 12fbc25dc6b8..dc4e268f1379 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -147,6 +147,7 @@ struct fw_blobs_by_type {
>  
>  /* for the GSC FW we match the compatibility version and not the release one */
>  #define XE_GSC_FIRMWARE_DEFS(fw_def, major_ver)		\
> +	fw_def(PANTHERLAKE,	SUBPLATFORM_WILDCATLAKE,major_ver(xe,	gsc,	wcl,	105, 1, 0))	\
>  	fw_def(PANTHERLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
>  	fw_def(LUNARLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
>  	fw_def(METEORLAKE,	SUBPLATFORM_ANY,	major_ver(i915,	gsc,	mtl,	102, 1, 0))


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

* Re: [PATCH v2 2/6] drm/xe/uc: Add FW file fallback support
  2026-08-26 17:11 ` [PATCH v2 2/6] drm/xe/uc: Add FW file fallback support Daniele Ceraolo Spurio
@ 2026-08-28  4:35   ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 16+ messages in thread
From: Teres Alexis, Alan Previn @ 2026-08-28  4:35 UTC (permalink / raw)
  To: intel-xe@lists.freedesktop.org, Ceraolo Spurio, Daniele; +Cc: Filipchuk, Julia

I only had 1 nit: wanted-vs-found convey's intent and result, but comparison doesnt jive ...
I feel like maybe wanted-vs-selected-vs-found but inconsequential anyways. Thus,


Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com>

...alan

On Wed, 2026-08-26 at 17:11 +0000, Daniele Ceraolo Spurio wrote:
> The GSC team is splitting their PTL release to have a dedicated fork for
> WCL. Since we currently ship WCL with the PTL GSC release, we need to
> support both binaries, with a preference for the WCL one.
> To do so, we need support for falling back to an older entry in the
> binary list. This complicates the version tracking a bit, because now we
> have a main wanted version (the one of the newer binary), but also
> minimal versions to check against for the fallback binary; for example,
> if we fell back from GuC v71 to GuC v70, the wanted version would be
> v71 but the one we want to compare against for the fall-back binary is
> v70. To track both of those, a new "comparison" version has been added,
> which is used just to check against what's in the fetched binary.
> 
> Assisted-by: GitHub-Copilot:claude-sonnet-5
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
> Cc: Julia Filipchuk <julia.filipchuk@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_uc_fw.c       | 68 +++++++++++++++++++++++------
>  drivers/gpu/drm/xe/xe_uc_fw_types.h |  9 ++++
>  2 files changed, 63 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index e29878b255ba..f918135cc96f 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -229,7 +229,7 @@ void xe_uc_fw_change_status(struct xe_uc_fw *uc_fw, enum xe_uc_fw_status status)
>  }
>  #endif
>  
> -static void
> +static bool
>  uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
>  {
>  	static const struct uc_fw_entry entries_guc[] = {
> @@ -270,12 +270,31 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
>  		    entries[i].gt_type != gt->info.type)
>  			continue;
>  
> +		if (uc_fw->path) {
> +			/*
> +			 * Continuing an earlier search after a found blob
> +			 * failed to load. Once the previously chosen path has
> +			 * been found, clear it out and let the search continue
> +			 * from there.
> +			 */
> +			if (uc_fw->path == entries[i].path)
> +				uc_fw->path = NULL;
> +			continue;
> +		}
> +
>  		uc_fw->path = entries[i].path;
> -		uc_fw->versions.wanted.major = entries[i].major;
> -		uc_fw->versions.wanted.minor = entries[i].minor;
> -		uc_fw->versions.wanted.patch = entries[i].patch;
> +		uc_fw->versions.comparison.major = entries[i].major;
> +		uc_fw->versions.comparison.minor = entries[i].minor;
> +		uc_fw->versions.comparison.patch = entries[i].patch;
>  		uc_fw->full_ver_required = entries[i].full_ver_required;
>  
> +		if (!uc_fw->wanted_path) {
> +			uc_fw->wanted_path = uc_fw->path;
> +			uc_fw->versions.wanted.major = entries[i].major;
> +			uc_fw->versions.wanted.minor = entries[i].minor;
> +			uc_fw->versions.wanted.patch = entries[i].patch;
> +		}
> +
>  		if (uc_fw->type == XE_UC_FW_TYPE_GSC)
>  			uc_fw->versions.wanted_type = XE_UC_FW_VER_COMPATIBILITY;
>  		else
> @@ -283,6 +302,8 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
>  
>  		break;
>  	}
> +
> +	return uc_fw->path != NULL;
>  }
>  
>  static void
> @@ -373,13 +394,21 @@ static int guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_guc_info *guc
>  int xe_uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
>  {
>  	struct xe_device *xe = uc_fw_to_xe(uc_fw);
> -	struct xe_uc_fw_version *wanted = &uc_fw->versions.wanted;
> +	struct xe_uc_fw_version *wanted = &uc_fw->versions.comparison;
>  	struct xe_uc_fw_version *found = &uc_fw->versions.found[uc_fw->versions.wanted_type];
> +	bool need_update = false;
>  
>  	/* Driver has no requirement on any version, any is good. */
>  	if (!wanted->major)
>  		return 0;
>  
> +	if (uc_fw->wanted_path != uc_fw->path) {
> +		drm_notice(&xe->drm,
> +			   "%s firmware: using fallback path %s instead of the recommended %s\n",
> +			   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path, uc_fw->wanted_path);
> +		need_update = true;
> +	}
> +
>  	/*
>  	 * If full version is required, both major and minor should match.
>  	 * Otherwise, at least the major version.
> @@ -397,14 +426,16 @@ int xe_uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
>  
>  	if (wanted->minor > found->minor ||
>  	    (wanted->minor == found->minor && wanted->patch > found->patch)) {
> -		drm_notice(&xe->drm, "%s firmware (%u.%u.%u) is recommended, but only (%u.%u.%u) was found in %s\n",
> +		drm_notice(&xe->drm, "%s firmware (%u.%u.%u) is recommended for %s, but only (%u.%u.%u) was found\n",
>  			   xe_uc_fw_type_repr(uc_fw->type),
> -			   wanted->major, wanted->minor, wanted->patch,
> -			   found->major, found->minor, found->patch,
> -			   uc_fw->path);
> +			   wanted->major, wanted->minor, wanted->patch, uc_fw->path,
> +			   found->major, found->minor, found->patch);
> +		need_update = true;
> +	}
> +
> +	if (need_update)
>  		drm_info(&xe->drm, "Consider updating your linux-firmware pkg or downloading from %s\n",
>  			 XE_UC_FIRMWARE_URL);
> -	}
>  
>  	return 0;
>  
> @@ -756,6 +787,15 @@ static int uc_fw_request(struct xe_uc_fw *uc_fw, const struct firmware **firmwar
>  	}
>  
>  	err = firmware_request_nowarn(&fw, uc_fw->path, dev);
> +	if (err && (err != -ENOENT || uc_fw->user_overridden))
> +		goto fail;
> +
> +	/* if the selected blob isn't found, keep trying other matching entries in the table */
> +	while (err == -ENOENT && uc_fw_auto_select(xe, uc_fw)) {
> +		xe_gt_dbg(gt, "Trying %s fallback firmware entry: %s\n",
> +			  xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
> +		err = firmware_request_nowarn(&fw, uc_fw->path, dev);
> +	}
>  	if (err)
>  		goto fail;
>  
> @@ -785,8 +825,8 @@ static int uc_fw_request(struct xe_uc_fw *uc_fw, const struct firmware **firmwar
>  			       XE_UC_FIRMWARE_ERROR);
>  
>  	if (err == -ENOENT)
> -		xe_gt_info(gt, "%s firmware %s not found\n",
> -			   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
> +		xe_gt_info(gt, "%s firmware not found\n",
> +			   xe_uc_fw_type_repr(uc_fw->type));
>  	else
>  		xe_gt_notice(gt, "%s firmware %s: fetch failed with error %pe\n",
>  			     xe_uc_fw_type_repr(uc_fw->type), uc_fw->path, ERR_PTR(err));
> @@ -954,8 +994,8 @@ void xe_uc_fw_print(struct xe_uc_fw *uc_fw, struct drm_printer *p)
>  {
>  	int i;
>  
> -	drm_printf(p, "%s firmware: %s\n",
> -		   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
> +	drm_printf(p, "%s firmware: %s [wanted %s]\n",
> +		   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path, uc_fw->wanted_path);
>  	drm_printf(p, "\tstatus: %s\n",
>  		   xe_uc_fw_status_repr(uc_fw->status));
>  
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw_types.h b/drivers/gpu/drm/xe/xe_uc_fw_types.h
> index 2ebe8c9db6ce..2faca8e043f0 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw_types.h
> +++ b/drivers/gpu/drm/xe/xe_uc_fw_types.h
> @@ -98,6 +98,8 @@ struct xe_uc_fw {
>  		 */
>  		enum xe_uc_fw_status __status;
>  	};
> +	/** @wanted_path: path to preferred uC firmware */
> +	const char *wanted_path;
>  	/** @path: path to uC firmware */
>  	const char *path;
>  	/** @user_overridden: user provided path to uC firmware via modparam */
> @@ -129,6 +131,13 @@ struct xe_uc_fw {
>  	struct {
>  		/** @versions.wanted: firmware version wanted by platform */
>  		struct xe_uc_fw_version wanted;
> +		/**
> +		 * @versions.comparison: firmware version to compare what is
> +		 * found in the blob against. This can be different from the
> +		 * wanted version if we're falling back to an older firmware
> +		 * file.
> +		 */
> +		struct xe_uc_fw_version comparison;
>  		/**
>  		 * @versions.wanted_type: type of firmware version wanted
>  		 * (release vs compatibility)


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

* Re: [PATCH v2 3/6] drm/xe/uc: mark HuC and GSC as only available on the media GT
  2026-08-26 17:11 ` [PATCH v2 3/6] drm/xe/uc: mark HuC and GSC as only available on the media GT Daniele Ceraolo Spurio
@ 2026-08-28  4:55   ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 16+ messages in thread
From: Teres Alexis, Alan Previn @ 2026-08-28  4:55 UTC (permalink / raw)
  To: intel-xe@lists.freedesktop.org, Ceraolo Spurio, Daniele; +Cc: Filipchuk, Julia

I see that the checks being removed will now happen within uc_fw_request
(along with other uc-type vs hw-attribute checks and new one coming in next patch).
Thus, I feel this change welcomed even without the WCL change.

Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com>

...alan


On Wed, 2026-08-26 at 17:11 +0000, Daniele Ceraolo Spurio wrote:
> This is mainly needed to make things simpler for a follow-up patch, but
> it also allows us to drop gt-type checks during GSC and HuC init,
> because uc_fw_init will now return "not supported" on the primary GT.
> 
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
> Cc: Julia Filipchuk <julia.filipchuk@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gsc.c   |  7 -------
>  drivers/gpu/drm/xe/xe_huc.c   | 11 -----------
>  drivers/gpu/drm/xe/xe_uc_fw.c | 14 +++++++-------
>  3 files changed, 7 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
> index 524ac56bdcc7..a8834735cdcd 100644
> --- a/drivers/gpu/drm/xe/xe_gsc.c
> +++ b/drivers/gpu/drm/xe/xe_gsc.c
> @@ -400,19 +400,12 @@ void xe_gsc_hwe_irq_handler(struct xe_hw_engine *hwe, u16 intr_vec)
>  int xe_gsc_init(struct xe_gsc *gsc)
>  {
>  	struct xe_gt *gt = gsc_to_gt(gsc);
> -	struct xe_tile *tile = gt_to_tile(gt);
>  	int ret;
>  
>  	gsc->fw.type = XE_UC_FW_TYPE_GSC;
>  	INIT_WORK(&gsc->work, gsc_work);
>  	spin_lock_init(&gsc->lock);
>  
> -	/* The GSC uC is only available on the media GT */
> -	if (tile->media_gt && (gt != tile->media_gt)) {
> -		xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_NOT_SUPPORTED);
> -		return 0;
> -	}
> -
>  	/*
>  	 * Starting from BMG the GSC is no longer needed for MC6 entry, so the
>  	 * only missing features if the FW is lacking would be the content
> diff --git a/drivers/gpu/drm/xe/xe_huc.c b/drivers/gpu/drm/xe/xe_huc.c
> index 57afe21444b1..182b1065509e 100644
> --- a/drivers/gpu/drm/xe/xe_huc.c
> +++ b/drivers/gpu/drm/xe/xe_huc.c
> @@ -70,17 +70,6 @@ int xe_huc_init(struct xe_huc *huc)
>  
>  	huc->fw.type = XE_UC_FW_TYPE_HUC;
>  
> -	/*
> -	 * The HuC is only available on the media GT on most platforms.  The
> -	 * exception to that rule are the old Xe1 platforms where there was
> -	 * no separate GT for media IP, so the HuC was part of the primary
> -	 * GT.  Such platforms have graphics versions 12.55 and earlier.
> -	 */
> -	if (!xe_gt_is_media_type(gt) && GRAPHICS_VERx100(xe) > 1255) {
> -		xe_uc_fw_change_status(&huc->fw, XE_UC_FIRMWARE_NOT_SUPPORTED);
> -		return 0;
> -	}
> -
>  	ret = xe_uc_fw_init(&huc->fw);
>  	if (ret)
>  		goto out;
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index f918135cc96f..3a74acfaf2c7 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -133,10 +133,10 @@ struct fw_blobs_by_type {
>  	fw_def(TIGERLAKE,	GT_TYPE_ANY,	major_ver(i915,	guc,	tgl,	70, 44, 1))
>  
>  #define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver)		\
> -	fw_def(PANTHERLAKE,	GT_TYPE_ANY,	no_ver(xe,	huc,		ptl))		\
> -	fw_def(BATTLEMAGE,	GT_TYPE_ANY,	no_ver(xe,	huc,		bmg))		\
> -	fw_def(LUNARLAKE,	GT_TYPE_ANY,	no_ver(xe,	huc,		lnl))		\
> -	fw_def(METEORLAKE,	GT_TYPE_ANY,	no_ver(i915,	huc_gsc,	mtl))		\
> +	fw_def(PANTHERLAKE,	GT_TYPE_MEDIA,	no_ver(xe,	huc,		ptl))		\
> +	fw_def(BATTLEMAGE,	GT_TYPE_MEDIA,	no_ver(xe,	huc,		bmg))		\
> +	fw_def(LUNARLAKE,	GT_TYPE_MEDIA,	no_ver(xe,	huc,		lnl))		\
> +	fw_def(METEORLAKE,	GT_TYPE_MEDIA,	no_ver(i915,	huc_gsc,	mtl))		\
>  	fw_def(DG1,		GT_TYPE_ANY,	no_ver(i915,	huc,		dg1))		\
>  	fw_def(ALDERLAKE_P,	GT_TYPE_ANY,	no_ver(i915,	huc,		tgl))		\
>  	fw_def(ALDERLAKE_S,	GT_TYPE_ANY,	no_ver(i915,	huc,		tgl))		\
> @@ -145,9 +145,9 @@ struct fw_blobs_by_type {
>  
>  /* for the GSC FW we match the compatibility version and not the release one */
>  #define XE_GSC_FIRMWARE_DEFS(fw_def, major_ver)		\
> -	fw_def(PANTHERLAKE,	GT_TYPE_ANY,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
> -	fw_def(LUNARLAKE,	GT_TYPE_ANY,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
> -	fw_def(METEORLAKE,	GT_TYPE_ANY,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
> +	fw_def(PANTHERLAKE,	GT_TYPE_MEDIA,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
> +	fw_def(LUNARLAKE,	GT_TYPE_MEDIA,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
> +	fw_def(METEORLAKE,	GT_TYPE_MEDIA,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
>  
>  #define MAKE_FW_PATH(dir__, uc__, shortname__, version__)			\
>  	__stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"


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

* Re: [PATCH v2 4/6] drm/xe/uc: Support fetching different FW files per-subplatform
  2026-08-26 17:11 ` [PATCH v2 4/6] drm/xe/uc: Support fetching different FW files per-subplatform Daniele Ceraolo Spurio
@ 2026-08-28  4:58   ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 16+ messages in thread
From: Teres Alexis, Alan Previn @ 2026-08-28  4:58 UTC (permalink / raw)
  To: intel-xe@lists.freedesktop.org, Ceraolo Spurio, Daniele; +Cc: Filipchuk, Julia

On Wed, 2026-08-26 at 17:11 +0000, Daniele Ceraolo Spurio wrote:
> 
> 
alan:[snip]
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index 3a74acfaf2c7..12fbc25dc6b8 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> 
alan:[snip]

>  /* for the GSC FW we match the compatibility version and not the release one */
>  #define XE_GSC_FIRMWARE_DEFS(fw_def, major_ver)		\
> -	fw_def(PANTHERLAKE,	GT_TYPE_MEDIA,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
> -	fw_def(LUNARLAKE,	GT_TYPE_MEDIA,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
> -	fw_def(METEORLAKE,	GT_TYPE_MEDIA,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
> +	fw_def(PANTHERLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	ptl,	105, 1, 0))	\
> +	fw_def(LUNARLAKE,	SUBPLATFORM_ANY,	major_ver(xe,	gsc,	lnl,	104, 1, 0))	\
> +	fw_def(METEORLAKE,	SUBPLATFORM_ANY,	major_ver(i915,	gsc,	mtl,	102, 1, 0))
>  
>  #define MAKE_FW_PATH(dir__, uc__, shortname__, version__)			\
>  	__stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"
> @@ -181,10 +183,19 @@ struct fw_blobs_by_type {
>  #define XE_UC_FW_ENTRY(platform__, gt_type__, entry__)				\
>  	{									\
>  		.platform = XE_ ## platform__,					\
> +		.subplatform = XE_SUBPLATFORM_ANY,				\
>  		.gt_type = XE_ ## gt_type__,					\
>  		entry__,							\
>  	},
>  
> +#define XE_GSC_FW_ENTRY(platform__, subplatform__, entry__)			\
> +	{									\
> +		.platform = XE_ ## platform__,					\
> +		.subplatform = XE_ ## subplatform__,				\
> +		.gt_type = XE_GT_TYPE_MEDIA,					\
> +		entry__,							\
> +	},
> 
> 
I can see we are bifurcating the macros that generate fw_def arrays
for GSC vs the-rest where GSC is always GT_TYPE_MEDIA and allows
explicit sub-platform while the-rest needs explicit GT_TYPE but
is always SUBPLATFORM_ANY.

In the interest of minimal changes and keeping the layout
of our arrays concise, i think this is a good approach.

Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com>

alan:[snip]

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

end of thread, other threads:[~2026-08-28  4:58 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-26 17:11 [PATCH v2 0/6] Prepare for WCL GSC FW Daniele Ceraolo Spurio
2026-08-26 17:11 ` [PATCH v2 1/6] drm/xe: Define WCL as a PTL subplatform Daniele Ceraolo Spurio
2026-08-28  3:50   ` Teres Alexis, Alan Previn
2026-08-26 17:11 ` [PATCH v2 2/6] drm/xe/uc: Add FW file fallback support Daniele Ceraolo Spurio
2026-08-28  4:35   ` Teres Alexis, Alan Previn
2026-08-26 17:11 ` [PATCH v2 3/6] drm/xe/uc: mark HuC and GSC as only available on the media GT Daniele Ceraolo Spurio
2026-08-28  4:55   ` Teres Alexis, Alan Previn
2026-08-26 17:11 ` [PATCH v2 4/6] drm/xe/uc: Support fetching different FW files per-subplatform Daniele Ceraolo Spurio
2026-08-28  4:58   ` Teres Alexis, Alan Previn
2026-08-26 17:11 ` [PATCH v2 5/6] DO NOT MERGE: drm/xe/gsc: define GSC for WCL Daniele Ceraolo Spurio
2026-08-28  3:55   ` Teres Alexis, Alan Previn
2026-08-26 17:11 ` [PATCH v2 6/6] DO NOT MERGE: drm/xe/guc: add a mock newer GuC file for LNL Daniele Ceraolo Spurio
2026-08-26 17:18 ` ✗ CI.checkpatch: warning for Prepare for WCL GSC FW (rev2) Patchwork
2026-08-26 17:19 ` ✓ CI.KUnit: success " Patchwork
2026-08-26 17:56 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-26 22:30 ` ✓ 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