All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH v2 00/11] GSC FW loading
@ 2023-11-15  0:46 Daniele Ceraolo Spurio
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 01/11] fixup! drm/xe/guc: Report submission version of GuC firmware Daniele Ceraolo Spurio
                   ` (17 more replies)
  0 siblings, 18 replies; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

The GSC (Graphics Security Controller) is the root of trust for content
protection operations (PXP, HDCP), so loading the the GSC FW is a
prerequisite for those features. Loading the FW is required to turn off
the GSC forcewake well (which we must turn on to enable GSCCS idleness)
and therefore allows MC6 entry.

The GSC FW uses 3 separate versions: release, compatibility and
security. The compatibility version is the one that dictates whether the
driver knows how to interface with the binary so that's the one we match
against, but we also fetch the other two for debug information.

The GSCCS is used to both load the FW (via the GSC_FW_LOAD command) and
to send heci packets to it (via the GSC_HECI_PKT command).

v2: rebase, minor improvements/reworks from review feedback

Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: John Harrison <john.c.harrison@intel.com>

Daniele Ceraolo Spurio (11):
  fixup! drm/xe/guc: Report submission version of GuC firmware
  drm/xe/uc: Rework uC version tracking
  drm/xe/gsc: Introduce GSC FW
  drm/xe/gsc: Parse GSC FW header
  drm/xe/gsc: GSC FW load
  drm/xe/gsc: Implement WA 14015076503
  drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
  drm/xe/gsc: Add an interface for GSC packet submissions
  drm/xe/gsc: Query GSC compatibility version
  drm/xe/gsc: Define GSCCS for MTL
  drm/xe/gsc: Define GSC FW for MTL

 drivers/gpu/drm/xe/Makefile                   |  13 +-
 .../gpu/drm/xe/abi/gsc_command_header_abi.h   |  46 ++
 .../gpu/drm/xe/abi/gsc_mkhi_commands_abi.h    |  39 ++
 .../gpu/drm/xe/instructions/xe_gsc_commands.h |  36 ++
 .../gpu/drm/xe/instructions/xe_instr_defs.h   |   1 +
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h         |  39 ++
 drivers/gpu/drm/xe/tests/xe_pci_test.c        |   9 +-
 drivers/gpu/drm/xe/xe_gsc.c                   | 430 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_gsc.h                   |  20 +
 drivers/gpu/drm/xe/xe_gsc_submit.c            | 184 ++++++++
 drivers/gpu/drm/xe/xe_gsc_submit.h            |  30 ++
 drivers/gpu/drm/xe/xe_gsc_types.h             |  39 ++
 drivers/gpu/drm/xe/xe_gt.c                    |   5 +
 drivers/gpu/drm/xe/xe_guc_types.h             |   9 -
 drivers/gpu/drm/xe/xe_hw_engine.c             |  20 +
 drivers/gpu/drm/xe/xe_module.c                |   5 +
 drivers/gpu/drm/xe/xe_module.h                |   1 +
 drivers/gpu/drm/xe/xe_pci.c                   |   2 +-
 drivers/gpu/drm/xe/xe_uc.c                    |  21 +-
 drivers/gpu/drm/xe/xe_uc_fw.c                 | 259 ++++++++---
 drivers/gpu/drm/xe/xe_uc_fw.h                 |   6 +-
 drivers/gpu/drm/xe/xe_uc_fw_abi.h             | 113 +++++
 drivers/gpu/drm/xe/xe_uc_fw_types.h           |  40 +-
 drivers/gpu/drm/xe/xe_uc_types.h              |   3 +
 drivers/gpu/drm/xe/xe_wa_oob.rules            |   1 +
 25 files changed, 1274 insertions(+), 97 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
 create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h

-- 
2.41.0


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

* [Intel-xe] [PATCH v2 01/11] fixup! drm/xe/guc: Report submission version of GuC firmware
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-16 22:31   ` John Harrison
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 02/11] drm/xe/uc: Rework uC version tracking Daniele Ceraolo Spurio
                   ` (16 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

Major GuC versions greater than 70 will have the submission version in
the herader irrespective of their minor version number.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_uc_fw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 3032c4f148d4..91d4a2272ee7 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -278,7 +278,7 @@ static void guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_header *css)
 	xe_gt_assert(gt, uc_fw->type == XE_UC_FW_TYPE_GUC);
 	xe_gt_assert(gt, uc_fw->major_ver_found >= 70);
 
-	if (uc_fw->minor_ver_found >= 6) {
+	if (uc_fw->major_ver_found > 70 || uc_fw->minor_ver_found >= 6) {
 		/* v70.6.0 adds CSS header support */
 		guc->submission_state.version.major =
 			FIELD_GET(CSS_SW_VERSION_UC_MAJOR,
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 02/11] drm/xe/uc: Rework uC version tracking
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 01/11] fixup! drm/xe/guc: Report submission version of GuC firmware Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-16 22:38   ` John Harrison
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 03/11] drm/xe/gsc: Introduce GSC FW Daniele Ceraolo Spurio
                   ` (15 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

The GSC firmware, support for which is coming soon for Xe, has both a
release version (updated on every release) and a compatibility version
(update only on interface changes). The GuC has something similar, with
a global release version and a submission version (which is also known
as the VF compatibility version). The main difference is that for the
GuC we still want to check the driver requirement against the release
version, while for the GSC we'll need to check against the compatibility
version.
Instead of special casing the GSC, this patch reworks the FW logic so
that we store both versions at the uc_fw level for all binaries and we
allow checking against either of the versions. Initially, we'll use it
to support GSC, but the logic could be re-used to allow VFs to check
against the GuC compatibility version.
Note that the GSC version has 4 numbers (major, minor, hotfix, build),
so support for that has been added as part of the rework and will be
used in follow-up patches.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/xe/xe_guc_types.h   |   9 --
 drivers/gpu/drm/xe/xe_uc_fw.c       | 141 +++++++++++++++++-----------
 drivers/gpu/drm/xe/xe_uc_fw_types.h |  35 +++++--
 3 files changed, 110 insertions(+), 75 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_guc_types.h b/drivers/gpu/drm/xe/xe_guc_types.h
index 0fdcc05dc16a..cd80802e8918 100644
--- a/drivers/gpu/drm/xe/xe_guc_types.h
+++ b/drivers/gpu/drm/xe/xe_guc_types.h
@@ -52,15 +52,6 @@ struct xe_guc {
 			/** @seqno: suspend fences seqno */
 			u32 seqno;
 		} suspend;
-		/** @version: submission version */
-		struct {
-			/** @major: major version of GuC submission */
-			u32 major;
-			/** @minor: minor version of GuC submission */
-			u32 minor;
-			/** @patch: patch version of GuC submission */
-			u32 patch;
-		} version;
 #ifdef CONFIG_PROVE_LOCKING
 #define NUM_SUBMIT_WQ	256
 		/** @submit_wq_pool: submission ordered workqueues pool */
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 91d4a2272ee7..9205a3ecff78 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -204,9 +204,12 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 	for (i = 0; i < count && p <= entries[i].platform; i++) {
 		if (p == entries[i].platform) {
 			uc_fw->path = entries[i].path;
-			uc_fw->major_ver_wanted = entries[i].major;
-			uc_fw->minor_ver_wanted = entries[i].minor;
+			uc_fw->versions.wanted.major = entries[i].major;
+			uc_fw->versions.wanted.minor = entries[i].minor;
 			uc_fw->full_ver_required = entries[i].full_ver_required;
+
+			/* compatibility version checking coming soon */
+			uc_fw->versions.wanted_type = XE_UC_FW_VER_RELEASE;
 			break;
 		}
 	}
@@ -273,32 +276,30 @@ static void uc_fw_fini(struct drm_device *drm, void *arg)
 static void guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_header *css)
 {
 	struct xe_gt *gt = uc_fw_to_gt(uc_fw);
-	struct xe_guc *guc = &gt->uc.guc;
+	struct xe_uc_fw_version *release = &uc_fw->versions.found[XE_UC_FW_VER_RELEASE];
+	struct xe_uc_fw_version *compatibility = &uc_fw->versions.found[XE_UC_FW_VER_COMPATIBILITY];
 
 	xe_gt_assert(gt, uc_fw->type == XE_UC_FW_TYPE_GUC);
-	xe_gt_assert(gt, uc_fw->major_ver_found >= 70);
+	xe_gt_assert(gt, release->major >= 70);
 
-	if (uc_fw->major_ver_found > 70 || uc_fw->minor_ver_found >= 6) {
+	if (release->major > 70 || release->minor >= 6) {
 		/* v70.6.0 adds CSS header support */
-		guc->submission_state.version.major =
-			FIELD_GET(CSS_SW_VERSION_UC_MAJOR,
-				  css->submission_version);
-		guc->submission_state.version.minor =
-			FIELD_GET(CSS_SW_VERSION_UC_MINOR,
-				  css->submission_version);
-		guc->submission_state.version.patch =
-			FIELD_GET(CSS_SW_VERSION_UC_PATCH,
-				  css->submission_version);
-	} else if (uc_fw->minor_ver_found >= 3) {
+		compatibility->major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR,
+						 css->submission_version);
+		compatibility->minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR,
+						 css->submission_version);
+		compatibility->patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH,
+						 css->submission_version);
+	} else if (release->minor >= 3) {
 		/* v70.3.0 introduced v1.1.0 */
-		guc->submission_state.version.major = 1;
-		guc->submission_state.version.minor = 1;
-		guc->submission_state.version.patch = 0;
+		compatibility->major = 1;
+		compatibility->minor = 1;
+		compatibility->patch = 0;
 	} else {
 		/* v70.0.0 introduced v1.0.0 */
-		guc->submission_state.version.major = 1;
-		guc->submission_state.version.minor = 0;
-		guc->submission_state.version.patch = 0;
+		compatibility->major = 1;
+		compatibility->minor = 0;
+		compatibility->patch = 0;
 	}
 
 	uc_fw->private_data_size = css->private_data_size;
@@ -307,30 +308,31 @@ static void guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_header *css)
 static int 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 *found = &uc_fw->versions.found[uc_fw->versions.wanted_type];
 
 	/* Driver has no requirement on any version, any is good. */
-	if (!uc_fw->major_ver_wanted)
+	if (!wanted->major)
 		return 0;
 
 	/*
 	 * If full version is required, both major and minor should match.
 	 * Otherwise, at least the major version.
 	 */
-	if (uc_fw->major_ver_wanted != uc_fw->major_ver_found ||
-	    (uc_fw->full_ver_required &&
-	     uc_fw->minor_ver_wanted != uc_fw->minor_ver_found)) {
+	if (wanted->major != found->major ||
+	    (uc_fw->full_ver_required && wanted->minor != found->minor)) {
 		drm_notice(&xe->drm, "%s firmware %s: unexpected version: %u.%u != %u.%u\n",
 			   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
-			   uc_fw->major_ver_found, uc_fw->minor_ver_found,
-			   uc_fw->major_ver_wanted, uc_fw->minor_ver_wanted);
+			   found->major, found->minor,
+			   wanted->major, wanted->minor);
 		goto fail;
 	}
 
-	if (uc_fw->minor_ver_wanted > uc_fw->minor_ver_found) {
+	if (wanted->minor > found->minor) {
 		drm_notice(&xe->drm, "%s firmware (%u.%u) is recommended, but only (%u.%u) was found in %s\n",
 			   xe_uc_fw_type_repr(uc_fw->type),
-			   uc_fw->major_ver_wanted, uc_fw->minor_ver_wanted,
-			   uc_fw->major_ver_found, uc_fw->minor_ver_found,
+			   wanted->major, wanted->minor,
+			   found->major, found->minor,
 			   uc_fw->path);
 		drm_info(&xe->drm, "Consider updating your linux-firmware pkg or downloading from %s\n",
 			 XE_UC_FIRMWARE_URL);
@@ -349,6 +351,7 @@ static int uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
 static int parse_css_header(struct xe_uc_fw *uc_fw, const void *fw_data, size_t fw_size)
 {
 	struct xe_device *xe = uc_fw_to_xe(uc_fw);
+	struct xe_uc_fw_version *release = &uc_fw->versions.found[XE_UC_FW_VER_RELEASE];
 	struct uc_css_header *css;
 	size_t size;
 
@@ -390,12 +393,9 @@ static int parse_css_header(struct xe_uc_fw *uc_fw, const void *fw_data, size_t
 	}
 
 	/* Get version numbers from the CSS header */
-	uc_fw->major_ver_found = FIELD_GET(CSS_SW_VERSION_UC_MAJOR,
-					   css->sw_version);
-	uc_fw->minor_ver_found = FIELD_GET(CSS_SW_VERSION_UC_MINOR,
-					   css->sw_version);
-	uc_fw->patch_ver_found = FIELD_GET(CSS_SW_VERSION_UC_PATCH,
-					   css->sw_version);
+	release->major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, css->sw_version);
+	release->minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, css->sw_version);
+	release->patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, css->sw_version);
 
 	if (uc_fw->type == XE_UC_FW_TYPE_GUC)
 		guc_read_css_info(uc_fw, css);
@@ -431,6 +431,7 @@ static int parse_cpd_header(struct xe_uc_fw *uc_fw, const void *data, size_t siz
 	struct xe_gt *gt = uc_fw_to_gt(uc_fw);
 	struct xe_device *xe = gt_to_xe(gt);
 	const struct gsc_cpd_header_v2 *header = data;
+	struct xe_uc_fw_version *release = &uc_fw->versions.found[XE_UC_FW_VER_RELEASE];
 	const struct gsc_manifest_header *manifest;
 	size_t min_size = sizeof(*header);
 	u32 offset;
@@ -468,9 +469,9 @@ static int parse_cpd_header(struct xe_uc_fw *uc_fw, const void *data, size_t siz
 
 	manifest = data + offset;
 
-	uc_fw->major_ver_found = manifest->fw_version.major;
-	uc_fw->minor_ver_found = manifest->fw_version.minor;
-	uc_fw->patch_ver_found = manifest->fw_version.hotfix;
+	release->major = manifest->fw_version.major;
+	release->minor = manifest->fw_version.minor;
+	release->patch = manifest->fw_version.hotfix;
 
 	/* then optionally look for the css header */
 	if (css_entry) {
@@ -524,12 +525,25 @@ static int parse_headers(struct xe_uc_fw *uc_fw, const struct firmware *fw)
 	return 0;
 }
 
+#define print_uc_fw_version(p_, version_, prefix_, ...) \
+do { \
+	struct xe_uc_fw_version *ver_ = (version_); \
+	if (ver_->build) \
+		drm_printf(p_, prefix_ " version %u.%u.%u.%u\n", ##__VA_ARGS__, \
+			   ver_->major, ver_->minor, \
+			   ver_->patch, ver_->build); \
+	else \
+		drm_printf(p_, prefix_ " version %u.%u.%u\n", ##__VA_ARGS__, \
+			  ver_->major, ver_->minor, ver_->patch); \
+} while (0)
+
 int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
 {
 	struct xe_device *xe = uc_fw_to_xe(uc_fw);
 	struct xe_gt *gt = uc_fw_to_gt(uc_fw);
 	struct xe_tile *tile = gt_to_tile(gt);
 	struct device *dev = xe->drm.dev;
+	struct drm_printer p = drm_info_printer(dev);
 	const struct firmware *fw = NULL;
 	struct xe_bo *obj;
 	int err;
@@ -567,9 +581,10 @@ int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
 	if (err)
 		goto fail;
 
-	drm_info(&xe->drm, "Using %s firmware from %s version %u.%u.%u\n",
-		 xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
-		 uc_fw->major_ver_found, uc_fw->minor_ver_found, uc_fw->patch_ver_found);
+	print_uc_fw_version(&p,
+			    &uc_fw->versions.found[XE_UC_FW_VER_RELEASE],
+			    "Using %s firmware from %s",
+			    xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
 
 	err = uc_fw_check_version_requirements(uc_fw);
 	if (err)
@@ -686,26 +701,40 @@ int xe_uc_fw_upload(struct xe_uc_fw *uc_fw, u32 offset, u32 dma_flags)
 	return err;
 }
 
+static const char *version_type_repr(enum xe_uc_fw_version_types type)
+{
+	switch (type) {
+	case XE_UC_FW_VER_RELEASE:
+		return "release";
+	case XE_UC_FW_VER_COMPATIBILITY:
+		return "compatibility";
+	default:
+		return "Unknown version type";
+	}
+}
 
 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, "\tstatus: %s\n",
 		   xe_uc_fw_status_repr(uc_fw->status));
-	drm_printf(p, "\tversion: wanted %u.%u, found %u.%u.%u\n",
-		   uc_fw->major_ver_wanted, uc_fw->minor_ver_wanted,
-		   uc_fw->major_ver_found, uc_fw->minor_ver_found, uc_fw->patch_ver_found);
-	drm_printf(p, "\tuCode: %u bytes\n", uc_fw->ucode_size);
-	drm_printf(p, "\tRSA: %u bytes\n", uc_fw->rsa_size);
-
-	if (uc_fw->type == XE_UC_FW_TYPE_GUC) {
-		struct xe_gt *gt = uc_fw_to_gt(uc_fw);
-		struct xe_guc *guc = &gt->uc.guc;
-
-		drm_printf(p, "\tSubmit version: %u.%u.%u\n",
-			   guc->submission_state.version.major,
-			   guc->submission_state.version.minor,
-			   guc->submission_state.version.patch);
+
+	print_uc_fw_version(p, &uc_fw->versions.wanted, "\twanted %s",
+			    version_type_repr(uc_fw->versions.wanted_type));
+
+	for (i = 0; i < XE_UC_FW_VER_TYPE_COUNT; i++) {
+		struct xe_uc_fw_version *ver = &uc_fw->versions.found[i];
+
+		if (ver->major)
+			print_uc_fw_version(p, ver, "\tfound %s",
+					    version_type_repr(i));
 	}
+
+	if (uc_fw->ucode_size)
+		drm_printf(p, "\tuCode: %u bytes\n", uc_fw->ucode_size);
+	if (uc_fw->rsa_size)
+		drm_printf(p, "\tRSA: %u bytes\n", uc_fw->rsa_size);
 }
diff --git a/drivers/gpu/drm/xe/xe_uc_fw_types.h b/drivers/gpu/drm/xe/xe_uc_fw_types.h
index 1650599303c8..e4774c560e67 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw_types.h
+++ b/drivers/gpu/drm/xe/xe_uc_fw_types.h
@@ -59,6 +59,22 @@ enum xe_uc_fw_type {
 };
 #define XE_UC_FW_NUM_TYPES 2
 
+/**
+ * struct xe_uc_fw_version - Version for XE micro controller firmware
+ */
+struct xe_uc_fw_version {
+	u16 major;
+	u16 minor;
+	u16 patch;
+	u16 build;
+};
+
+enum xe_uc_fw_version_types {
+	XE_UC_FW_VER_RELEASE,
+	XE_UC_FW_VER_COMPATIBILITY,
+	XE_UC_FW_VER_TYPE_COUNT
+};
+
 /**
  * struct xe_uc_fw - XE micro controller firmware
  */
@@ -98,16 +114,15 @@ struct xe_uc_fw {
 	 * version required per platform.
 	 */
 
-	/** @major_ver_wanted: major firmware version wanted by platform */
-	u16 major_ver_wanted;
-	/** @minor_ver_wanted: minor firmware version wanted by platform */
-	u16 minor_ver_wanted;
-	/** @major_ver_found: major version found in firmware blob */
-	u16 major_ver_found;
-	/** @minor_ver_found: major version found in firmware blob */
-	u16 minor_ver_found;
-	/** @patch_ver_found: patch version found in firmware blob */
-	u16 patch_ver_found;
+	/** @versions: FW versions wanted and found */
+	struct {
+		/** @wanted: firmware version wanted by platform */
+		struct xe_uc_fw_version wanted;
+		/** @wanted_type: type of firmware version wanted (release vs compatibility) */
+		enum xe_uc_fw_version_types wanted_type;
+		/** @found: fw versions found in firmware blob */
+		struct xe_uc_fw_version found[XE_UC_FW_VER_TYPE_COUNT];
+	} versions;
 
 	/** @rsa_size: RSA size */
 	u32 rsa_size;
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 03/11] drm/xe/gsc: Introduce GSC FW
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 01/11] fixup! drm/xe/guc: Report submission version of GuC firmware Daniele Ceraolo Spurio
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 02/11] drm/xe/uc: Rework uC version tracking Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-16 22:58   ` John Harrison
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 04/11] drm/xe/gsc: Parse GSC FW header Daniele Ceraolo Spurio
                   ` (14 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

Add the basic definitions and init function. Same as HuC, GSC is only
supported on the media GT on MTL and newer platforms.
Note that the GSC requires submission resources which can't be allocated
during init (because we don't have the hwconfig yet), so it can't be
marked as loadable at the end of the init function. The allocation of
those resources will come in the patch that makes use of them to load
the FW.

v2: better comment, move num FWs define inside the enum (John)

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
---
 drivers/gpu/drm/xe/Makefile         |  1 +
 drivers/gpu/drm/xe/xe_gsc.c         | 52 +++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_gsc.h         | 13 ++++++++
 drivers/gpu/drm/xe/xe_gsc_types.h   | 19 +++++++++++
 drivers/gpu/drm/xe/xe_uc.c          |  9 +++--
 drivers/gpu/drm/xe/xe_uc_fw.c       | 23 ++++++++++---
 drivers/gpu/drm/xe/xe_uc_fw.h       |  5 ++-
 drivers/gpu/drm/xe/xe_uc_fw_types.h |  5 +--
 drivers/gpu/drm/xe/xe_uc_types.h    |  3 ++
 9 files changed, 121 insertions(+), 9 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
 create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index cb41b4fead08..1ea6e0679528 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -58,6 +58,7 @@ xe-y += xe_bb.o \
 	xe_force_wake.o \
 	xe_ggtt.o \
 	xe_gpu_scheduler.o \
+	xe_gsc.o \
 	xe_gt.o \
 	xe_gt_clock.o \
 	xe_gt_debugfs.o \
diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
new file mode 100644
index 000000000000..216f36cee0f7
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_gsc.c
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include "xe_gsc.h"
+
+#include "xe_device.h"
+#include "xe_gt.h"
+#include "xe_gt_printk.h"
+#include "xe_uc_fw.h"
+
+static struct xe_gt *
+gsc_to_gt(struct xe_gsc *gsc)
+{
+	return container_of(gsc, struct xe_gt, uc.gsc);
+}
+
+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;
+
+	/* 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;
+	}
+
+	/*
+	 * Some platforms can have GuC but not GSC. That would cause
+	 * xe_uc_fw_init(gsc) to return a "not supported" failure code and abort
+	 * all firmware loading. So check for GSC being enabled before
+	 * propagating the failure back up. That way the higher level will keep
+	 * going and load GuC as appropriate.
+	 */
+	ret = xe_uc_fw_init(&gsc->fw);
+	if (!xe_uc_fw_is_enabled(&gsc->fw))
+		return 0;
+	else if (ret)
+		goto out;
+
+	return 0;
+
+out:
+	xe_gt_err(gt, "GSC init failed with %d", ret);
+	return ret;
+}
+
diff --git a/drivers/gpu/drm/xe/xe_gsc.h b/drivers/gpu/drm/xe/xe_gsc.h
new file mode 100644
index 000000000000..baa7f21f4204
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_gsc.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _XE_GSC_H_
+#define _XE_GSC_H_
+
+#include "xe_gsc_types.h"
+
+int xe_gsc_init(struct xe_gsc *gsc);
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_gsc_types.h b/drivers/gpu/drm/xe/xe_gsc_types.h
new file mode 100644
index 000000000000..135f156e3736
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_gsc_types.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _XE_GSC_TYPES_H_
+#define _XE_GSC_TYPES_H_
+
+#include "xe_uc_fw_types.h"
+
+/**
+ * struct xe_gsc - GSC
+ */
+struct xe_gsc {
+	/** @fw: Generic uC firmware management */
+	struct xe_uc_fw fw;
+};
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_uc.c b/drivers/gpu/drm/xe/xe_uc.c
index 784f53c5f282..b67154c78dff 100644
--- a/drivers/gpu/drm/xe/xe_uc.c
+++ b/drivers/gpu/drm/xe/xe_uc.c
@@ -6,6 +6,7 @@
 #include "xe_uc.h"
 
 #include "xe_device.h"
+#include "xe_gsc.h"
 #include "xe_gt.h"
 #include "xe_guc.h"
 #include "xe_guc_pc.h"
@@ -32,8 +33,8 @@ int xe_uc_init(struct xe_uc *uc)
 	int ret;
 
 	/*
-	 * We call the GuC/HuC init functions even if GuC submission is off to
-	 * correctly move our tracking of the FW state to "disabled".
+	 * We call the GuC/HuC/GSC init functions even if GuC submission is off
+	 * to correctly move our tracking of the FW state to "disabled".
 	 */
 
 	ret = xe_guc_init(&uc->guc);
@@ -44,6 +45,10 @@ int xe_uc_init(struct xe_uc *uc)
 	if (ret)
 		goto err;
 
+	ret = xe_gsc_init(&uc->gsc);
+	if (ret)
+		goto err;
+
 	if (!xe_device_uc_enabled(uc_to_xe(uc)))
 		return 0;
 
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 9205a3ecff78..16217aacdbfb 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -158,11 +158,18 @@ XE_HUC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE,
 static struct xe_gt *
 __uc_fw_to_gt(struct xe_uc_fw *uc_fw, enum xe_uc_fw_type type)
 {
-	if (type == XE_UC_FW_TYPE_GUC)
-		return container_of(uc_fw, struct xe_gt, uc.guc.fw);
+	XE_WARN_ON(type >= XE_UC_FW_NUM_TYPES);
 
-	XE_WARN_ON(type != XE_UC_FW_TYPE_HUC);
-	return container_of(uc_fw, struct xe_gt, uc.huc.fw);
+	switch (type) {
+	case XE_UC_FW_TYPE_GUC:
+		return container_of(uc_fw, struct xe_gt, uc.guc.fw);
+	case XE_UC_FW_TYPE_HUC:
+		return container_of(uc_fw, struct xe_gt, uc.huc.fw);
+	case XE_UC_FW_TYPE_GSC:
+		return container_of(uc_fw, struct xe_gt, uc.gsc.fw);
+	default:
+		return NULL;
+	}
 }
 
 static struct xe_gt *uc_fw_to_gt(struct xe_uc_fw *uc_fw)
@@ -197,6 +204,14 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 	u32 count;
 	int i;
 
+	/*
+	 * GSC FW support is still not fully in place, so we're not defining
+	 * the FW blob yet because we don't want the driver to attempt to load
+	 * it until we're ready for it.
+	 */
+	if (uc_fw->type == XE_UC_FW_TYPE_GSC)
+		return;
+
 	xe_assert(xe, uc_fw->type < ARRAY_SIZE(blobs_all));
 	entries = blobs_all[uc_fw->type].entries;
 	count = blobs_all[uc_fw->type].count;
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.h b/drivers/gpu/drm/xe/xe_uc_fw.h
index 1d1a0c156cdf..7feafe1695f9 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.h
+++ b/drivers/gpu/drm/xe/xe_uc_fw.h
@@ -96,8 +96,11 @@ static inline const char *xe_uc_fw_type_repr(enum xe_uc_fw_type type)
 		return "GuC";
 	case XE_UC_FW_TYPE_HUC:
 		return "HuC";
+	case XE_UC_FW_TYPE_GSC:
+		return "GSC";
+	default:
+		return "uC";
 	}
-	return "uC";
 }
 
 static inline enum xe_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 e4774c560e67..5b9ee05c1c6f 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw_types.h
+++ b/drivers/gpu/drm/xe/xe_uc_fw_types.h
@@ -55,9 +55,10 @@ enum xe_uc_fw_status {
 
 enum xe_uc_fw_type {
 	XE_UC_FW_TYPE_GUC = 0,
-	XE_UC_FW_TYPE_HUC
+	XE_UC_FW_TYPE_HUC,
+	XE_UC_FW_TYPE_GSC,
+	XE_UC_FW_NUM_TYPES
 };
-#define XE_UC_FW_NUM_TYPES 2
 
 /**
  * struct xe_uc_fw_version - Version for XE micro controller firmware
diff --git a/drivers/gpu/drm/xe/xe_uc_types.h b/drivers/gpu/drm/xe/xe_uc_types.h
index 49bef6498b85..9924e4484866 100644
--- a/drivers/gpu/drm/xe/xe_uc_types.h
+++ b/drivers/gpu/drm/xe/xe_uc_types.h
@@ -6,6 +6,7 @@
 #ifndef _XE_UC_TYPES_H_
 #define _XE_UC_TYPES_H_
 
+#include "xe_gsc_types.h"
 #include "xe_guc_types.h"
 #include "xe_huc_types.h"
 #include "xe_wopcm_types.h"
@@ -18,6 +19,8 @@ struct xe_uc {
 	struct xe_guc guc;
 	/** @huc: HuC */
 	struct xe_huc huc;
+	/** @gsc: Graphics Security Controller */
+	struct xe_gsc gsc;
 	/** @wopcm: WOPCM */
 	struct xe_wopcm wopcm;
 };
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 04/11] drm/xe/gsc: Parse GSC FW header
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (2 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 03/11] drm/xe/gsc: Introduce GSC FW Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-16 23:01   ` John Harrison
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 05/11] drm/xe/gsc: GSC FW load Daniele Ceraolo Spurio
                   ` (13 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi

The GSC blob starts with a layout header, from which we can move to the
boot directory, which in turns allows us to find the CPD. The CPD uses
the same format as the one in the HuC binary, so we can re-use the same
parsing code to get to the manifest, which contains the release and
security versions of the FW.

v2: Fix comments in struct definition (John)

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_gsc_types.h |   3 +
 drivers/gpu/drm/xe/xe_uc_fw.c     |  77 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_uc_fw_abi.h | 113 ++++++++++++++++++++++++++++++
 3 files changed, 193 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_gsc_types.h b/drivers/gpu/drm/xe/xe_gsc_types.h
index 135f156e3736..1bc50583fe58 100644
--- a/drivers/gpu/drm/xe/xe_gsc_types.h
+++ b/drivers/gpu/drm/xe/xe_gsc_types.h
@@ -14,6 +14,9 @@
 struct xe_gsc {
 	/** @fw: Generic uC firmware management */
 	struct xe_uc_fw fw;
+
+	/** @security_version: SVN found in the fetched blob */
+	u32 security_version;
 };
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 16217aacdbfb..c354f7b51103 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -12,6 +12,7 @@
 #include "xe_bo.h"
 #include "xe_device_types.h"
 #include "xe_force_wake.h"
+#include "xe_gsc.h"
 #include "xe_gt.h"
 #include "xe_map.h"
 #include "xe_mmio.h"
@@ -488,6 +489,13 @@ static int parse_cpd_header(struct xe_uc_fw *uc_fw, const void *data, size_t siz
 	release->minor = manifest->fw_version.minor;
 	release->patch = manifest->fw_version.hotfix;
 
+	if (uc_fw->type == XE_UC_FW_TYPE_GSC) {
+		struct xe_gsc *gsc = container_of(uc_fw, struct xe_gsc, fw);
+
+		release->build = manifest->fw_version.build;
+		gsc->security_version = manifest->security_version;
+	}
+
 	/* then optionally look for the css header */
 	if (css_entry) {
 		int ret;
@@ -517,6 +525,73 @@ static int parse_cpd_header(struct xe_uc_fw *uc_fw, const void *data, size_t siz
 	return 0;
 }
 
+static int parse_gsc_layout(struct xe_uc_fw *uc_fw, const void *data, size_t size)
+{
+	struct xe_gt *gt = uc_fw_to_gt(uc_fw);
+	const struct gsc_layout_pointers *layout = data;
+	const struct gsc_bpdt_header *bpdt_header = NULL;
+	const struct gsc_bpdt_entry *bpdt_entry = NULL;
+	size_t min_size = sizeof(*layout);
+	int i;
+
+	if (size < min_size) {
+		xe_gt_err(gt, "GSC FW too small! %zu < %zu\n", size, min_size);
+		return -ENODATA;
+	}
+
+	min_size = layout->boot1.offset + layout->boot1.size;
+	if (size < min_size) {
+		xe_gt_err(gt, "GSC FW too small for boot section! %zu < %zu\n",
+			  size, min_size);
+		return -ENODATA;
+	}
+
+	min_size = sizeof(*bpdt_header);
+	if (layout->boot1.size < min_size) {
+		xe_gt_err(gt, "GSC FW boot section too small for BPDT header: %u < %zu\n",
+			  layout->boot1.size, min_size);
+		return -ENODATA;
+	}
+
+	bpdt_header = data + layout->boot1.offset;
+	if (bpdt_header->signature != GSC_BPDT_HEADER_SIGNATURE) {
+		xe_gt_err(gt, "invalid signature for BPDT header: 0x%08x!\n",
+			  bpdt_header->signature);
+		return -EINVAL;
+	}
+
+	min_size += sizeof(*bpdt_entry) * bpdt_header->descriptor_count;
+	if (layout->boot1.size < min_size) {
+		xe_gt_err(gt, "GSC FW boot section too small for BPDT entries: %u < %zu\n",
+			  layout->boot1.size, min_size);
+		return -ENODATA;
+	}
+
+	bpdt_entry = (void *)bpdt_header + sizeof(*bpdt_header);
+	for (i = 0; i < bpdt_header->descriptor_count; i++, bpdt_entry++) {
+		if ((bpdt_entry->type & GSC_BPDT_ENTRY_TYPE_MASK) !=
+		    GSC_BPDT_ENTRY_TYPE_GSC_RBE)
+			continue;
+
+		min_size = bpdt_entry->sub_partition_offset;
+
+		/* the CPD header parser will check that the CPD header fits */
+		if (layout->boot1.size < min_size) {
+			xe_gt_err(gt, "GSC FW boot section too small for CPD offset: %u < %zu\n",
+				  layout->boot1.size, min_size);
+			return -ENODATA;
+		}
+
+		return parse_cpd_header(uc_fw,
+					(void *)bpdt_header + min_size,
+					layout->boot1.size - min_size,
+					"RBEP.man", NULL);
+	}
+
+	xe_gt_err(gt, "couldn't find CPD header in GSC binary!\n");
+	return -ENODATA;
+}
+
 static int parse_headers(struct xe_uc_fw *uc_fw, const struct firmware *fw)
 {
 	int ret;
@@ -526,6 +601,8 @@ static int parse_headers(struct xe_uc_fw *uc_fw, const struct firmware *fw)
 	 * releases use GSC CPD headers.
 	 */
 	switch (uc_fw->type) {
+	case XE_UC_FW_TYPE_GSC:
+		return parse_gsc_layout(uc_fw, fw->data, fw->size);
 	case XE_UC_FW_TYPE_HUC:
 		ret = parse_cpd_header(uc_fw, fw->data, fw->size, "HUCP.man", "huc_fw");
 		if (!ret || ret != -ENOENT)
diff --git a/drivers/gpu/drm/xe/xe_uc_fw_abi.h b/drivers/gpu/drm/xe/xe_uc_fw_abi.h
index d6725c963251..87ade41209d0 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw_abi.h
+++ b/drivers/gpu/drm/xe/xe_uc_fw_abi.h
@@ -140,6 +140,58 @@ static_assert(sizeof(struct uc_css_header) == 128);
  *	|      RSA Key (MTL+ only)                       |
  *	|      ...                                       |
  *	+================================================+
+ *
+ * The GSC binary starts instead with a layout header, which contains the
+ * locations of the various partitions of the binary. The one we're interested
+ * in is the boot1 partition, where we can find a BPDT header followed by
+ * entries, one of which points to the RBE sub-section of the partition, which
+ * contains the CPD. The GSC blob does not contain a CSS-based binary, so we
+ * only need to look for the manifest, which is under the "RBEP.man" CPD entry.
+ * Note that we have no need to find where the actual FW code is inside the
+ * image because the GSC ROM will itself parse the headers to find it and load
+ * it.
+ * The GSC firmware header layout looks like this::
+ *
+ *	+================================================+
+ *	|  Layout Pointers                               |
+ *	|      ...                                       |
+ *	|      Boot1 offset  >---------------------------|------o
+ *	|      ...                                       |      |
+ *	+================================================+      |
+ *	                                                        |
+ *	+================================================+      |
+ *	|  BPDT header                                   |<-----o
+ *	+================================================+
+ *	|  BPDT entries[]                                |
+ *	|      entry1                                    |
+ *	|      ...                                       |
+ *	|      entryX                                    |
+ *	|          type == GSC_RBE                       |
+ *	|          offset  >-----------------------------|------o
+ *	|      ...                                       |      |
+ *	+================================================+      |
+ *	                                                        |
+ *	+================================================+      |
+ *	|  CPD Header                                    |<-----o
+ *	+================================================+
+ *	|  CPD entries[]                                 |
+ *	|      entry1                                    |
+ *	|      ...                                       |
+ *	|      entryX                                    |
+ *	|          "RBEP.man"                            |
+ *	|           ...                                  |
+ *	|           offset  >----------------------------|------o
+ *	|      ...                                       |      |
+ *	+================================================+      |
+ *	                                                        |
+ *	+================================================+      |
+ *	| Manifest Header                                |<-----o
+ *	|  ...                                           |
+ *	|  FW version                                    |
+ *	|  ...                                           |
+ *	|  Security version                              |
+ *	|  ...                                           |
+ *	+================================================+
  */
 
 struct gsc_version {
@@ -149,6 +201,67 @@ struct gsc_version {
 	u16 build;
 } __packed;
 
+struct gsc_partition {
+	u32 offset;
+	u32 size;
+} __packed;
+
+struct gsc_layout_pointers {
+	u8 rom_bypass_vector[16];
+
+	/* size of this header section, not including ROM bypass vector */
+	u16 size;
+
+	/*
+	 * bit0: Backup copy of layout pointers exists
+	 * bits1-15: reserved
+	 */
+	u8 flags;
+
+	u8 reserved;
+
+	u32 crc32;
+
+	struct gsc_partition datap;
+	struct gsc_partition boot1;
+	struct gsc_partition boot2;
+	struct gsc_partition boot3;
+	struct gsc_partition boot4;
+	struct gsc_partition boot5;
+	struct gsc_partition temp_pages;
+} __packed;
+
+/* Boot partition structures */
+struct gsc_bpdt_header {
+	u32 signature;
+#define GSC_BPDT_HEADER_SIGNATURE 0x000055AA
+
+	u16 descriptor_count; /* num of entries after the header */
+
+	u8 version;
+	u8 configuration;
+
+	u32 crc32;
+
+	u32 build_version;
+	struct gsc_version tool_version;
+} __packed;
+
+struct gsc_bpdt_entry {
+	/*
+	 * Bits 0-15: BPDT entry type
+	 * Bits 16-17: reserved
+	 * Bit 18: code sub-partition
+	 * Bits 19-31: reserved
+	 */
+	u32 type;
+#define GSC_BPDT_ENTRY_TYPE_MASK GENMASK(15, 0)
+#define GSC_BPDT_ENTRY_TYPE_GSC_RBE 0x1
+
+	u32 sub_partition_offset; /* from the base of the BPDT header */
+	u32 sub_partition_size;
+} __packed;
+
 /* Code partition directory (CPD) structures */
 struct gsc_cpd_header_v2 {
 	u32 header_marker;
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 05/11] drm/xe/gsc: GSC FW load
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (3 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 04/11] drm/xe/gsc: Parse GSC FW header Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-16 23:04   ` John Harrison
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 06/11] drm/xe/gsc: Implement WA 14015076503 Daniele Ceraolo Spurio
                   ` (12 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

The GSC FW must be copied in a 4MB stolen memory allocation, whose GGTT
address is then passed as a parameter to a dedicated load instruction
submitted via the GSC engine.

Since the GSC load is relatively slow (up to 250ms), we perform it
asynchronously via a worker. This requires us to make sure that the
worker has stopped before suspending/unloading.

Note that we can't yet use xe_migrate_copy for the copy because it
doesn't work with stolen memory right now, so we do a memcpy from the
CPU side instead.

v2: add comment about timeout value, fix GSC status checking
    before load (John)

Bspec: 65306, 65346
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
---
 .../gpu/drm/xe/instructions/xe_gsc_commands.h |  34 +++
 .../gpu/drm/xe/instructions/xe_instr_defs.h   |   1 +
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h         |  29 ++
 drivers/gpu/drm/xe/xe_gsc.c                   | 250 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_gsc.h                   |   3 +
 drivers/gpu/drm/xe/xe_gsc_types.h             |  17 ++
 drivers/gpu/drm/xe/xe_uc.c                    |  12 +-
 7 files changed, 345 insertions(+), 1 deletion(-)
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h

diff --git a/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h b/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
new file mode 100644
index 000000000000..c7a833d7f965
--- /dev/null
+++ b/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _XE_GSC_COMMANDS_H_
+#define _XE_GSC_COMMANDS_H_
+
+#include "instructions/xe_instr_defs.h"
+
+/*
+ * All GSCCS-specific commands have fixed length, so we can include it in the
+ * defines. Note that the generic GSC command header structure includes an
+ * optional data field in bits 9-21, but there are no commands that actually use
+ * it; some of the commands are instead defined as having an extended length
+ * field spanning bits 0-15, even if the extra bits are not required because the
+ * longest GSCCS command is only 8 dwords. To handle this, the defines below use
+ * a single field for both data and len. If we ever get a commands that does
+ * actually have data and this approach doesn't work for it we can re-work it
+ * at that point.
+ */
+
+#define GSC_OPCODE		REG_GENMASK(28, 22)
+#define GSC_CMD_DATA_AND_LEN	REG_GENMASK(21, 0)
+
+#define __GSC_INSTR(op, dl) \
+	(XE_INSTR_GSC | \
+	REG_FIELD_PREP(GSC_OPCODE, op) | \
+	REG_FIELD_PREP(GSC_CMD_DATA_AND_LEN, dl))
+
+#define GSC_FW_LOAD __GSC_INSTR(1, 2)
+#define   GSC_FW_LOAD_LIMIT_VALID REG_BIT(31)
+
+#endif
diff --git a/drivers/gpu/drm/xe/instructions/xe_instr_defs.h b/drivers/gpu/drm/xe/instructions/xe_instr_defs.h
index e403b4fcc20a..04179b2a48e1 100644
--- a/drivers/gpu/drm/xe/instructions/xe_instr_defs.h
+++ b/drivers/gpu/drm/xe/instructions/xe_instr_defs.h
@@ -15,6 +15,7 @@
  */
 #define XE_INSTR_CMD_TYPE		GENMASK(31, 29)
 #define   XE_INSTR_MI			REG_FIELD_PREP(XE_INSTR_CMD_TYPE, 0x0)
+#define   XE_INSTR_GSC			REG_FIELD_PREP(XE_INSTR_CMD_TYPE, 0x2)
 #define   XE_INSTR_GFXPIPE		REG_FIELD_PREP(XE_INSTR_CMD_TYPE, 0x3)
 
 /*
diff --git a/drivers/gpu/drm/xe/regs/xe_gsc_regs.h b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
new file mode 100644
index 000000000000..22d2ad9cb64d
--- /dev/null
+++ b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _XE_GSC_REGS_H_
+#define _XE_GSC_REGS_H_
+
+#include <linux/compiler.h>
+#include <linux/types.h>
+
+#include "regs/xe_reg_defs.h"
+
+/* Definitions of GSC H/W registers, bits, etc */
+
+#define MTL_GSC_HECI1_BASE	0x00116000
+#define MTL_GSC_HECI2_BASE	0x00117000
+
+/*
+ * The FWSTS register values are FW defined and can be different between
+ * HECI1 and HECI2
+ */
+#define HECI_FWSTS1(base)				XE_REG((base) + 0xc40)
+#define   HECI1_FWSTS1_CURRENT_STATE			REG_GENMASK(3, 0)
+#define   HECI1_FWSTS1_CURRENT_STATE_RESET		0
+#define   HECI1_FWSTS1_PROXY_STATE_NORMAL		5
+#define   HECI1_FWSTS1_INIT_COMPLETE			REG_BIT(9)
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
index 216f36cee0f7..cc9c6cdc31aa 100644
--- a/drivers/gpu/drm/xe/xe_gsc.c
+++ b/drivers/gpu/drm/xe/xe_gsc.c
@@ -5,10 +5,20 @@
 
 #include "xe_gsc.h"
 
+#include <drm/drm_managed.h>
+
+#include "xe_bb.h"
+#include "xe_bo.h"
 #include "xe_device.h"
+#include "xe_exec_queue.h"
 #include "xe_gt.h"
 #include "xe_gt_printk.h"
+#include "xe_map.h"
+#include "xe_mmio.h"
+#include "xe_sched_job.h"
 #include "xe_uc_fw.h"
+#include "instructions/xe_gsc_commands.h"
+#include "regs/xe_gsc_regs.h"
 
 static struct xe_gt *
 gsc_to_gt(struct xe_gsc *gsc)
@@ -16,6 +26,145 @@ gsc_to_gt(struct xe_gsc *gsc)
 	return container_of(gsc, struct xe_gt, uc.gsc);
 }
 
+static int memcpy_fw(struct xe_gsc *gsc)
+{
+	struct xe_gt *gt = gsc_to_gt(gsc);
+	struct xe_device *xe = gt_to_xe(gt);
+	u32 fw_size = gsc->fw.size;
+	void *storage;
+
+	/*
+	 * FIXME: xe_migrate_copy does not work with stolen mem yet, so we use
+	 * a memcpy for now.
+	 */
+	storage = kmalloc(fw_size, GFP_KERNEL);
+	if (!storage)
+		return -ENOMEM;
+
+	xe_map_memcpy_from(xe, storage, &gsc->fw.bo->vmap, 0, fw_size);
+	xe_map_memcpy_to(xe, &gsc->private->vmap, 0, storage, fw_size);
+	xe_map_memset(xe, &gsc->private->vmap, fw_size, 0, gsc->private->size - fw_size);
+
+	kfree(storage);
+
+	return 0;
+}
+
+static int emit_gsc_upload(struct xe_gsc *gsc)
+{
+	struct xe_gt *gt = gsc_to_gt(gsc);
+	u32 offset = xe_bo_ggtt_addr(gsc->private);
+	struct xe_bb *bb;
+	struct xe_sched_job *job;
+	struct dma_fence *fence;
+	long timeout;
+
+	bb = xe_bb_new(gt, 4, false);
+	if (IS_ERR(bb))
+		return PTR_ERR(bb);
+
+	bb->cs[bb->len++] = GSC_FW_LOAD;
+	bb->cs[bb->len++] = lower_32_bits(offset);
+	bb->cs[bb->len++] = upper_32_bits(offset);
+	bb->cs[bb->len++] = (gsc->private->size / SZ_4K) | GSC_FW_LOAD_LIMIT_VALID;
+
+	job = xe_bb_create_job(gsc->q, bb);
+	if (IS_ERR(job)) {
+		xe_bb_free(bb, NULL);
+		return PTR_ERR(job);
+	}
+
+	xe_sched_job_arm(job);
+	fence = dma_fence_get(&job->drm.s_fence->finished);
+	xe_sched_job_push(job);
+
+	timeout = dma_fence_wait_timeout(fence, false, HZ);
+	dma_fence_put(fence);
+	xe_bb_free(bb, NULL);
+	if (timeout < 0)
+		return timeout;
+	else if (!timeout)
+		return -ETIME;
+
+	return 0;
+}
+
+static int gsc_fw_is_loaded(struct xe_gt *gt)
+{
+	return xe_mmio_read32(gt, HECI_FWSTS1(MTL_GSC_HECI1_BASE)) &
+			      HECI1_FWSTS1_INIT_COMPLETE;
+}
+
+static int gsc_fw_wait(struct xe_gt *gt)
+{
+	/*
+	 * GSC load can take up to 250ms from the moment the instruction is
+	 * executed by the GSCCS. To account for possible submission delays or
+	 * other issues, we use a 500ms timeout in the wait here.
+	 */
+	return xe_mmio_wait32(gt, HECI_FWSTS1(MTL_GSC_HECI1_BASE),
+			      HECI1_FWSTS1_INIT_COMPLETE,
+			      HECI1_FWSTS1_INIT_COMPLETE,
+			      500, NULL, false);
+}
+
+static int gsc_upload(struct xe_gsc *gsc)
+{
+	struct xe_gt *gt = gsc_to_gt(gsc);
+	struct xe_device *xe = gt_to_xe(gt);
+	int err;
+
+	/* we should only be here if the init step were successful */
+	xe_assert(xe, xe_uc_fw_is_loadable(&gsc->fw) && gsc->q);
+
+	if (gsc_fw_is_loaded(gt)) {
+		xe_gt_err(gt, "GSC already loaded at upload time\n");
+		return -EEXIST;
+	}
+
+	err = memcpy_fw(gsc);
+	if (err) {
+		xe_gt_err(gt, "Failed to memcpy GSC FW\n");
+		return err;
+	}
+
+	err = emit_gsc_upload(gsc);
+	if (err) {
+		xe_gt_err(gt, "Failed to emit GSC FW upload (%pe)\n", ERR_PTR(err));
+		return err;
+	}
+
+	err = gsc_fw_wait(gt);
+	if (err) {
+		xe_gt_err(gt, "Failed to wait for GSC load (%pe)\n", ERR_PTR(err));
+		return err;
+	}
+
+	xe_gt_dbg(gt, "GSC FW async load completed\n");
+
+	return 0;
+}
+
+static void gsc_work(struct work_struct *work)
+{
+	struct xe_gsc *gsc = container_of(work, typeof(*gsc), work);
+	struct xe_gt *gt = gsc_to_gt(gsc);
+	struct xe_device *xe = gt_to_xe(gt);
+	int ret;
+
+	xe_device_mem_access_get(xe);
+	xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC);
+
+	ret = gsc_upload(gsc);
+	if (ret && ret != -EEXIST)
+		xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_LOAD_FAIL);
+	else
+		xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_TRANSFERRED);
+
+	xe_force_wake_put(gt_to_fw(gt), XE_FW_GSC);
+	xe_device_mem_access_put(xe);
+}
+
 int xe_gsc_init(struct xe_gsc *gsc)
 {
 	struct xe_gt *gt = gsc_to_gt(gsc);
@@ -23,6 +172,7 @@ int xe_gsc_init(struct xe_gsc *gsc)
 	int ret;
 
 	gsc->fw.type = XE_UC_FW_TYPE_GSC;
+	INIT_WORK(&gsc->work, gsc_work);
 
 	/* The GSC uC is only available on the media GT */
 	if (tile->media_gt && (gt != tile->media_gt)) {
@@ -50,3 +200,103 @@ int xe_gsc_init(struct xe_gsc *gsc)
 	return ret;
 }
 
+static void free_resources(struct drm_device *drm, void *arg)
+{
+	struct xe_gsc *gsc = arg;
+
+	if (gsc->wq) {
+		destroy_workqueue(gsc->wq);
+		gsc->wq = NULL;
+	}
+
+	if (gsc->q) {
+		xe_exec_queue_put(gsc->q);
+		gsc->q = NULL;
+	}
+
+	if (gsc->private) {
+		xe_bo_unpin_map_no_vm(gsc->private);
+		gsc->private = NULL;
+	}
+}
+
+int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc)
+{
+	struct xe_gt *gt = gsc_to_gt(gsc);
+	struct xe_tile *tile = gt_to_tile(gt);
+	struct xe_device *xe = gt_to_xe(gt);
+	struct xe_hw_engine *hwe = xe_gt_hw_engine(gt, XE_ENGINE_CLASS_OTHER, 0, true);
+	struct xe_exec_queue *q;
+	struct workqueue_struct *wq;
+	struct xe_bo *bo;
+	int err;
+
+	if (!xe_uc_fw_is_available(&gsc->fw))
+		return 0;
+
+	if (!hwe)
+		return -ENODEV;
+
+	bo = xe_bo_create_pin_map(xe, tile, NULL, SZ_4M,
+				  ttm_bo_type_kernel,
+				  XE_BO_CREATE_STOLEN_BIT |
+				  XE_BO_CREATE_GGTT_BIT);
+	if (IS_ERR(bo))
+		return PTR_ERR(bo);
+
+	q = xe_exec_queue_create(xe, NULL,
+				 BIT(hwe->logical_instance), 1, hwe,
+				 EXEC_QUEUE_FLAG_KERNEL |
+				 EXEC_QUEUE_FLAG_PERMANENT);
+	if (IS_ERR(q)) {
+		xe_gt_err(gt, "Failed to create queue for GSC submission\n");
+		err = PTR_ERR(q);
+		goto out_bo;
+	}
+
+	wq = alloc_ordered_workqueue("gsc-ordered-wq", 0);
+	if (!wq) {
+		err = -ENOMEM;
+		goto out_q;
+	}
+
+	gsc->private = bo;
+	gsc->q = q;
+	gsc->wq = wq;
+
+	err = drmm_add_action_or_reset(&xe->drm, free_resources, gsc);
+	if (err)
+		return err;
+
+	xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_LOADABLE);
+
+	return 0;
+
+out_q:
+	xe_exec_queue_put(q);
+out_bo:
+	xe_bo_unpin_map_no_vm(bo);
+	return err;
+}
+
+void xe_gsc_load_start(struct xe_gsc *gsc)
+{
+	struct xe_gt *gt = gsc_to_gt(gsc);
+
+	if (!xe_uc_fw_is_loadable(&gsc->fw) || !gsc->q)
+		return;
+
+	/* GSC FW survives GT reset and D3Hot */
+	if (gsc_fw_is_loaded(gt)) {
+		xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_TRANSFERRED);
+		return;
+	}
+
+	queue_work(gsc->wq, &gsc->work);
+}
+
+void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc)
+{
+	if (xe_uc_fw_is_loadable(&gsc->fw) && gsc->wq)
+		flush_work(&gsc->work);
+}
diff --git a/drivers/gpu/drm/xe/xe_gsc.h b/drivers/gpu/drm/xe/xe_gsc.h
index baa7f21f4204..f870eddc77d4 100644
--- a/drivers/gpu/drm/xe/xe_gsc.h
+++ b/drivers/gpu/drm/xe/xe_gsc.h
@@ -9,5 +9,8 @@
 #include "xe_gsc_types.h"
 
 int xe_gsc_init(struct xe_gsc *gsc);
+int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc);
+void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc);
+void xe_gsc_load_start(struct xe_gsc *gsc);
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_gsc_types.h b/drivers/gpu/drm/xe/xe_gsc_types.h
index 1bc50583fe58..57fefd66a7ea 100644
--- a/drivers/gpu/drm/xe/xe_gsc_types.h
+++ b/drivers/gpu/drm/xe/xe_gsc_types.h
@@ -6,8 +6,13 @@
 #ifndef _XE_GSC_TYPES_H_
 #define _XE_GSC_TYPES_H_
 
+#include <linux/workqueue.h>
+
 #include "xe_uc_fw_types.h"
 
+struct xe_bo;
+struct xe_exec_queue;
+
 /**
  * struct xe_gsc - GSC
  */
@@ -17,6 +22,18 @@ struct xe_gsc {
 
 	/** @security_version: SVN found in the fetched blob */
 	u32 security_version;
+
+	/** @private: Private data for use by the GSC FW */
+	struct xe_bo *private;
+
+	/** @q: Default queue used for submissions to GSC FW */
+	struct xe_exec_queue *q;
+
+	/** @wq: workqueue to handle jobs for delayed load and proxy handling */
+	struct workqueue_struct *wq;
+
+	/** @work: delayed load and proxy handling work */
+	struct work_struct work;
 };
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_uc.c b/drivers/gpu/drm/xe/xe_uc.c
index b67154c78dff..15dcd1f91e9c 100644
--- a/drivers/gpu/drm/xe/xe_uc.c
+++ b/drivers/gpu/drm/xe/xe_uc.c
@@ -74,11 +74,17 @@ int xe_uc_init(struct xe_uc *uc)
  */
 int xe_uc_init_post_hwconfig(struct xe_uc *uc)
 {
+	int err;
+
 	/* GuC submission not enabled, nothing to do */
 	if (!xe_device_uc_enabled(uc_to_xe(uc)))
 		return 0;
 
-	return xe_guc_init_post_hwconfig(&uc->guc);
+	err = xe_guc_init_post_hwconfig(&uc->guc);
+	if (err)
+		return err;
+
+	return xe_gsc_init_post_hwconfig(&uc->gsc);
 }
 
 static int uc_reset(struct xe_uc *uc)
@@ -173,6 +179,9 @@ int xe_uc_init_hw(struct xe_uc *uc)
 	ret = xe_huc_auth(&uc->huc);
 	xe_gt_assert(uc_to_gt(uc), !ret);
 
+	/* GSC load is async */
+	xe_gsc_load_start(&uc->gsc);
+
 	return 0;
 }
 
@@ -197,6 +206,7 @@ void xe_uc_gucrc_disable(struct xe_uc *uc)
 
 void xe_uc_stop_prepare(struct xe_uc *uc)
 {
+	xe_gsc_wait_for_worker_completion(&uc->gsc);
 	xe_guc_stop_prepare(&uc->guc);
 }
 
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 06/11] drm/xe/gsc: Implement WA 14015076503
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (4 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 05/11] drm/xe/gsc: GSC FW load Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-16 23:51   ` John Harrison
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 07/11] drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload Daniele Ceraolo Spurio
                   ` (11 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

When the GSC FW is loaded, we need to inform it when a GSCCS reset is
coming and then wait 200ms for it to get ready to process the reset.

v2: move WA code to GSC file, use variable in Makefile (John)

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Harrison <john.c.harrison@intel.com>
---
 drivers/gpu/drm/xe/Makefile           | 11 +++++++++-
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h | 10 +++++++++
 drivers/gpu/drm/xe/xe_gsc.c           | 29 +++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_gsc.h           |  4 ++++
 drivers/gpu/drm/xe/xe_gt.c            |  5 +++++
 drivers/gpu/drm/xe/xe_wa_oob.rules    |  1 +
 6 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 1ea6e0679528..b98b2d76a324 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -37,7 +37,16 @@ quiet_cmd_wa_oob = GEN     $(notdir $(generated_oob))
 $(generated_oob) &: $(obj)/xe_gen_wa_oob $(srctree)/$(src)/xe_wa_oob.rules
 	$(call cmd,wa_oob)
 
-$(obj)/xe_guc.o $(obj)/xe_migrate.o $(obj)/xe_ring_ops.o $(obj)/xe_vm.o $(obj)/xe_wa.o $(obj)/xe_ttm_stolen_mgr.o: $(generated_oob)
+uses_generated_oob := \
+	$(obj)/xe_gsc.o \
+	$(obj)/xe_guc.o \
+	$(obj)/xe_migrate.o \
+	$(obj)/xe_ring_ops.o \
+	$(obj)/xe_vm.o \
+	$(obj)/xe_wa.o \
+	$(obj)/xe_ttm_stolen_mgr.o
+
+$(uses_generated_oob): $(generated_oob)
 
 # Please keep these build lists sorted!
 
diff --git a/drivers/gpu/drm/xe/regs/xe_gsc_regs.h b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
index 22d2ad9cb64d..9a84b55d66ee 100644
--- a/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
@@ -16,6 +16,13 @@
 #define MTL_GSC_HECI1_BASE	0x00116000
 #define MTL_GSC_HECI2_BASE	0x00117000
 
+#define HECI_H_CSR(base)	XE_REG((base) + 0x4)
+#define   HECI_H_CSR_IE		REG_BIT(0)
+#define   HECI_H_CSR_IS		REG_BIT(1)
+#define   HECI_H_CSR_IG		REG_BIT(2)
+#define   HECI_H_CSR_RDY	REG_BIT(3)
+#define   HECI_H_CSR_RST	REG_BIT(4)
+
 /*
  * The FWSTS register values are FW defined and can be different between
  * HECI1 and HECI2
@@ -26,4 +33,7 @@
 #define   HECI1_FWSTS1_PROXY_STATE_NORMAL		5
 #define   HECI1_FWSTS1_INIT_COMPLETE			REG_BIT(9)
 
+#define HECI_H_GS1(base)	XE_REG((base) + 0xc4c)
+#define   HECI_H_GS1_ER_PREP	REG_BIT(0)
+
 #endif
diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
index cc9c6cdc31aa..0def7c1ae84d 100644
--- a/drivers/gpu/drm/xe/xe_gsc.c
+++ b/drivers/gpu/drm/xe/xe_gsc.c
@@ -7,6 +7,7 @@
 
 #include <drm/drm_managed.h>
 
+#include "generated/xe_wa_oob.h"
 #include "xe_bb.h"
 #include "xe_bo.h"
 #include "xe_device.h"
@@ -17,6 +18,7 @@
 #include "xe_mmio.h"
 #include "xe_sched_job.h"
 #include "xe_uc_fw.h"
+#include "xe_wa.h"
 #include "instructions/xe_gsc_commands.h"
 #include "regs/xe_gsc_regs.h"
 
@@ -300,3 +302,30 @@ void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc)
 	if (xe_uc_fw_is_loadable(&gsc->fw) && gsc->wq)
 		flush_work(&gsc->work);
 }
+
+/*
+ * wa_14015076503: if the GSC FW is loaded, we need to alert it before doing a
+ * GSC engine reset by writing a notification bit in the GS1 register and then
+ * triggering an interrupt to GSC; from the interrupt it will take up to 200ms
+ * for the FW to get prepare for the reset, so we need to wait for that amount
+ * of time.
+ * After the reset is complete we need to then clear the GS1 register.
+ */
+void xe_gsc_wa_14015076503(struct xe_gt *gt, bool prep)
+{
+	u32 gs1_set = prep ? HECI_H_GS1_ER_PREP : 0;
+	u32 gs1_clr = prep ? 0 : HECI_H_GS1_ER_PREP;
+
+	/* WA only applies if the GSC is loaded */
+	if (!XE_WA(gt, 14015076503) || !gsc_fw_is_loaded(gt))
+		return;
+
+	xe_mmio_rmw32(gt, HECI_H_GS1(MTL_GSC_HECI2_BASE), gs1_clr, gs1_set);
+
+	if (prep) {
+		/* make sure the reset bit is clear when writing the CSR reg */
+		xe_mmio_rmw32(gt, HECI_H_CSR(MTL_GSC_HECI2_BASE),
+			      HECI_H_CSR_RST, HECI_H_CSR_IG);
+		msleep(200);
+	}
+}
diff --git a/drivers/gpu/drm/xe/xe_gsc.h b/drivers/gpu/drm/xe/xe_gsc.h
index f870eddc77d4..bc1ef7f31ea2 100644
--- a/drivers/gpu/drm/xe/xe_gsc.h
+++ b/drivers/gpu/drm/xe/xe_gsc.h
@@ -8,9 +8,13 @@
 
 #include "xe_gsc_types.h"
 
+struct xe_gt;
+
 int xe_gsc_init(struct xe_gsc *gsc);
 int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc);
 void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc);
 void xe_gsc_load_start(struct xe_gsc *gsc);
 
+void xe_gsc_wa_14015076503(struct xe_gt *gt, bool prep);
+
 #endif
diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
index 6c885dde5d59..e591e9c72604 100644
--- a/drivers/gpu/drm/xe/xe_gt.c
+++ b/drivers/gpu/drm/xe/xe_gt.c
@@ -21,6 +21,7 @@
 #include "xe_execlist.h"
 #include "xe_force_wake.h"
 #include "xe_ggtt.h"
+#include "xe_gsc.h"
 #include "xe_gt_clock.h"
 #include "xe_gt_idle_sysfs.h"
 #include "xe_gt_mcr.h"
@@ -512,12 +513,16 @@ static int do_gt_reset(struct xe_gt *gt)
 {
 	int err;
 
+	xe_gsc_wa_14015076503(gt, true);
+
 	xe_mmio_write32(gt, GDRST, GRDOM_FULL);
 	err = xe_mmio_wait32(gt, GDRST, GRDOM_FULL, 0, 5000, NULL, false);
 	if (err)
 		xe_gt_err(gt, "failed to clear GEN11_GRDOM_FULL (%pe)\n",
 			  ERR_PTR(err));
 
+	xe_gsc_wa_14015076503(gt, false);
+
 	return err;
 }
 
diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
index 752842d734be..c7b7d40b5d57 100644
--- a/drivers/gpu/drm/xe/xe_wa_oob.rules
+++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
@@ -20,3 +20,4 @@
 16017236439	PLATFORM(PVC)
 22010954014	PLATFORM(DG2)
 14019821291	MEDIA_VERSION_RANGE(1300, 2000)
+14015076503	MEDIA_VERSION(1300)
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 07/11] drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (5 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 06/11] drm/xe/gsc: Implement WA 14015076503 Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 08/11] drm/xe/gsc: Add an interface for GSC packet submissions Daniele Ceraolo Spurio
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

GSC is only killed by an FLR, so we need to trigger one on unload to
make sure we stop it. This is because we assign a chunk of memory to
the GSC as part of the FW load, so we need to make sure it stops
using it when we release it to the system on driver unload. Note that
this is not a problem of the unload per-se, because the GSC will not
touch that memory unless there are requests for it coming from the
driver; therefore, no accesses will happen while Xe is not loaded,
but if we re-load the driver then the GSC might wake up and try to
access that old memory location again.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
---
 drivers/gpu/drm/xe/xe_gsc.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
index 0def7c1ae84d..1bb0de0a24f4 100644
--- a/drivers/gpu/drm/xe/xe_gsc.c
+++ b/drivers/gpu/drm/xe/xe_gsc.c
@@ -130,6 +130,23 @@ static int gsc_upload(struct xe_gsc *gsc)
 		return err;
 	}
 
+	/*
+	 * GSC is only killed by an FLR, so we need to trigger one on unload to
+	 * make sure we stop it. This is because we assign a chunk of memory to
+	 * the GSC as part of the FW load, so we need to make sure it stops
+	 * using it when we release it to the system on driver unload. Note that
+	 * this is not a problem of the unload per-se, because the GSC will not
+	 * touch that memory unless there are requests for it coming from the
+	 * driver; therefore, no accesses will happen while Xe is not loaded,
+	 * but if we re-load the driver then the GSC might wake up and try to
+	 * access that old memory location again.
+	 * Given that an FLR is a very disruptive action (see the FLR function
+	 * for details), we want to do it as the last action before releasing
+	 * the access to the MMIO bar, which means we need to do it as part of
+	 * mmio cleanup.
+	 */
+	xe->needs_flr_on_fini = true;
+
 	err = emit_gsc_upload(gsc);
 	if (err) {
 		xe_gt_err(gt, "Failed to emit GSC FW upload (%pe)\n", ERR_PTR(err));
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 08/11] drm/xe/gsc: Add an interface for GSC packet submissions
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (6 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 07/11] drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-20  5:20   ` Kandpal, Suraj
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 09/11] drm/xe/gsc: Query GSC compatibility version Daniele Ceraolo Spurio
                   ` (9 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

Communication with the GSC FW is done via input/output buffers, whose
addresses are provided via a GSCCS command. The buffers contain a
generic header and a client-specific packet (e.g. PXP, HDCP); the
clients don't care about the header format and/or the GSCCS command in
the batch, they only care about their client-specific header. This patch
therefore introduces helpers that allow the callers to automatically
fill in the input header, submit the GSCCS job and decode the output
header, to make it so that the caller only needs to worry about their
client-specific input and output messages.

NOTE: this patch by itself only adds the interface so it does nothing,
I've kept it separate for review but the plan is to squash it with the
follow up patch before merge, so that the interface and the user are
introduced at the same time.

v2: encode the client ID in the host session handle, fix function
    description (Suraj)

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.Com> #v1
---
 drivers/gpu/drm/xe/Makefile                   |   1 +
 .../gpu/drm/xe/abi/gsc_command_header_abi.h   |  46 +++++
 .../gpu/drm/xe/instructions/xe_gsc_commands.h |   2 +
 drivers/gpu/drm/xe/xe_gsc_submit.c            | 184 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_gsc_submit.h            |  30 +++
 5 files changed, 263 insertions(+)
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index b98b2d76a324..8121ca266738 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -68,6 +68,7 @@ xe-y += xe_bb.o \
 	xe_ggtt.o \
 	xe_gpu_scheduler.o \
 	xe_gsc.o \
+	xe_gsc_submit.o \
 	xe_gt.o \
 	xe_gt_clock.o \
 	xe_gt_debugfs.o \
diff --git a/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h b/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
new file mode 100644
index 000000000000..a4c2646803b5
--- /dev/null
+++ b/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
@@ -0,0 +1,46 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _ABI_GSC_COMMAND_HEADER_ABI_H
+#define _ABI_GSC_COMMAND_HEADER_ABI_H
+
+#include <linux/types.h>
+
+struct intel_gsc_mtl_header {
+	u32 validity_marker;
+#define GSC_HECI_VALIDITY_MARKER 0xA578875A
+
+	u8 heci_client_id;
+
+	u8 reserved1;
+
+	u16 header_version;
+#define MTL_GSC_HEADER_VERSION 1
+
+	/* FW allows host to decide host_session handle as it sees fit. */
+	u64 host_session_handle;
+
+	/* handle generated by FW for messages that need to be re-submitted */
+	u64 gsc_message_handle;
+
+	u32 message_size; /* lower 20 bits only, upper 12 are reserved */
+
+	/*
+	 * Flags mask:
+	 * Bit 0: Pending
+	 * Bit 1: Session Cleanup;
+	 * Bits 2-15: Flags
+	 * Bits 16-31: Extension Size
+	 * According to internal spec flags are either input or output
+	 * we distinguish the flags using OUTFLAG or INFLAG
+	 */
+	u32 flags;
+#define GSC_OUTFLAG_MSG_PENDING	BIT(0)
+#define GSC_INFLAG_MSG_CLEANUP	BIT(1)
+
+	u32 status;
+} __packed;
+
+#endif
diff --git a/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h b/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
index c7a833d7f965..f8949cad9d0f 100644
--- a/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
+++ b/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
@@ -28,6 +28,8 @@
 	REG_FIELD_PREP(GSC_OPCODE, op) | \
 	REG_FIELD_PREP(GSC_CMD_DATA_AND_LEN, dl))
 
+#define GSC_HECI_CMD_PKT __GSC_INSTR(0, 6)
+
 #define GSC_FW_LOAD __GSC_INSTR(1, 2)
 #define   GSC_FW_LOAD_LIMIT_VALID REG_BIT(31)
 
diff --git a/drivers/gpu/drm/xe/xe_gsc_submit.c b/drivers/gpu/drm/xe/xe_gsc_submit.c
new file mode 100644
index 000000000000..4b3e703aebef
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_gsc_submit.c
@@ -0,0 +1,184 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include "xe_gsc_submit.h"
+
+#include "abi/gsc_command_header_abi.h"
+#include "xe_bb.h"
+#include "xe_exec_queue.h"
+#include "xe_gt_printk.h"
+#include "xe_gt_types.h"
+#include "xe_map.h"
+#include "xe_sched_job.h"
+#include "instructions/xe_gsc_commands.h"
+#include "regs/xe_gsc_regs.h"
+
+#define GSC_HDR_SIZE (sizeof(struct intel_gsc_mtl_header)) /* shorthand define */
+
+#define mtl_gsc_header_wr(xe_, map_, offset_, field_, val_) \
+	xe_map_wr_field(xe_, map_, offset_, struct intel_gsc_mtl_header, field_, val_)
+
+#define mtl_gsc_header_rd(xe_, map_, offset_, field_) \
+	xe_map_rd_field(xe_, map_, offset_, struct intel_gsc_mtl_header, field_)
+
+/*
+ * GSC FW allows us to define the host_session_handle as we see fit, as long
+ * as we use unique identifier for each user, with handle 0 being reserved for
+ * kernel usage.
+ * To be able to differentiate which client subsystem owns the given session, we
+ * include the client id in the top 8 bits of the handle.
+ */
+#define HOST_SESSION_CLIENT_MASK GENMASK(63, 56)
+
+static struct xe_gt *
+gsc_to_gt(struct xe_gsc *gsc)
+{
+	return container_of(gsc, struct xe_gt, uc.gsc);
+}
+
+/**
+ * xe_gsc_emit_header - write the MTL GSC header in memory
+ * @xe: the Xe device
+ * @map: the iosys map to write to
+ * @offset: offset from the start of the map at which to write the header
+ * @heci_client_id: client id identifying the type of command (see abi for values)
+ * @host_session_id: host session ID of the caller
+ * @payload_size: size of the payload that follows the header
+ *
+ * Returns: offset memory location following the header
+ */
+u32 xe_gsc_emit_header(struct xe_device *xe, struct iosys_map *map, u32 offset,
+		       u8 heci_client_id, u64 host_session_id, u32 payload_size)
+{
+	xe_assert(xe, !(host_session_id & HOST_SESSION_CLIENT_MASK));
+
+	if (host_session_id)
+		host_session_id |= FIELD_PREP(HOST_SESSION_CLIENT_MASK, heci_client_id);
+
+	xe_map_memset(xe, map, offset, 0, GSC_HDR_SIZE);
+
+	mtl_gsc_header_wr(xe, map, offset, validity_marker, GSC_HECI_VALIDITY_MARKER);
+	mtl_gsc_header_wr(xe, map, offset, heci_client_id, heci_client_id);
+	mtl_gsc_header_wr(xe, map, offset, host_session_handle, host_session_id);
+	mtl_gsc_header_wr(xe, map, offset, header_version, MTL_GSC_HEADER_VERSION);
+	mtl_gsc_header_wr(xe, map, offset, message_size, payload_size + GSC_HDR_SIZE);
+
+	return offset + GSC_HDR_SIZE;
+};
+
+/**
+ * xe_gsc_check_and_update_pending - check the pending bit and update the input
+ * header with the retry handle from the output header
+ * @xe: the Xe device
+ * @in: the iosys map containing the input buffer
+ * @offset_in: offset within the iosys at which the input buffer is located
+ * @out: the iosys map containing the output buffer
+ * @offset_out: offset within the iosys at which the output buffer is located
+ *
+ * Returns: true if the pending bit was set, false otherwise
+ */
+bool xe_gsc_check_and_update_pending(struct xe_device *xe,
+				     struct iosys_map *in, u32 offset_in,
+				     struct iosys_map *out, u32 offset_out)
+{
+	if (mtl_gsc_header_rd(xe, out, offset_out, flags) & GSC_OUTFLAG_MSG_PENDING) {
+		u64 handle = mtl_gsc_header_rd(xe, out, offset_out, gsc_message_handle);
+
+		mtl_gsc_header_wr(xe, in, offset_in, gsc_message_handle, handle);
+
+		return true;
+	}
+
+	return false;
+}
+
+/**
+ * xe_gsc_read_out_header - reads and validates the output header and returns
+ * the offset of the reply following the header
+ * @xe: the Xe device
+ * @map: the iosys map containing the output buffer
+ * @offset: offset within the iosys at which the output buffer is located
+ * @min_payload_size: minimum size of the message excluding the gsc header
+ * @payload_offset: optional pointer to be set to the payload offset
+ *
+ * Returns: -errno value on failure, 0 otherwise
+ */
+int xe_gsc_read_out_header(struct xe_device *xe,
+			   struct iosys_map *map, u32 offset,
+			   u32 min_payload_size,
+			   u32 *payload_offset)
+{
+	u32 marker = mtl_gsc_header_rd(xe, map, offset, validity_marker);
+	u32 size = mtl_gsc_header_rd(xe, map, offset, message_size);
+	u32 payload_size = size - GSC_HDR_SIZE;
+
+	if (marker != GSC_HECI_VALIDITY_MARKER)
+		return -EPROTO;
+
+	if (size < GSC_HDR_SIZE || payload_size < min_payload_size)
+		return -ENODATA;
+
+	if (payload_offset)
+		*payload_offset = offset + GSC_HDR_SIZE;
+
+	return 0;
+}
+
+/**
+ * xe_gsc_pkt_submit_kernel - submit a kernel heci pkt to the GSC
+ * @xe: the GSC uC
+ * @addr_in: GGTT address of the message to send to the GSC
+ * @size_in: size of the message to send to the GSC
+ * @addr_out: GGTT address for the GSC to write the reply to
+ * @size_out: size of the memory reserved for the reply
+ */
+int xe_gsc_pkt_submit_kernel(struct xe_gsc *gsc, u64 addr_in, u32 size_in,
+			     u64 addr_out, u32 size_out)
+{
+	struct xe_gt *gt = gsc_to_gt(gsc);
+	struct xe_bb *bb;
+	struct xe_sched_job *job;
+	struct dma_fence *fence;
+	long timeout;
+
+	if (size_in < GSC_HDR_SIZE)
+		return -ENODATA;
+
+	if (size_out < GSC_HDR_SIZE)
+		return -ENOMEM;
+
+	bb = xe_bb_new(gt, 8, false);
+	if (IS_ERR(bb))
+		return PTR_ERR(bb);
+
+	bb->cs[bb->len++] = GSC_HECI_CMD_PKT;
+	bb->cs[bb->len++] = lower_32_bits(addr_in);
+	bb->cs[bb->len++] = upper_32_bits(addr_in);
+	bb->cs[bb->len++] = size_in;
+	bb->cs[bb->len++] = lower_32_bits(addr_out);
+	bb->cs[bb->len++] = upper_32_bits(addr_out);
+	bb->cs[bb->len++] = size_out;
+	bb->cs[bb->len++] = 0;
+
+	job = xe_bb_create_job(gsc->q, bb);
+	if (IS_ERR(job)) {
+		xe_bb_free(bb, NULL);
+		return PTR_ERR(job);
+	}
+
+	xe_sched_job_arm(job);
+	fence = dma_fence_get(&job->drm.s_fence->finished);
+	xe_sched_job_push(job);
+
+	timeout = dma_fence_wait_timeout(fence, false, HZ);
+	dma_fence_put(fence);
+	xe_bb_free(bb, NULL);
+	if (timeout < 0)
+		return timeout;
+	else if (!timeout)
+		return -ETIME;
+
+	return 0;
+}
diff --git a/drivers/gpu/drm/xe/xe_gsc_submit.h b/drivers/gpu/drm/xe/xe_gsc_submit.h
new file mode 100644
index 000000000000..0801da5d446a
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_gsc_submit.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _XE_GSC_SUBMIT_H_
+#define _XE_GSC_SUBMIT_H_
+
+#include <linux/types.h>
+
+struct iosys_map;
+struct xe_device;
+struct xe_gsc;
+
+u32 xe_gsc_emit_header(struct xe_device *xe, struct iosys_map *map, u32 offset,
+		       u8 heci_client_id, u64 host_session_id, u32 payload_size);
+
+bool xe_gsc_check_and_update_pending(struct xe_device *xe,
+				     struct iosys_map *in, u32 offset_in,
+				     struct iosys_map *out, u32 offset_out);
+
+int xe_gsc_read_out_header(struct xe_device *xe,
+			   struct iosys_map *map, u32 offset,
+			   u32 min_payload_size,
+			   u32 *payload_offset);
+
+int xe_gsc_pkt_submit_kernel(struct xe_gsc *gsc, u64 addr_in, u32 size_in,
+			     u64 addr_out, u32 size_out);
+
+#endif
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 09/11] drm/xe/gsc: Query GSC compatibility version
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (7 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 08/11] drm/xe/gsc: Add an interface for GSC packet submissions Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-16 23:58   ` John Harrison
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 10/11] drm/xe/gsc: Define GSCCS for MTL Daniele Ceraolo Spurio
                   ` (8 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

The version is obtained via a dedicated MKHI GSC command.
The compatibility version is what we want to match against for the GSC,
so we need to call the FW version checker after obtaining the version.

v2: rename query message wrappers to be less generic (John), fix line
    length (checkpatch)

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
---
 .../gpu/drm/xe/abi/gsc_mkhi_commands_abi.h    | 39 +++++++++
 drivers/gpu/drm/xe/xe_gsc.c                   | 82 +++++++++++++++++++
 drivers/gpu/drm/xe/xe_uc_fw.c                 | 18 ++--
 drivers/gpu/drm/xe/xe_uc_fw.h                 |  1 +
 4 files changed, 134 insertions(+), 6 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h

diff --git a/drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h b/drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
new file mode 100644
index 000000000000..ad4d041873ab
--- /dev/null
+++ b/drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
@@ -0,0 +1,39 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _ABI_GSC_MKHI_COMMANDS_ABI_H
+#define _ABI_GSC_MKHI_COMMANDS_ABI_H
+
+#include <linux/types.h>
+
+/* Heci client ID for MKHI commands */
+#define HECI_MEADDRESS_MKHI 7
+
+/* Generic MKHI header */
+struct gsc_mkhi_header {
+	u8  group_id;
+	u8  command;
+	u8  reserved;
+	u8  result;
+} __packed;
+
+/* GFX_SRV commands */
+#define MKHI_GROUP_ID_GFX_SRV 0x30
+
+#define MKHI_GFX_SRV_GET_HOST_COMPATIBILITY_VERSION (0x42)
+
+struct gsc_get_compatibility_version_in {
+	struct gsc_mkhi_header header;
+} __packed;
+
+struct gsc_get_compatibility_version_out {
+	struct gsc_mkhi_header header;
+	u16 proj_major;
+	u16 compat_major;
+	u16 compat_minor;
+	u16 reserved[5];
+} __packed;
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
index 1bb0de0a24f4..093c0fafe584 100644
--- a/drivers/gpu/drm/xe/xe_gsc.c
+++ b/drivers/gpu/drm/xe/xe_gsc.c
@@ -7,11 +7,13 @@
 
 #include <drm/drm_managed.h>
 
+#include "abi/gsc_mkhi_commands_abi.h"
 #include "generated/xe_wa_oob.h"
 #include "xe_bb.h"
 #include "xe_bo.h"
 #include "xe_device.h"
 #include "xe_exec_queue.h"
+#include "xe_gsc_submit.h"
 #include "xe_gt.h"
 #include "xe_gt_printk.h"
 #include "xe_map.h"
@@ -91,6 +93,78 @@ static int emit_gsc_upload(struct xe_gsc *gsc)
 	return 0;
 }
 
+#define version_query_wr(xe_, map_, offset_, field_, val_) \
+	xe_map_wr_field(xe_, map_, offset_, struct gsc_get_compatibility_version_in, field_, val_)
+#define version_query_rd(xe_, map_, offset_, field_) \
+	xe_map_rd_field(xe_, map_, offset_, struct gsc_get_compatibility_version_out, field_)
+
+static u32 emit_version_query_msg(struct xe_device *xe, struct iosys_map *map, u32 wr_offset)
+{
+	xe_map_memset(xe, map, wr_offset, 0, sizeof(struct gsc_get_compatibility_version_in));
+
+	version_query_wr(xe, map, wr_offset, header.group_id, MKHI_GROUP_ID_GFX_SRV);
+	version_query_wr(xe, map, wr_offset, header.command,
+			 MKHI_GFX_SRV_GET_HOST_COMPATIBILITY_VERSION);
+
+	return wr_offset + sizeof(struct gsc_get_compatibility_version_in);
+}
+
+#define GSC_VER_PKT_SZ SZ_4K /* 4K each for input and output */
+static int query_compatibility_version(struct xe_gsc *gsc)
+{
+	struct xe_uc_fw_version *compat = &gsc->fw.versions.found[XE_UC_FW_VER_COMPATIBILITY];
+	struct xe_gt *gt = gsc_to_gt(gsc);
+	struct xe_tile *tile = gt_to_tile(gt);
+	struct xe_device *xe = gt_to_xe(gt);
+	struct xe_bo *bo;
+	u32 wr_offset;
+	u32 rd_offset;
+	u64 ggtt_offset;
+	int err;
+
+	bo = xe_bo_create_pin_map(xe, tile, NULL, GSC_VER_PKT_SZ * 2,
+				  ttm_bo_type_kernel,
+				  XE_BO_CREATE_SYSTEM_BIT |
+				  XE_BO_CREATE_GGTT_BIT);
+	if (IS_ERR(bo)) {
+		xe_gt_err(gt, "failed to allocate bo for GSC version query\n");
+		return err;
+	}
+
+	ggtt_offset = xe_bo_ggtt_addr(bo);
+
+	wr_offset = xe_gsc_emit_header(xe, &bo->vmap, 0, HECI_MEADDRESS_MKHI, 0,
+				       sizeof(struct gsc_get_compatibility_version_in));
+	wr_offset = emit_version_query_msg(xe, &bo->vmap, wr_offset);
+
+	err = xe_gsc_pkt_submit_kernel(gsc, ggtt_offset, wr_offset,
+				       ggtt_offset + GSC_VER_PKT_SZ,
+				       GSC_VER_PKT_SZ);
+	if (err) {
+		xe_gt_err(gt,
+			  "failed to submit GSC request for compatibility version: %d\n",
+			  err);
+		goto out_bo;
+	}
+
+	err = xe_gsc_read_out_header(xe, &bo->vmap, GSC_VER_PKT_SZ,
+				     sizeof(struct gsc_get_compatibility_version_out),
+				     &rd_offset);
+	if (err) {
+		xe_gt_err(gt, "HuC: invalid GSC reply for version query (err=%d)\n", err);
+		return err;
+	}
+
+	compat->major = version_query_rd(xe, &bo->vmap, rd_offset, compat_major);
+	compat->minor = version_query_rd(xe, &bo->vmap, rd_offset, compat_minor);
+
+	xe_gt_info(gt, "found GSC cv%u.%u\n", compat->major, compat->minor);
+
+out_bo:
+	xe_bo_unpin_map_no_vm(bo);
+	return err;
+}
+
 static int gsc_fw_is_loaded(struct xe_gt *gt)
 {
 	return xe_mmio_read32(gt, HECI_FWSTS1(MTL_GSC_HECI1_BASE)) &
@@ -159,6 +233,14 @@ static int gsc_upload(struct xe_gsc *gsc)
 		return err;
 	}
 
+	err = query_compatibility_version(gsc);
+	if (err)
+		return err;
+
+	err = xe_uc_fw_check_version_requirements(&gsc->fw);
+	if (err)
+		return err;
+
 	xe_gt_dbg(gt, "GSC FW async load completed\n");
 
 	return 0;
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index c354f7b51103..062fc1eb591c 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -224,8 +224,11 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 			uc_fw->versions.wanted.minor = entries[i].minor;
 			uc_fw->full_ver_required = entries[i].full_ver_required;
 
-			/* compatibility version checking coming soon */
-			uc_fw->versions.wanted_type = XE_UC_FW_VER_RELEASE;
+			if (uc_fw->type == XE_UC_FW_TYPE_GSC)
+				uc_fw->versions.wanted_type = XE_UC_FW_VER_COMPATIBILITY;
+			else
+				uc_fw->versions.wanted_type = XE_UC_FW_VER_RELEASE;
+
 			break;
 		}
 	}
@@ -321,7 +324,7 @@ static void guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_header *css)
 	uc_fw->private_data_size = css->private_data_size;
 }
 
-static int uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
+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;
@@ -678,9 +681,12 @@ int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
 			    "Using %s firmware from %s",
 			    xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
 
-	err = uc_fw_check_version_requirements(uc_fw);
-	if (err)
-		goto fail;
+	/* for GSC FW we want the compatibility version, which we query after load */
+	if (uc_fw->type != XE_UC_FW_TYPE_GSC) {
+		err = xe_uc_fw_check_version_requirements(uc_fw);
+		if (err)
+			goto fail;
+	}
 
 	obj = xe_bo_create_from_data(xe, tile, fw->data, fw->size,
 				     ttm_bo_type_kernel,
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.h b/drivers/gpu/drm/xe/xe_uc_fw.h
index 7feafe1695f9..85c20795d1f8 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.h
+++ b/drivers/gpu/drm/xe/xe_uc_fw.h
@@ -17,6 +17,7 @@ struct drm_printer;
 int xe_uc_fw_init(struct xe_uc_fw *uc_fw);
 size_t xe_uc_fw_copy_rsa(struct xe_uc_fw *uc_fw, void *dst, u32 max_len);
 int xe_uc_fw_upload(struct xe_uc_fw *uc_fw, u32 offset, u32 dma_flags);
+int xe_uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw);
 void xe_uc_fw_print(struct xe_uc_fw *uc_fw, struct drm_printer *p);
 
 static inline u32 xe_uc_fw_rsa_offset(struct xe_uc_fw *uc_fw)
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 10/11] drm/xe/gsc: Define GSCCS for MTL
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (8 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 09/11] drm/xe/gsc: Query GSC compatibility version Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 11/11] drm/xe/gsc: Define GSC FW " Daniele Ceraolo Spurio
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

Add the GSCCS to the media_xelpmp engine list. Note that since the
GSCCS is only used with the GSC FW, we can consider it disabled if we
don't have the FW available.

v2: mark GSCCS as allowed on the media IP in kunit tests

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com> #v1
---
 drivers/gpu/drm/xe/tests/xe_pci_test.c |  9 +++------
 drivers/gpu/drm/xe/xe_hw_engine.c      | 20 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_pci.c            |  2 +-
 3 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/xe/tests/xe_pci_test.c b/drivers/gpu/drm/xe/tests/xe_pci_test.c
index 9c6f6c2c6c6e..98ecab51154e 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci_test.c
+++ b/drivers/gpu/drm/xe/tests/xe_pci_test.c
@@ -33,13 +33,10 @@ static void check_media_ip(const struct xe_media_desc *media)
 	struct kunit *test = xe_cur_kunit();
 	u64 mask = media->hw_engine_mask;
 
-	/*
-	 * VCS and VECS engines are allowed on the media IP
-	 *
-	 * TODO:  Add GSCCS once support is added to the driver.
-	 */
+	/* VCS, VECS and GSCCS engines are allowed on the media IP */
 	mask &= ~(XE_HW_ENGINE_VCS_MASK |
-		  XE_HW_ENGINE_VECS_MASK);
+		  XE_HW_ENGINE_VECS_MASK |
+		  XE_HW_ENGINE_GSCCS_MASK);
 
 	/* Any remaining engines are an error */
 	KUNIT_ASSERT_EQ(test, mask, 0);
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index e831e63c5e48..c52c26c395a7 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -26,6 +26,7 @@
 #include "xe_rtp.h"
 #include "xe_sched_job.h"
 #include "xe_tuning.h"
+#include "xe_uc_fw.h"
 #include "xe_wa.h"
 
 #define MAX_MMIO_BASES 3
@@ -610,6 +611,24 @@ static void read_compute_fuses(struct xe_gt *gt)
 		read_compute_fuses_from_dss(gt);
 }
 
+static void check_gsc_availability(struct xe_gt *gt)
+{
+	struct xe_device *xe = gt_to_xe(gt);
+
+	if (!(gt->info.engine_mask & BIT(XE_HW_ENGINE_GSCCS0)))
+		return;
+
+	/*
+	 * The GSCCS is only used to communicate with the GSC FW, so if we don't
+	 * have the FW there is nothing we need the engine for and can therefore
+	 * skip its initialization.
+	 */
+	if (!xe_uc_fw_is_available(&gt->uc.gsc.fw)) {
+		gt->info.engine_mask &= ~BIT(XE_HW_ENGINE_GSCCS0);
+		drm_info(&xe->drm, "gsccs disabled due to lack of FW\n");
+	}
+}
+
 int xe_hw_engines_init_early(struct xe_gt *gt)
 {
 	int i;
@@ -617,6 +636,7 @@ int xe_hw_engines_init_early(struct xe_gt *gt)
 	read_media_fuses(gt);
 	read_copy_fuses(gt);
 	read_compute_fuses(gt);
+	check_gsc_availability(gt);
 
 	BUILD_BUG_ON(XE_HW_ENGINE_PREEMPT_TIMEOUT < XE_HW_ENGINE_PREEMPT_TIMEOUT_MIN);
 	BUILD_BUG_ON(XE_HW_ENGINE_PREEMPT_TIMEOUT > XE_HW_ENGINE_PREEMPT_TIMEOUT_MAX);
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 682ba188e456..406b4cd4c88a 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -197,7 +197,7 @@ static const struct xe_media_desc media_xelpmp = {
 	.name = "Xe_LPM+",
 	.hw_engine_mask =
 		BIT(XE_HW_ENGINE_VCS0) | BIT(XE_HW_ENGINE_VCS2) |
-		BIT(XE_HW_ENGINE_VECS0),	/* TODO: add GSC0 */
+		BIT(XE_HW_ENGINE_VECS0) | BIT(XE_HW_ENGINE_GSCCS0)
 };
 
 static const struct xe_media_desc media_xe2 = {
-- 
2.41.0


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

* [Intel-xe] [PATCH v2 11/11] drm/xe/gsc: Define GSC FW for MTL
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (9 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 10/11] drm/xe/gsc: Define GSCCS for MTL Daniele Ceraolo Spurio
@ 2023-11-15  0:46 ` Daniele Ceraolo Spurio
  2023-11-17  0:09   ` John Harrison
  2023-11-15  0:49 ` [Intel-xe] ✓ CI.Patch_applied: success for GSC FW loading (rev2) Patchwork
                   ` (6 subsequent siblings)
  17 siblings, 1 reply; 28+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-11-15  0:46 UTC (permalink / raw)
  To: intel-xe

We track GSC FW based on its compatibility version, which is what
determines the interface it supports.
Also add a modparam override like the ones for GuC and HuC.

v2: fix module param description (John)

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
---
 drivers/gpu/drm/xe/xe_module.c |  5 +++++
 drivers/gpu/drm/xe/xe_module.h |  1 +
 drivers/gpu/drm/xe/xe_uc_fw.c  | 20 ++++++++++++--------
 3 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c
index 7194595e7f31..93b6bb23d4a6 100644
--- a/drivers/gpu/drm/xe/xe_module.c
+++ b/drivers/gpu/drm/xe/xe_module.c
@@ -41,6 +41,11 @@ module_param_named_unsafe(huc_firmware_path, xe_huc_firmware_path, charp, 0400);
 MODULE_PARM_DESC(huc_firmware_path,
 		 "HuC firmware path to use instead of the default one - empty string disables");
 
+char *xe_gsc_firmware_path;
+module_param_named_unsafe(gsc_firmware_path, xe_gsc_firmware_path, charp, 0400);
+MODULE_PARM_DESC(gsc_firmware_path,
+		 "GSC firmware path to use instead of the default one - empty string disables");
+
 char *xe_param_force_probe = CONFIG_DRM_XE_FORCE_PROBE;
 module_param_named_unsafe(force_probe, xe_param_force_probe, charp, 0400);
 MODULE_PARM_DESC(force_probe,
diff --git a/drivers/gpu/drm/xe/xe_module.h b/drivers/gpu/drm/xe/xe_module.h
index e1da1e9ca5cb..7f49f95630d5 100644
--- a/drivers/gpu/drm/xe/xe_module.h
+++ b/drivers/gpu/drm/xe/xe_module.h
@@ -12,4 +12,5 @@ extern u32 xe_force_vram_bar_size;
 extern int xe_guc_log_level;
 extern char *xe_guc_firmware_path;
 extern char *xe_huc_firmware_path;
+extern char *xe_gsc_firmware_path;
 extern char *xe_param_force_probe;
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 062fc1eb591c..36bf902ac459 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -121,6 +121,10 @@ struct fw_blobs_by_type {
 	fw_def(ROCKETLAKE,	no_ver(i915,	huc,		tgl))		\
 	fw_def(TIGERLAKE,	no_ver(i915,	huc,		tgl))
 
+/* 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(METEORLAKE,	major_ver(i915,	gsc,	mtl,	1, 0))
+
 #define MAKE_FW_PATH(dir__, uc__, shortname__, version__)			\
 	__stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"
 
@@ -155,6 +159,7 @@ XE_GUC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE,
 		     fw_filename_mmp_ver, fw_filename_major_ver)
 XE_HUC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE,
 		     fw_filename_mmp_ver, fw_filename_no_ver)
+XE_GSC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE, fw_filename_major_ver)
 
 static struct xe_gt *
 __uc_fw_to_gt(struct xe_uc_fw *uc_fw, enum xe_uc_fw_type type)
@@ -196,23 +201,19 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 				     uc_fw_entry_mmp_ver,
 				     uc_fw_entry_no_ver)
 	};
+	static const struct uc_fw_entry entries_gsc[] = {
+		XE_GSC_FIRMWARE_DEFS(XE_UC_FW_ENTRY, uc_fw_entry_major_ver)
+	};
 	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) },
 		[XE_UC_FW_TYPE_HUC] = { entries_huc, ARRAY_SIZE(entries_huc) },
+		[XE_UC_FW_TYPE_GSC] = { entries_gsc, ARRAY_SIZE(entries_gsc) },
 	};
 	static const struct uc_fw_entry *entries;
 	enum xe_platform p = xe->info.platform;
 	u32 count;
 	int i;
 
-	/*
-	 * GSC FW support is still not fully in place, so we're not defining
-	 * the FW blob yet because we don't want the driver to attempt to load
-	 * it until we're ready for it.
-	 */
-	if (uc_fw->type == XE_UC_FW_TYPE_GSC)
-		return;
-
 	xe_assert(xe, uc_fw->type < ARRAY_SIZE(blobs_all));
 	entries = blobs_all[uc_fw->type].entries;
 	count = blobs_all[uc_fw->type].count;
@@ -248,6 +249,9 @@ uc_fw_override(struct xe_uc_fw *uc_fw)
 	case XE_UC_FW_TYPE_HUC:
 		path_override = xe_huc_firmware_path;
 		break;
+	case XE_UC_FW_TYPE_GSC:
+		path_override = xe_gsc_firmware_path;
+		break;
 	default:
 		break;
 	}
-- 
2.41.0


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

* [Intel-xe] ✓ CI.Patch_applied: success for GSC FW loading (rev2)
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (10 preceding siblings ...)
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 11/11] drm/xe/gsc: Define GSC FW " Daniele Ceraolo Spurio
@ 2023-11-15  0:49 ` Patchwork
  2023-11-15  0:49 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2023-11-15  0:49 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

== Series Details ==

Series: GSC FW loading (rev2)
URL   : https://patchwork.freedesktop.org/series/125717/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-xe-next' with base: ===
Base commit: 2fe82053d drm/xe/display: Add writing of remapped dpt
=== git am output follows ===
.git/rebase-apply/patch:85: new blank line at EOF.
+
warning: 1 line adds whitespace errors.
Applying: fixup! drm/xe/guc: Report submission version of GuC firmware
Applying: drm/xe/uc: Rework uC version tracking
Applying: drm/xe/gsc: Introduce GSC FW
Applying: drm/xe/gsc: Parse GSC FW header
Applying: drm/xe/gsc: GSC FW load
Applying: drm/xe/gsc: Implement WA 14015076503
Applying: drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
Applying: drm/xe/gsc: Add an interface for GSC packet submissions
Applying: drm/xe/gsc: Query GSC compatibility version
Applying: drm/xe/gsc: Define GSCCS for MTL
Applying: drm/xe/gsc: Define GSC FW for MTL



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

* [Intel-xe] ✗ CI.checkpatch: warning for GSC FW loading (rev2)
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (11 preceding siblings ...)
  2023-11-15  0:49 ` [Intel-xe] ✓ CI.Patch_applied: success for GSC FW loading (rev2) Patchwork
@ 2023-11-15  0:49 ` Patchwork
  2023-11-15  0:51 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2023-11-15  0:49 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

== Series Details ==

Series: GSC FW loading (rev2)
URL   : https://patchwork.freedesktop.org/series/125717/
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
63c2b6b160bca2df6efc7bc4cea6f442097d7854
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit ece468c77bccc952813bcc3b83669e39b7a50302
Author: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Date:   Tue Nov 14 16:46:14 2023 -0800

    drm/xe/gsc: Define GSC FW for MTL
    
    We track GSC FW based on its compatibility version, which is what
    determines the interface it supports.
    Also add a modparam override like the ones for GuC and HuC.
    
    v2: fix module param description (John)
    
    Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
    Cc: John Harrison <John.C.Harrison@Intel.com>
+ /mt/dim checkpatch 2fe82053d916d09ffcc92bc27294c9eed4e4804b drm-intel
cd8503741 fixup! drm/xe/guc: Report submission version of GuC firmware
7fe6aa44a drm/xe/uc: Rework uC version tracking
-:206: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'p_' - possible side-effects?
#206: FILE: drivers/gpu/drm/xe/xe_uc_fw.c:528:
+#define print_uc_fw_version(p_, version_, prefix_, ...) \
+do { \
+	struct xe_uc_fw_version *ver_ = (version_); \
+	if (ver_->build) \
+		drm_printf(p_, prefix_ " version %u.%u.%u.%u\n", ##__VA_ARGS__, \
+			   ver_->major, ver_->minor, \
+			   ver_->patch, ver_->build); \
+	else \
+		drm_printf(p_, prefix_ " version %u.%u.%u\n", ##__VA_ARGS__, \
+			  ver_->major, ver_->minor, ver_->patch); \
+} while (0)

-:206: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'prefix_' - possible side-effects?
#206: FILE: drivers/gpu/drm/xe/xe_uc_fw.c:528:
+#define print_uc_fw_version(p_, version_, prefix_, ...) \
+do { \
+	struct xe_uc_fw_version *ver_ = (version_); \
+	if (ver_->build) \
+		drm_printf(p_, prefix_ " version %u.%u.%u.%u\n", ##__VA_ARGS__, \
+			   ver_->major, ver_->minor, \
+			   ver_->patch, ver_->build); \
+	else \
+		drm_printf(p_, prefix_ " version %u.%u.%u\n", ##__VA_ARGS__, \
+			  ver_->major, ver_->minor, ver_->patch); \
+} while (0)

total: 0 errors, 0 warnings, 2 checks, 298 lines checked
9002444b3 drm/xe/gsc: Introduce GSC FW
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:33: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#33: 
new file mode 100644

-:65: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around 'gt != tile->media_gt'
#65: FILE: drivers/gpu/drm/xe/xe_gsc.c:28:
+	if (tile->media_gt && (gt != tile->media_gt)) {

total: 0 errors, 1 warnings, 1 checks, 193 lines checked
520065416 drm/xe/gsc: Parse GSC FW header
a564cf109 drm/xe/gsc: GSC FW load
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:27: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#27: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 418 lines checked
cba67de99 drm/xe/gsc: Implement WA 14015076503
943e088cb drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
ae90c4c6c drm/xe/gsc: Add an interface for GSC packet submissions
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:42: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#42: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 275 lines checked
283cc31c6 drm/xe/gsc: Query GSC compatibility version
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:18: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#18: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 187 lines checked
4cc218572 drm/xe/gsc: Define GSCCS for MTL
ece468c77 drm/xe/gsc: Define GSC FW for MTL



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

* [Intel-xe] ✓ CI.KUnit: success for GSC FW loading (rev2)
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (12 preceding siblings ...)
  2023-11-15  0:49 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
@ 2023-11-15  0:51 ` Patchwork
  2023-11-15  0:58 ` [Intel-xe] ✓ CI.Build: " Patchwork
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2023-11-15  0:51 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

== Series Details ==

Series: GSC FW loading (rev2)
URL   : https://patchwork.freedesktop.org/series/125717/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
stty: 'standard input': Inappropriate ioctl for device
[00:49:48] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[00:49:52] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[00:50:13] Starting KUnit Kernel (1/1)...
[00:50:13] ============================================================
[00:50:13] ========================== xe_bo  ==========================
[00:50:13] [SKIPPED] xe_ccs_migrate_kunit
[00:50:13] [SKIPPED] xe_bo_evict_kunit
[00:50:13] ===================== [SKIPPED] xe_bo ======================
[00:50:13] ======================= xe_dma_buf  ========================
[00:50:13] [SKIPPED] xe_dma_buf_kunit
[00:50:13] =================== [SKIPPED] xe_dma_buf ===================
[00:50:13] ======================= xe_migrate  ========================
[00:50:13] [SKIPPED] xe_migrate_sanity_kunit
[00:50:13] =================== [SKIPPED] xe_migrate ===================
[00:50:13] ========================= xe_pci  ==========================
[00:50:13] [PASSED] xe_gmdid_graphics_ip
[00:50:13] [PASSED] xe_gmdid_media_ip
[00:50:13] ===================== [PASSED] xe_pci ======================
[00:50:13] ========================= xe_rtp  ==========================
[00:50:13] ================== xe_rtp_process_tests  ===================
[00:50:13] [PASSED] coalesce-same-reg
[00:50:13] [PASSED] no-match-no-add
[00:50:13] [PASSED] no-match-no-add-multiple-rules
[00:50:13] [PASSED] two-regs-two-entries
[00:50:13] [PASSED] clr-one-set-other
[00:50:13] [PASSED] set-field
[00:50:13] [PASSED] conflict-duplicate
[00:50:13] [PASSED] conflict-not-disjoint
[00:50:13] [PASSED] conflict-reg-type
[00:50:13] ============== [PASSED] xe_rtp_process_tests ===============
[00:50:13] ===================== [PASSED] xe_rtp ======================
[00:50:13] ========================== xe_wa  ==========================
[00:50:13] ======================== xe_wa_gt  =========================
[00:50:13] [PASSED] TIGERLAKE (B0)
[00:50:13] [PASSED] DG1 (A0)
[00:50:13] [PASSED] DG1 (B0)
[00:50:13] [PASSED] ALDERLAKE_S (A0)
[00:50:13] [PASSED] ALDERLAKE_S (B0)
[00:50:13] [PASSED] ALDERLAKE_S (C0)
[00:50:13] [PASSED] ALDERLAKE_S (D0)
[00:50:13] [PASSED] ALDERLAKE_P (A0)
[00:50:13] [PASSED] ALDERLAKE_P (B0)
[00:50:13] [PASSED] ALDERLAKE_P (C0)
[00:50:13] [PASSED] ALDERLAKE_S_RPLS (D0)
[00:50:13] [PASSED] ALDERLAKE_P_RPLU (E0)
[00:50:13] [PASSED] DG2_G10 (A0)
[00:50:13] [PASSED] DG2_G10 (A1)
[00:50:13] [PASSED] DG2_G10 (B0)
[00:50:13] [PASSED] DG2_G10 (C0)
[00:50:13] [PASSED] DG2_G11 (A0)
[00:50:13] [PASSED] DG2_G11 (B0)
[00:50:13] [PASSED] DG2_G11 (B1)
[00:50:13] [PASSED] DG2_G12 (A0)
[00:50:13] [PASSED] DG2_G12 (A1)
[00:50:13] [PASSED] PVC (B0)
[00:50:13] [PASSED] PVC (B1)
[00:50:13] [PASSED] PVC (C0)
[00:50:13] ==================== [PASSED] xe_wa_gt =====================
[00:50:13] ====================== [PASSED] xe_wa ======================
[00:50:13] ============================================================
[00:50:13] Testing complete. Ran 39 tests: passed: 35, skipped: 4
[00:50:13] Elapsed time: 24.387s total, 4.202s configuring, 20.065s building, 0.096s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[00:50:13] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[00:50:14] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[00:50:34] Starting KUnit Kernel (1/1)...
[00:50:34] ============================================================
[00:50:34] ================== drm_test_pick_cmdline  ==================
[00:50:34] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[00:50:34] =============== drm_test_pick_cmdline_named  ===============
[00:50:34] [PASSED] NTSC
[00:50:34] [PASSED] NTSC-J
[00:50:34] [PASSED] PAL
[00:50:34] [PASSED] PAL-M
[00:50:34] =========== [PASSED] drm_test_pick_cmdline_named ===========
[00:50:34] ============== [PASSED] drm_test_pick_cmdline ==============
[00:50:34] ======================== drm_buddy  ========================
[00:50:34] [PASSED] drm_test_buddy_alloc_limit
[00:50:34] [PASSED] drm_test_buddy_alloc_range
[00:50:34] [PASSED] drm_test_buddy_alloc_optimistic
[00:50:34] [PASSED] drm_test_buddy_alloc_pessimistic
[00:50:34] [PASSED] drm_test_buddy_alloc_smoke
[00:50:34] [PASSED] drm_test_buddy_alloc_pathological
[00:50:34] ==================== [PASSED] drm_buddy ====================
[00:50:34] =================== drm_cmdline_parser  ====================
[00:50:34] [PASSED] drm_test_cmdline_force_d_only
[00:50:34] [PASSED] drm_test_cmdline_force_D_only_dvi
[00:50:34] [PASSED] drm_test_cmdline_force_D_only_hdmi
[00:50:34] [PASSED] drm_test_cmdline_force_D_only_not_digital
[00:50:34] [PASSED] drm_test_cmdline_force_e_only
[00:50:34] [PASSED] drm_test_cmdline_res
[00:50:34] [PASSED] drm_test_cmdline_res_vesa
[00:50:34] [PASSED] drm_test_cmdline_res_vesa_rblank
[00:50:34] [PASSED] drm_test_cmdline_res_rblank
[00:50:34] [PASSED] drm_test_cmdline_res_bpp
[00:50:34] [PASSED] drm_test_cmdline_res_refresh
[00:50:34] [PASSED] drm_test_cmdline_res_bpp_refresh
[00:50:34] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[00:50:34] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[00:50:34] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[00:50:34] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[00:50:34] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[00:50:34] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[00:50:34] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[00:50:34] [PASSED] drm_test_cmdline_res_margins_force_on
[00:50:34] [PASSED] drm_test_cmdline_res_vesa_margins
[00:50:34] [PASSED] drm_test_cmdline_name
[00:50:34] [PASSED] drm_test_cmdline_name_bpp
[00:50:34] [PASSED] drm_test_cmdline_name_option
[00:50:34] [PASSED] drm_test_cmdline_name_bpp_option
[00:50:34] [PASSED] drm_test_cmdline_rotate_0
[00:50:34] [PASSED] drm_test_cmdline_rotate_90
[00:50:34] [PASSED] drm_test_cmdline_rotate_180
[00:50:34] [PASSED] drm_test_cmdline_rotate_270
[00:50:34] [PASSED] drm_test_cmdline_hmirror
[00:50:34] [PASSED] drm_test_cmdline_vmirror
[00:50:34] [PASSED] drm_test_cmdline_margin_options
[00:50:34] [PASSED] drm_test_cmdline_multiple_options
[00:50:34] [PASSED] drm_test_cmdline_bpp_extra_and_option
[00:50:34] [PASSED] drm_test_cmdline_extra_and_option
[00:50:34] [PASSED] drm_test_cmdline_freestanding_options
[00:50:34] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[00:50:34] [PASSED] drm_test_cmdline_panel_orientation
[00:50:34] ================ drm_test_cmdline_invalid  =================
[00:50:34] [PASSED] margin_only
[00:50:34] [PASSED] interlace_only
[00:50:34] [PASSED] res_missing_x
[00:50:34] [PASSED] res_missing_y
[00:50:34] [PASSED] res_bad_y
[00:50:34] [PASSED] res_missing_y_bpp
[00:50:34] [PASSED] res_bad_bpp
[00:50:34] [PASSED] res_bad_refresh
[00:50:34] [PASSED] res_bpp_refresh_force_on_off
[00:50:34] [PASSED] res_invalid_mode
[00:50:34] [PASSED] res_bpp_wrong_place_mode
[00:50:34] [PASSED] name_bpp_refresh
[00:50:34] [PASSED] name_refresh
[00:50:34] [PASSED] name_refresh_wrong_mode
[00:50:34] [PASSED] name_refresh_invalid_mode
[00:50:34] [PASSED] rotate_multiple
[00:50:34] [PASSED] rotate_invalid_val
[00:50:34] [PASSED] rotate_truncated
[00:50:34] [PASSED] invalid_option
[00:50:34] [PASSED] invalid_tv_option
[00:50:34] [PASSED] truncated_tv_option
[00:50:34] ============ [PASSED] drm_test_cmdline_invalid =============
[00:50:34] =============== drm_test_cmdline_tv_options  ===============
[00:50:34] [PASSED] NTSC
[00:50:34] [PASSED] NTSC_443
[00:50:34] [PASSED] NTSC_J
[00:50:34] [PASSED] PAL
[00:50:34] [PASSED] PAL_M
[00:50:34] [PASSED] PAL_N
[00:50:34] [PASSED] SECAM
[00:50:34] =========== [PASSED] drm_test_cmdline_tv_options ===========
[00:50:34] =============== [PASSED] drm_cmdline_parser ================
[00:50:34] ================ drm_get_tv_mode_from_name  ================
[00:50:34] ========== drm_test_get_tv_mode_from_name_valid  ===========
[00:50:34] [PASSED] NTSC
[00:50:34] [PASSED] NTSC-443
[00:50:34] [PASSED] NTSC-J
[00:50:34] [PASSED] PAL
[00:50:34] [PASSED] PAL-M
[00:50:34] [PASSED] PAL-N
[00:50:34] [PASSED] SECAM
[00:50:34] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[00:50:34] [PASSED] drm_test_get_tv_mode_from_name_truncated
[00:50:34] ============ [PASSED] drm_get_tv_mode_from_name ============
[00:50:34] ==================== drm_damage_helper  ====================
[00:50:34] [PASSED] drm_test_damage_iter_no_damage
[00:50:34] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[00:50:34] [PASSED] drm_test_damage_iter_no_damage_src_moved
[00:50:34] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[00:50:34] [PASSED] drm_test_damage_iter_no_damage_not_visible
[00:50:34] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[00:50:34] [PASSED] drm_test_damage_iter_no_damage_no_fb
[00:50:34] [PASSED] drm_test_damage_iter_simple_damage
[00:50:34] [PASSED] drm_test_damage_iter_single_damage
[00:50:34] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[00:50:34] [PASSED] drm_test_damage_iter_single_damage_outside_src
[00:50:34] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[00:50:34] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[00:50:34] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[00:50:34] [PASSED] drm_test_damage_iter_single_damage_src_moved
[00:50:34] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[00:50:34] [PASSED] drm_test_damage_iter_damage
[00:50:34] [PASSED] drm_test_damage_iter_damage_one_intersect
[00:50:34] [PASSED] drm_test_damage_iter_damage_one_outside
[00:50:34] [PASSED] drm_test_damage_iter_damage_src_moved
[00:50:34] [PASSED] drm_test_damage_iter_damage_not_visible
[00:50:34] ================ [PASSED] drm_damage_helper ================
[00:50:34] ==================== drm_dp_mst_helper  ====================
[00:50:34] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[00:50:34] [PASSED] Clock 154000 BPP 30 DSC disabled
[00:50:34] [PASSED] Clock 234000 BPP 30 DSC disabled
[00:50:34] [PASSED] Clock 297000 BPP 24 DSC disabled
[00:50:34] [PASSED] Clock 332880 BPP 24 DSC enabled
[00:50:34] [PASSED] Clock 324540 BPP 24 DSC enabled
[00:50:34] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[00:50:34] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[00:50:34] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[00:50:34] [PASSED] DP_POWER_UP_PHY with port number
[00:50:34] [PASSED] DP_POWER_DOWN_PHY with port number
[00:50:34] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[00:50:34] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[00:50:34] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[00:50:34] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[00:50:34] [PASSED] DP_QUERY_PAYLOAD with port number
[00:50:34] [PASSED] DP_QUERY_PAYLOAD with VCPI
[00:50:34] [PASSED] DP_REMOTE_DPCD_READ with port number
[00:50:34] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[00:50:34] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[00:50:34] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[00:50:34] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[00:50:34] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[00:50:34] [PASSED] DP_REMOTE_I2C_READ with port number
[00:50:34] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[00:50:34] [PASSED] DP_REMOTE_I2C_READ with transactions array
[00:50:34] [PASSED] DP_REMOTE_I2C_WRITE with port number
[00:50:34] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[00:50:34] [PASSED] DP_REMOTE_I2C_WRITE with data array
[00:50:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[00:50:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[00:50:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[00:50:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[00:50:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[00:50:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[00:50:34] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[00:50:34] ================ [PASSED] drm_dp_mst_helper ================
[00:50:34] ================= drm_format_helper_test  ==================
[00:50:34] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[00:50:34] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[00:50:34] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[00:50:34] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[00:50:34] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[00:50:34] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[00:50:34] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[00:50:34] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[00:50:34] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[00:50:34] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[00:50:34] ============== drm_test_fb_xrgb8888_to_mono  ===============
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[00:50:34] ==================== drm_test_fb_swab  =====================
[00:50:34] [PASSED] single_pixel_source_buffer
[00:50:34] [PASSED] single_pixel_clip_rectangle
[00:50:34] [PASSED] well_known_colors
[00:50:34] [PASSED] destination_pitch
[00:50:34] ================ [PASSED] drm_test_fb_swab =================
[00:50:34] ================= drm_test_fb_clip_offset  =================
[00:50:34] [PASSED] pass through
[00:50:34] [PASSED] horizontal offset
[00:50:34] [PASSED] vertical offset
[00:50:34] [PASSED] horizontal and vertical offset
[00:50:34] [PASSED] horizontal offset (custom pitch)
[00:50:34] [PASSED] vertical offset (custom pitch)
[00:50:34] [PASSED] horizontal and vertical offset (custom pitch)
[00:50:34] ============= [PASSED] drm_test_fb_clip_offset =============
[00:50:34] ============== drm_test_fb_build_fourcc_list  ==============
[00:50:34] [PASSED] no native formats
[00:50:34] [PASSED] XRGB8888 as native format
[00:50:34] [PASSED] remove duplicates
[00:50:34] [PASSED] convert alpha formats
[00:50:34] [PASSED] random formats
[00:50:34] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[00:50:34] =================== drm_test_fb_memcpy  ====================
[00:50:34] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[00:50:34] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[00:50:34] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[00:50:34] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[00:50:34] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[00:50:34] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[00:50:34] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[00:50:34] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[00:50:34] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[00:50:34] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[00:50:34] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[00:50:34] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[00:50:34] =============== [PASSED] drm_test_fb_memcpy ================
[00:50:34] ============= [PASSED] drm_format_helper_test ==============
[00:50:34] ======================= drm_format  ========================
[00:50:34] [PASSED] drm_test_format_block_width_invalid
[00:50:34] [PASSED] drm_test_format_block_width_one_plane
[00:50:34] [PASSED] drm_test_format_block_width_two_plane
[00:50:34] [PASSED] drm_test_format_block_width_three_plane
[00:50:34] [PASSED] drm_test_format_block_width_tiled
[00:50:34] [PASSED] drm_test_format_block_height_invalid
[00:50:34] [PASSED] drm_test_format_block_height_one_plane
[00:50:34] [PASSED] drm_test_format_block_height_two_plane
[00:50:34] [PASSED] drm_test_format_block_height_three_plane
[00:50:34] [PASSED] drm_test_format_block_height_tiled
[00:50:34] [PASSED] drm_test_format_min_pitch_invalid
[00:50:34] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[00:50:34] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[00:50:34] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[00:50:34] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[00:50:34] [PASSED] drm_test_format_min_pitch_two_plane
[00:50:34] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[00:50:34] [PASSED] drm_test_format_min_pitch_tiled
[00:50:34] =================== [PASSED] drm_format ====================
[00:50:34] ===================== drm_framebuffer  =====================
[00:50:34] =============== drm_test_framebuffer_create  ===============
[00:50:34] [PASSED] ABGR8888 normal sizes
[00:50:34] [PASSED] ABGR8888 max sizes
[00:50:34] [PASSED] ABGR8888 pitch greater than min required
[00:50:34] [PASSED] ABGR8888 pitch less than min required
[00:50:34] [PASSED] ABGR8888 Invalid width
[00:50:34] [PASSED] ABGR8888 Invalid buffer handle
[00:50:34] [PASSED] No pixel format
[00:50:34] [PASSED] ABGR8888 Width 0
[00:50:34] [PASSED] ABGR8888 Height 0
[00:50:34] [PASSED] ABGR8888 Out of bound height * pitch combination
[00:50:34] [PASSED] ABGR8888 Large buffer offset
[00:50:34] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[00:50:34] [PASSED] ABGR8888 Valid buffer modifier
[00:50:34] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[00:50:34] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[00:50:34] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[00:50:34] [PASSED] NV12 Normal sizes
[00:50:34] [PASSED] NV12 Max sizes
[00:50:34] [PASSED] NV12 Invalid pitch
[00:50:34] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[00:50:34] [PASSED] NV12 different  modifier per-plane
[00:50:34] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[00:50:34] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[00:50:34] [PASSED] NV12 Modifier for inexistent plane
[00:50:34] [PASSED] NV12 Handle for inexistent plane
[00:50:34] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[00:50:34] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[00:50:34] [PASSED] YVU420 Normal sizes
[00:50:34] [PASSED] YVU420 Max sizes
[00:50:34] [PASSED] YVU420 Invalid pitch
[00:50:34] [PASSED] YVU420 Different pitches
[00:50:34] [PASSED] YVU420 Different buffer offsets/pitches
[00:50:34] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[00:50:34] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[00:50:34] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[00:50:34] [PASSED] YVU420 Valid modifier
[00:50:34] [PASSED] YVU420 Different modifiers per plane
[00:50:34] [PASSED] YVU420 Modifier for inexistent plane
[00:50:34] [PASSED] X0L2 Normal sizes
[00:50:34] [PASSED] X0L2 Max sizes
[00:50:34] [PASSED] X0L2 Invalid pitch
[00:50:34] [PASSED] X0L2 Pitch greater than minimum required
[00:50:34] [PASSED] X0L2 Handle for inexistent plane
[00:50:34] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[00:50:34] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[00:50:34] [PASSED] X0L2 Valid modifier
[00:50:34] [PASSED] X0L2 Modifier for inexistent plane
[00:50:34] =========== [PASSED] drm_test_framebuffer_create ===========
[00:50:34] ================= [PASSED] drm_framebuffer =================
[00:50:34] ==================== drm-test-managed  =====================
[00:50:34] [PASSED] drm_test_managed_run_action
[00:50:34] ================ [PASSED] drm-test-managed =================
[00:50:34] ========================= drm_mm  ==========================
[00:50:34] [PASSED] drm_test_mm_init
[00:50:34] [PASSED] drm_test_mm_debug
[00:50:44] [PASSED] drm_test_mm_reserve
[00:50:54] [PASSED] drm_test_mm_insert
[00:50:55] [PASSED] drm_test_mm_replace
[00:50:55] [PASSED] drm_test_mm_insert_range
[00:50:55] [PASSED] drm_test_mm_frag
[00:50:55] [PASSED] drm_test_mm_align
[00:50:55] [PASSED] drm_test_mm_align32
[00:50:56] [PASSED] drm_test_mm_align64
[00:50:56] [PASSED] drm_test_mm_evict
[00:50:56] [PASSED] drm_test_mm_evict_range
[00:50:56] [PASSED] drm_test_mm_topdown
[00:50:56] [PASSED] drm_test_mm_bottomup
[00:50:56] [PASSED] drm_test_mm_lowest
[00:50:56] [PASSED] drm_test_mm_highest
[00:50:57] [PASSED] drm_test_mm_color
[00:50:57] [PASSED] drm_test_mm_color_evict
[00:50:57] [PASSED] drm_test_mm_color_evict_range
[00:50:57] ===================== [PASSED] drm_mm ======================
[00:50:57] =================== drm_modes_analog_tv  ===================
[00:50:57] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[00:50:57] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[00:50:57] [PASSED] drm_test_modes_analog_tv_pal_576i
[00:50:57] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[00:50:57] =============== [PASSED] drm_modes_analog_tv ===============
[00:50:57] ==================== drm_plane_helper  =====================
[00:50:57] =============== drm_test_check_plane_state  ================
[00:50:57] [PASSED] clipping_simple
[00:50:57] [PASSED] clipping_rotate_reflect
[00:50:57] [PASSED] positioning_simple
[00:50:57] [PASSED] upscaling
[00:50:57] [PASSED] downscaling
[00:50:57] [PASSED] rounding1
[00:50:57] [PASSED] rounding2
[00:50:57] [PASSED] rounding3
[00:50:57] [PASSED] rounding4
[00:50:57] =========== [PASSED] drm_test_check_plane_state ============
[00:50:57] =========== drm_test_check_invalid_plane_state  ============
[00:50:57] [PASSED] positioning_invalid
[00:50:57] [PASSED] upscaling_invalid
[00:50:57] [PASSED] downscaling_invalid
[00:50:57] ======= [PASSED] drm_test_check_invalid_plane_state ========
[00:50:57] ================ [PASSED] drm_plane_helper =================
[00:50:57] ============ drm_connector_helper_tv_get_modes  ============
[00:50:57] ====== drm_test_connector_helper_tv_get_modes_check  =======
[00:50:57] [PASSED] None
[00:50:57] [PASSED] PAL
[00:50:57] [PASSED] NTSC
[00:50:57] [PASSED] Both, NTSC Default
[00:50:57] [PASSED] Both, PAL Default
[00:50:57] [PASSED] Both, NTSC Default, with PAL on command-line
[00:50:57] [PASSED] Both, PAL Default, with NTSC on command-line
[00:50:57] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[00:50:57] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[00:50:57] ======================== drm_rect  =========================
[00:50:57] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[00:50:57] [PASSED] drm_test_rect_clip_scaled_not_clipped
[00:50:57] [PASSED] drm_test_rect_clip_scaled_clipped
[00:50:57] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[00:50:57] ================= drm_test_rect_intersect  =================
[00:50:57] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[00:50:57] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[00:50:57] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[00:50:57] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[00:50:57] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[00:50:57] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[00:50:57] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[00:50:57] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[00:50:57] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[00:50:57] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[00:50:57] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[00:50:57] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[00:50:57] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[00:50:57] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[00:50:57] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[00:50:57] ============= [PASSED] drm_test_rect_intersect =============
[00:50:57] ================ drm_test_rect_calc_hscale  ================
[00:50:57] [PASSED] normal use
[00:50:57] [PASSED] out of max range
[00:50:57] [PASSED] out of min range
[00:50:57] [PASSED] zero dst
[00:50:57] [PASSED] negative src
[00:50:57] [PASSED] negative dst
[00:50:57] ============ [PASSED] drm_test_rect_calc_hscale ============
[00:50:57] ================ drm_test_rect_calc_vscale  ================
[00:50:57] [PASSED] normal use
[00:50:57] [PASSED] out of max range
[00:50:57] [PASSED] out of min range
[00:50:57] [PASSED] zero dst
[00:50:57] [PASSED] negative src
[00:50:57] [PASSED] negative dst
[00:50:57] ============ [PASSED] drm_test_rect_calc_vscale ============
[00:50:57] ================== drm_test_rect_rotate  ===================
[00:50:57] [PASSED] reflect-x
[00:50:57] [PASSED] reflect-y
[00:50:57] [PASSED] rotate-0
[00:50:57] [PASSED] rotate-90
[00:50:57] [PASSED] rotate-180
[00:50:57] [PASSED] rotate-270
[00:50:57] ============== [PASSED] drm_test_rect_rotate ===============
[00:50:57] ================ drm_test_rect_rotate_inv  =================
[00:50:57] [PASSED] reflect-x
[00:50:57] [PASSED] reflect-y
[00:50:57] [PASSED] rotate-0
[00:50:57] [PASSED] rotate-90
[00:50:57] [PASSED] rotate-180
[00:50:57] [PASSED] rotate-270
[00:50:57] ============ [PASSED] drm_test_rect_rotate_inv =============
stty: 'standard input': Inappropriate ioctl for device
[00:50:57] ==================== [PASSED] drm_rect =====================
[00:50:57] ======================== drm_exec  =========================
[00:50:57] [PASSED] sanitycheck
[00:50:57] [PASSED] test_lock
[00:50:57] [PASSED] test_lock_unlock
[00:50:57] [PASSED] test_duplicates
[00:50:57] [PASSED] test_prepare
[00:50:57] [PASSED] test_prepare_array
[00:50:57] [PASSED] test_multiple_loops
[00:50:57] ==================== [PASSED] drm_exec =====================
[00:50:57] ============================================================
[00:50:57] Testing complete. Ran 368 tests: passed: 368
[00:50:57] Elapsed time: 44.504s total, 1.677s configuring, 19.497s building, 23.327s running

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



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

* [Intel-xe] ✓ CI.Build: success for GSC FW loading (rev2)
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (13 preceding siblings ...)
  2023-11-15  0:51 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
@ 2023-11-15  0:58 ` Patchwork
  2023-11-15  0:58 ` [Intel-xe] ✗ CI.Hooks: failure " Patchwork
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2023-11-15  0:58 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

== Series Details ==

Series: GSC FW loading (rev2)
URL   : https://patchwork.freedesktop.org/series/125717/
State : success

== Summary ==

+ trap cleanup EXIT
+ cd /kernel
+ git clone https://gitlab.freedesktop.org/drm/xe/ci.git .ci
Cloning into '.ci'...
++ date +%s
+ echo -e '\e[0Ksection_start:1700009467:build_x86_64[collapsed=true]\r\e[0KBuild x86-64'
+ mkdir -p build64-default
^[[0Ksection_start:1700009467:build_x86_64[collapsed=true]
^[[0KBuild x86-64
+ cp .ci/kernel/kconfig build64-default/.config
+ make O=build64-default olddefconfig
make[1]: Entering directory '/kernel/build64-default'
  GEN     Makefile
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
make[1]: Leaving directory '/kernel/build64-default'
++ nproc
+ make O=build64-default -j48
make[1]: Entering directory '/kernel/build64-default'
  GEN     Makefile
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  GEN     arch/x86/include/generated/asm/orc_hash.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctls.h
  WRAP    arch/x86/include/generated/uapi/asm/ipcbuf.h
  WRAP    arch/x86/include/generated/uapi/asm/param.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_64.h
  WRAP    arch/x86/include/generated/uapi/asm/resource.h
  WRAP    arch/x86/include/generated/uapi/asm/socket.h
  WRAP    arch/x86/include/generated/uapi/asm/sockios.h
  WRAP    arch/x86/include/generated/uapi/asm/termbits.h
  WRAP    arch/x86/include/generated/uapi/asm/termios.h
  WRAP    arch/x86/include/generated/uapi/asm/types.h
  HOSTCC  arch/x86/tools/relocs_common.o
  HOSTCC  arch/x86/tools/relocs_32.o
  HOSTCC  arch/x86/tools/relocs_64.o
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/export.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/irq_regs.h
  WRAP    arch/x86/include/generated/asm/kmap_size.h
  UPD     include/generated/uapi/linux/version.h
  WRAP    arch/x86/include/generated/asm/local64.h
  WRAP    arch/x86/include/generated/asm/mmiowb.h
  WRAP    arch/x86/include/generated/asm/module.lds.h
  WRAP    arch/x86/include/generated/asm/rwonce.h
  WRAP    arch/x86/include/generated/asm/unaligned.h
  UPD     include/config/kernel.release
  UPD     include/generated/compile.h
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  UPD     include/generated/utsrelease.h
  HOSTCC  scripts/unifdef
  DESCEND objtool
  HOSTCC  /kernel/build64-default/tools/objtool/fixdep.o
  HOSTLD  /kernel/build64-default/tools/objtool/fixdep-in.o
  LINK    /kernel/build64-default/tools/objtool/fixdep
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/exec-cmd.h
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/pager.h
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/help.h
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/parse-options.h
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/run-command.h
  CC      /kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  INSTALL libsubcmd_headers
  CC      /kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  HOSTLD  arch/x86/tools/relocs
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  UPD     scripts/mod/devicetable-offsets.h
  HDRINST usr/include/video/edid.h
  HDRINST usr/include/video/uvesafb.h
  HDRINST usr/include/video/sisfb.h
  HDRINST usr/include/drm/amdgpu_drm.h
  HDRINST usr/include/drm/qaic_accel.h
  HDRINST usr/include/drm/vgem_drm.h
  HDRINST usr/include/drm/i915_drm.h
  HDRINST usr/include/drm/virtgpu_drm.h
  HDRINST usr/include/drm/omap_drm.h
  HDRINST usr/include/drm/xe_drm.h
  HDRINST usr/include/drm/radeon_drm.h
  HDRINST usr/include/drm/tegra_drm.h
  HDRINST usr/include/drm/drm_mode.h
  HDRINST usr/include/drm/ivpu_accel.h
  HDRINST usr/include/drm/exynos_drm.h
  HDRINST usr/include/drm/v3d_drm.h
  HDRINST usr/include/drm/drm_sarea.h
  HDRINST usr/include/drm/qxl_drm.h
  HDRINST usr/include/drm/nouveau_drm.h
  HDRINST usr/include/drm/drm_fourcc.h
  HDRINST usr/include/drm/vmwgfx_drm.h
  HDRINST usr/include/drm/habanalabs_accel.h
  HDRINST usr/include/drm/msm_drm.h
  HDRINST usr/include/drm/etnaviv_drm.h
  HDRINST usr/include/drm/vc4_drm.h
  HDRINST usr/include/drm/panfrost_drm.h
  HDRINST usr/include/drm/lima_drm.h
  MKELF   scripts/mod/elfconfig.h
  HDRINST usr/include/drm/drm.h
  HDRINST usr/include/drm/armada_drm.h
  HDRINST usr/include/mtd/inftl-user.h
  HDRINST usr/include/mtd/nftl-user.h
  HDRINST usr/include/mtd/mtd-user.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HDRINST usr/include/mtd/ubi-user.h
  HOSTCC  scripts/mod/sumversion.o
  HDRINST usr/include/mtd/mtd-abi.h
  HDRINST usr/include/xen/gntdev.h
  HDRINST usr/include/xen/gntalloc.h
  HDRINST usr/include/xen/evtchn.h
  HDRINST usr/include/xen/privcmd.h
  HDRINST usr/include/asm-generic/auxvec.h
  HDRINST usr/include/asm-generic/bitsperlong.h
  HDRINST usr/include/asm-generic/posix_types.h
  HDRINST usr/include/asm-generic/ioctls.h
  HDRINST usr/include/asm-generic/mman.h
  HDRINST usr/include/asm-generic/shmbuf.h
  HDRINST usr/include/asm-generic/bpf_perf_event.h
  HDRINST usr/include/asm-generic/types.h
  HDRINST usr/include/asm-generic/poll.h
  HDRINST usr/include/asm-generic/msgbuf.h
  HDRINST usr/include/asm-generic/swab.h
  HDRINST usr/include/asm-generic/statfs.h
  HDRINST usr/include/asm-generic/unistd.h
  HDRINST usr/include/asm-generic/hugetlb_encode.h
  HDRINST usr/include/asm-generic/resource.h
  HDRINST usr/include/asm-generic/param.h
  HDRINST usr/include/asm-generic/termbits-common.h
  HDRINST usr/include/asm-generic/sockios.h
  HDRINST usr/include/asm-generic/kvm_para.h
  HDRINST usr/include/asm-generic/errno.h
  HDRINST usr/include/asm-generic/termios.h
  HDRINST usr/include/asm-generic/mman-common.h
  HDRINST usr/include/asm-generic/ioctl.h
  HDRINST usr/include/asm-generic/socket.h
  HDRINST usr/include/asm-generic/signal-defs.h
  HDRINST usr/include/asm-generic/termbits.h
  HDRINST usr/include/asm-generic/int-ll64.h
  HDRINST usr/include/asm-generic/signal.h
  HDRINST usr/include/asm-generic/siginfo.h
  HDRINST usr/include/asm-generic/stat.h
  HDRINST usr/include/asm-generic/int-l64.h
  HDRINST usr/include/asm-generic/errno-base.h
  HDRINST usr/include/asm-generic/fcntl.h
  HDRINST usr/include/asm-generic/setup.h
  HDRINST usr/include/asm-generic/ipcbuf.h
  HDRINST usr/include/asm-generic/sembuf.h
  HDRINST usr/include/asm-generic/ucontext.h
  HDRINST usr/include/rdma/mlx5_user_ioctl_cmds.h
  HDRINST usr/include/rdma/irdma-abi.h
  HDRINST usr/include/rdma/mana-abi.h
  HDRINST usr/include/rdma/hfi/hfi1_user.h
  HDRINST usr/include/rdma/hfi/hfi1_ioctl.h
  HDRINST usr/include/rdma/rdma_user_rxe.h
  HDRINST usr/include/rdma/rdma_user_ioctl.h
  HDRINST usr/include/rdma/mlx5_user_ioctl_verbs.h
  HDRINST usr/include/rdma/bnxt_re-abi.h
  HDRINST usr/include/rdma/hns-abi.h
  HDRINST usr/include/rdma/qedr-abi.h
  HDRINST usr/include/rdma/ib_user_ioctl_cmds.h
  HDRINST usr/include/rdma/vmw_pvrdma-abi.h
  HDRINST usr/include/rdma/ib_user_sa.h
  HDRINST usr/include/rdma/ib_user_ioctl_verbs.h
  HDRINST usr/include/rdma/rvt-abi.h
  HDRINST usr/include/rdma/mlx5-abi.h
  HDRINST usr/include/rdma/rdma_netlink.h
  HDRINST usr/include/rdma/erdma-abi.h
  HDRINST usr/include/rdma/rdma_user_ioctl_cmds.h
  HDRINST usr/include/rdma/rdma_user_cm.h
  HDRINST usr/include/rdma/ib_user_verbs.h
  HDRINST usr/include/rdma/efa-abi.h
  HDRINST usr/include/rdma/siw-abi.h
  HDRINST usr/include/rdma/mlx4-abi.h
  HDRINST usr/include/rdma/mthca-abi.h
  HDRINST usr/include/rdma/ib_user_mad.h
  HDRINST usr/include/rdma/ocrdma-abi.h
  HDRINST usr/include/rdma/cxgb4-abi.h
  HDRINST usr/include/misc/xilinx_sdfec.h
  HDRINST usr/include/misc/uacce/hisi_qm.h
  HDRINST usr/include/misc/uacce/uacce.h
  HDRINST usr/include/misc/cxl.h
  HDRINST usr/include/misc/ocxl.h
  HDRINST usr/include/misc/fastrpc.h
  HDRINST usr/include/misc/pvpanic.h
  HDRINST usr/include/linux/i8k.h
  HDRINST usr/include/linux/acct.h
  HDRINST usr/include/linux/atmmpc.h
  HDRINST usr/include/linux/fs.h
  HDRINST usr/include/linux/cifs/cifs_mount.h
  HDRINST usr/include/linux/cifs/cifs_netlink.h
  HDRINST usr/include/linux/if_packet.h
  HDRINST usr/include/linux/route.h
  HDRINST usr/include/linux/patchkey.h
  HDRINST usr/include/linux/tc_ematch/tc_em_cmp.h
  HDRINST usr/include/linux/tc_ematch/tc_em_ipt.h
  HDRINST usr/include/linux/tc_ematch/tc_em_meta.h
  HDRINST usr/include/linux/tc_ematch/tc_em_nbyte.h
  HDRINST usr/include/linux/tc_ematch/tc_em_text.h
  HDRINST usr/include/linux/rkisp1-config.h
  HDRINST usr/include/linux/virtio_pmem.h
  HDRINST usr/include/linux/vhost.h
  HDRINST usr/include/linux/cec-funcs.h
  HDRINST usr/include/linux/ppdev.h
  HDRINST usr/include/linux/isdn/capicmd.h
  HDRINST usr/include/linux/virtio_fs.h
  HDRINST usr/include/linux/netfilter_ipv6.h
  HDRINST usr/include/linux/lirc.h
  HDRINST usr/include/linux/mroute6.h
  HDRINST usr/include/linux/nl80211-vnd-intel.h
  HDRINST usr/include/linux/ivtvfb.h
  HDRINST usr/include/linux/auxvec.h
  HDRINST usr/include/linux/dm-log-userspace.h
  HDRINST usr/include/linux/dccp.h
  HDRINST usr/include/linux/virtio_scmi.h
  HDRINST usr/include/linux/atmarp.h
  HDRINST usr/include/linux/arcfb.h
  HDRINST usr/include/linux/nbd-netlink.h
  HDRINST usr/include/linux/sched/types.h
  HDRINST usr/include/linux/tcp.h
  HDRINST usr/include/linux/neighbour.h
  HDRINST usr/include/linux/dlm_device.h
  HDRINST usr/include/linux/wmi.h
  HDRINST usr/include/linux/btrfs_tree.h
  HDRINST usr/include/linux/virtio_crypto.h
  HDRINST usr/include/linux/vbox_err.h
  HDRINST usr/include/linux/edd.h
  HDRINST usr/include/linux/loop.h
  HDRINST usr/include/linux/nvme_ioctl.h
  HDRINST usr/include/linux/mmtimer.h
  HDRINST usr/include/linux/if_pppol2tp.h
  HDRINST usr/include/linux/mtio.h
  HDRINST usr/include/linux/if_arcnet.h
  HDRINST usr/include/linux/romfs_fs.h
  HDRINST usr/include/linux/posix_types.h
  HDRINST usr/include/linux/rtc.h
  HDRINST usr/include/linux/landlock.h
  HDRINST usr/include/linux/gpio.h
  HDRINST usr/include/linux/selinux_netlink.h
  HDRINST usr/include/linux/pps.h
  HDRINST usr/include/linux/ndctl.h
  HDRINST usr/include/linux/virtio_gpu.h
  HDRINST usr/include/linux/android/binderfs.h
  HDRINST usr/include/linux/android/binder.h
  HDRINST usr/include/linux/virtio_vsock.h
  HDRINST usr/include/linux/sound.h
  HDRINST usr/include/linux/vtpm_proxy.h
  HDRINST usr/include/linux/nfs_fs.h
  HDRINST usr/include/linux/elf-fdpic.h
  HDRINST usr/include/linux/adfs_fs.h
  HDRINST usr/include/linux/target_core_user.h
  HDRINST usr/include/linux/netlink_diag.h
  HDRINST usr/include/linux/const.h
  HDRINST usr/include/linux/firewire-cdev.h
  HDRINST usr/include/linux/vdpa.h
  HDRINST usr/include/linux/serial.h
  HDRINST usr/include/linux/if_infiniband.h
  HDRINST usr/include/linux/iio/types.h
  HDRINST usr/include/linux/iio/buffer.h
  HDRINST usr/include/linux/iio/events.h
  HDRINST usr/include/linux/baycom.h
  HDRINST usr/include/linux/major.h
  HDRINST usr/include/linux/atmppp.h
  HDRINST usr/include/linux/ipv6_route.h
  HDRINST usr/include/linux/spi/spidev.h
  HDRINST usr/include/linux/spi/spi.h
  HDRINST usr/include/linux/virtio_ring.h
  HDRINST usr/include/linux/hdlc/ioctl.h
  HDRINST usr/include/linux/remoteproc_cdev.h
  HDRINST usr/include/linux/hyperv.h
  HDRINST usr/include/linux/rpl_iptunnel.h
  HDRINST usr/include/linux/sync_file.h
  HDRINST usr/include/linux/igmp.h
  HDRINST usr/include/linux/v4l2-dv-timings.h
  HDRINST usr/include/linux/virtio_i2c.h
  HDRINST usr/include/linux/xfrm.h
  HDRINST usr/include/linux/capability.h
  HDRINST usr/include/linux/gtp.h
  HDRINST usr/include/linux/xdp_diag.h
  HDRINST usr/include/linux/pkt_cls.h
  HDRINST usr/include/linux/suspend_ioctls.h
  HDRINST usr/include/linux/vt.h
  HDRINST usr/include/linux/loadpin.h
  HDRINST usr/include/linux/dlm_plock.h
  HDRINST usr/include/linux/fb.h
  HDRINST usr/include/linux/max2175.h
  HDRINST usr/include/linux/sunrpc/debug.h
  HDRINST usr/include/linux/gsmmux.h
  HDRINST usr/include/linux/watchdog.h
  HDRINST usr/include/linux/vhost_types.h
  HDRINST usr/include/linux/vduse.h
  HDRINST usr/include/linux/ila.h
  HDRINST usr/include/linux/tdx-guest.h
  HDRINST usr/include/linux/close_range.h
  HDRINST usr/include/linux/ivtv.h
  HDRINST usr/include/linux/cryptouser.h
  HDRINST usr/include/linux/netfilter/xt_string.h
  HDRINST usr/include/linux/netfilter/nfnetlink_compat.h
  HDRINST usr/include/linux/netfilter/nf_nat.h
  HDRINST usr/include/linux/netfilter/xt_recent.h
  HDRINST usr/include/linux/netfilter/xt_addrtype.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_tcp.h
  HDRINST usr/include/linux/netfilter/xt_MARK.h
  HDRINST usr/include/linux/netfilter/xt_SYNPROXY.h
  HDRINST usr/include/linux/netfilter/xt_multiport.h
  HDRINST usr/include/linux/netfilter/nfnetlink.h
  HDRINST usr/include/linux/netfilter/xt_cgroup.h
  HDRINST usr/include/linux/netfilter/nf_synproxy.h
  HDRINST usr/include/linux/netfilter/xt_TCPOPTSTRIP.h
  HDRINST usr/include/linux/netfilter/nfnetlink_log.h
  HDRINST usr/include/linux/netfilter/xt_TPROXY.h
  HDRINST usr/include/linux/netfilter/xt_u32.h
  HDRINST usr/include/linux/netfilter/nfnetlink_osf.h
  HDRINST usr/include/linux/netfilter/xt_ecn.h
  HDRINST usr/include/linux/netfilter/xt_esp.h
  HDRINST usr/include/linux/netfilter/nfnetlink_hook.h
  HDRINST usr/include/linux/netfilter/xt_mac.h
  HDRINST usr/include/linux/netfilter/xt_comment.h
  HDRINST usr/include/linux/netfilter/xt_NFQUEUE.h
  HDRINST usr/include/linux/netfilter/xt_osf.h
  HDRINST usr/include/linux/netfilter/xt_hashlimit.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_sctp.h
  HDRINST usr/include/linux/netfilter/xt_socket.h
  HDRINST usr/include/linux/netfilter/xt_connmark.h
  HDRINST usr/include/linux/netfilter/xt_sctp.h
  HDRINST usr/include/linux/netfilter/xt_tcpudp.h
  HDRINST usr/include/linux/netfilter/xt_DSCP.h
  HDRINST usr/include/linux/netfilter/xt_time.h
  HDRINST usr/include/linux/netfilter/xt_IDLETIMER.h
  HDRINST usr/include/linux/netfilter/xt_policy.h
  HDRINST usr/include/linux/netfilter/xt_rpfilter.h
  HDRINST usr/include/linux/netfilter/xt_nfacct.h
  HDRINST usr/include/linux/netfilter/xt_SECMARK.h
  HDRINST usr/include/linux/netfilter/xt_length.h
  HDRINST usr/include/linux/netfilter/nfnetlink_cthelper.h
  HDRINST usr/include/linux/netfilter/xt_quota.h
  HDRINST usr/include/linux/netfilter/xt_CLASSIFY.h
  HDRINST usr/include/linux/netfilter/xt_ipcomp.h
  HDRINST usr/include/linux/netfilter/xt_iprange.h
  HDRINST usr/include/linux/netfilter/xt_bpf.h
  HDRINST usr/include/linux/netfilter/xt_LOG.h
  HDRINST usr/include/linux/netfilter/xt_rateest.h
  HDRINST usr/include/linux/netfilter/xt_CONNSECMARK.h
  HDRINST usr/include/linux/netfilter/xt_HMARK.h
  HDRINST usr/include/linux/netfilter/xt_CONNMARK.h
  HDRINST usr/include/linux/netfilter/xt_pkttype.h
  HDRINST usr/include/linux/netfilter/xt_ipvs.h
  HDRINST usr/include/linux/netfilter/xt_devgroup.h
  HDRINST usr/include/linux/netfilter/xt_AUDIT.h
  HDRINST usr/include/linux/netfilter/xt_realm.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_common.h
  HDRINST usr/include/linux/netfilter/xt_set.h
  HDRINST usr/include/linux/netfilter/xt_LED.h
  HDRINST usr/include/linux/netfilter/xt_connlabel.h
  HDRINST usr/include/linux/netfilter/xt_owner.h
  HDRINST usr/include/linux/netfilter/xt_dccp.h
  HDRINST usr/include/linux/netfilter/xt_limit.h
  HDRINST usr/include/linux/netfilter/xt_conntrack.h
  HDRINST usr/include/linux/netfilter/xt_TEE.h
  HDRINST usr/include/linux/netfilter/xt_RATEEST.h
  HDRINST usr/include/linux/netfilter/xt_connlimit.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_list.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_hash.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_bitmap.h
  HDRINST usr/include/linux/netfilter/x_tables.h
  HDRINST usr/include/linux/netfilter/xt_dscp.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_ftp.h
  HDRINST usr/include/linux/netfilter/xt_cluster.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_tuple_common.h
  HDRINST usr/include/linux/netfilter/xt_tcpmss.h
  HDRINST usr/include/linux/netfilter/nf_log.h
  HDRINST usr/include/linux/netfilter/xt_NFLOG.h
  HDRINST usr/include/linux/netfilter/xt_l2tp.h
  HDRINST usr/include/linux/netfilter/xt_helper.h
  HDRINST usr/include/linux/netfilter/xt_statistic.h
  HDRINST usr/include/linux/netfilter/nfnetlink_queue.h
  HDRINST usr/include/linux/netfilter/nfnetlink_cttimeout.h
  HDRINST usr/include/linux/netfilter/xt_CT.h
  HDRINST usr/include/linux/netfilter/xt_CHECKSUM.h
  HDRINST usr/include/linux/netfilter/xt_connbytes.h
  HDRINST usr/include/linux/netfilter/xt_state.h
  HDRINST usr/include/linux/netfilter/nf_tables.h
  HDRINST usr/include/linux/netfilter/xt_mark.h
  HDRINST usr/include/linux/netfilter/xt_cpu.h
  HDRINST usr/include/linux/netfilter/nf_tables_compat.h
  HDRINST usr/include/linux/netfilter/xt_physdev.h
  HDRINST usr/include/linux/netfilter/nfnetlink_conntrack.h
  HDRINST usr/include/linux/netfilter/nfnetlink_acct.h
  HDRINST usr/include/linux/netfilter/xt_TCPMSS.h
  HDRINST usr/include/linux/tty_flags.h
  HDRINST usr/include/linux/if_phonet.h
  HDRINST usr/include/linux/elf-em.h
  HDRINST usr/include/linux/vm_sockets.h
  HDRINST usr/include/linux/dlmconstants.h
  HDRINST usr/include/linux/bsg.h
  HDRINST usr/include/linux/matroxfb.h
  HDRINST usr/include/linux/sysctl.h
  HDRINST usr/include/linux/unix_diag.h
  HDRINST usr/include/linux/pcitest.h
  HDRINST usr/include/linux/mman.h
  HDRINST usr/include/linux/if_plip.h
  HDRINST usr/include/linux/virtio_balloon.h
  HDRINST usr/include/linux/pidfd.h
  HDRINST usr/include/linux/f2fs.h
  LD      /kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  HDRINST usr/include/linux/x25.h
  HDRINST usr/include/linux/if_cablemodem.h
  HDRINST usr/include/linux/utsname.h
  HDRINST usr/include/linux/counter.h
  HDRINST usr/include/linux/atm_tcp.h
  HDRINST usr/include/linux/atalk.h
  HDRINST usr/include/linux/virtio_rng.h
  HDRINST usr/include/linux/vboxguest.h
  HDRINST usr/include/linux/bpf_perf_event.h
  HDRINST usr/include/linux/ipmi_ssif_bmc.h
  HDRINST usr/include/linux/nfs_mount.h
  HDRINST usr/include/linux/sonet.h
  HDRINST usr/include/linux/netfilter.h
  HDRINST usr/include/linux/keyctl.h
  HDRINST usr/include/linux/nl80211.h
  HDRINST usr/include/linux/misc/bcm_vk.h
  HDRINST usr/include/linux/audit.h
  HDRINST usr/include/linux/tipc_config.h
  HDRINST usr/include/linux/tipc_sockets_diag.h
  HDRINST usr/include/linux/futex.h
  HDRINST usr/include/linux/sev-guest.h
  HDRINST usr/include/linux/ublk_cmd.h
  HDRINST usr/include/linux/types.h
  HDRINST usr/include/linux/virtio_input.h
  AR      /kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  HDRINST usr/include/linux/if_slip.h
  HDRINST usr/include/linux/personality.h
  HDRINST usr/include/linux/openat2.h
  HDRINST usr/include/linux/poll.h
  HDRINST usr/include/linux/posix_acl.h
  HDRINST usr/include/linux/smc_diag.h
  HDRINST usr/include/linux/snmp.h
  HDRINST usr/include/linux/errqueue.h
  HDRINST usr/include/linux/if_tunnel.h
  HDRINST usr/include/linux/fanotify.h
  HDRINST usr/include/linux/kernel.h
  HDRINST usr/include/linux/rtnetlink.h
  HDRINST usr/include/linux/rpl.h
  HDRINST usr/include/linux/memfd.h
  HDRINST usr/include/linux/serial_core.h
  HDRINST usr/include/linux/dns_resolver.h
  HDRINST usr/include/linux/pr.h
  HDRINST usr/include/linux/atm_eni.h
  HDRINST usr/include/linux/lp.h
  HDRINST usr/include/linux/virtio_mem.h
  HDRINST usr/include/linux/ultrasound.h
  HDRINST usr/include/linux/sctp.h
  HDRINST usr/include/linux/uio.h
  HDRINST usr/include/linux/tcp_metrics.h
  HDRINST usr/include/linux/wwan.h
  HDRINST usr/include/linux/atmbr2684.h
  HDRINST usr/include/linux/in_route.h
  HDRINST usr/include/linux/qemu_fw_cfg.h
  HDRINST usr/include/linux/if_macsec.h
  HDRINST usr/include/linux/usb/charger.h
  HDRINST usr/include/linux/usb/g_uvc.h
  HDRINST usr/include/linux/usb/gadgetfs.h
  HDRINST usr/include/linux/usb/raw_gadget.h
  HDRINST usr/include/linux/usb/cdc-wdm.h
  HDRINST usr/include/linux/usb/g_printer.h
  HDRINST usr/include/linux/usb/midi.h
  HDRINST usr/include/linux/usb/tmc.h
  HDRINST usr/include/linux/usb/video.h
  HDRINST usr/include/linux/usb/functionfs.h
  HDRINST usr/include/linux/usb/audio.h
  HDRINST usr/include/linux/usb/ch11.h
  HDRINST usr/include/linux/usb/ch9.h
  HDRINST usr/include/linux/usb/cdc.h
  HDRINST usr/include/linux/jffs2.h
  HDRINST usr/include/linux/ax25.h
  HDRINST usr/include/linux/auto_fs.h
  HDRINST usr/include/linux/tiocl.h
  HDRINST usr/include/linux/scc.h
  HDRINST usr/include/linux/psci.h
  HDRINST usr/include/linux/swab.h
  HDRINST usr/include/linux/cec.h
  HDRINST usr/include/linux/kfd_ioctl.h
  HDRINST usr/include/linux/smc.h
  CC      /kernel/build64-default/tools/objtool/weak.o
  HDRINST usr/include/linux/qrtr.h
  CC      /kernel/build64-default/tools/objtool/check.o
  HDRINST usr/include/linux/screen_info.h
  CC      /kernel/build64-default/tools/objtool/special.o
  HDRINST usr/include/linux/nfsacl.h
  CC      /kernel/build64-default/tools/objtool/builtin-check.o
  MKDIR   /kernel/build64-default/tools/objtool/arch/x86/
  HDRINST usr/include/linux/seg6_hmac.h
  HDRINST usr/include/linux/gameport.h
  CC      /kernel/build64-default/tools/objtool/elf.o
  HDRINST usr/include/linux/wireless.h
  MKDIR   /kernel/build64-default/tools/objtool/arch/x86/lib/
  HDRINST usr/include/linux/fdreg.h
  CC      /kernel/build64-default/tools/objtool/arch/x86/special.o
  HDRINST usr/include/linux/cciss_defs.h
  CC      /kernel/build64-default/tools/objtool/objtool.o
  GEN     /kernel/build64-default/tools/objtool/arch/x86/lib/inat-tables.c
  HDRINST usr/include/linux/serial_reg.h
  HDRINST usr/include/linux/perf_event.h
  CC      /kernel/build64-default/tools/objtool/orc_gen.o
  HDRINST usr/include/linux/in6.h
  HDRINST usr/include/linux/hid.h
  HDRINST usr/include/linux/netlink.h
  CC      /kernel/build64-default/tools/objtool/orc_dump.o
  HDRINST usr/include/linux/fuse.h
  HDRINST usr/include/linux/magic.h
  CC      /kernel/build64-default/tools/objtool/libstring.o
  HDRINST usr/include/linux/ioam6_iptunnel.h
  HDRINST usr/include/linux/stm.h
  HDRINST usr/include/linux/vsockmon.h
  HDRINST usr/include/linux/seg6.h
  CC      /kernel/build64-default/tools/objtool/libctype.o
  HDRINST usr/include/linux/idxd.h
  CC      /kernel/build64-default/tools/objtool/str_error_r.o
  HDRINST usr/include/linux/nitro_enclaves.h
  HDRINST usr/include/linux/ptrace.h
  CC      /kernel/build64-default/tools/objtool/librbtree.o
  HDRINST usr/include/linux/ioam6_genl.h
  HDRINST usr/include/linux/qnx4_fs.h
  HDRINST usr/include/linux/fsl_mc.h
  HDRINST usr/include/linux/net_tstamp.h
  HDRINST usr/include/linux/msg.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_TTL.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ttl.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ah.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ECN.h
  HDRINST usr/include/linux/netfilter_ipv4/ip_tables.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ecn.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_REJECT.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_LOG.h
  HDRINST usr/include/linux/sem.h
  HDRINST usr/include/linux/net_namespace.h
  HDRINST usr/include/linux/radeonfb.h
  HDRINST usr/include/linux/tee.h
  HDRINST usr/include/linux/udp.h
  HDRINST usr/include/linux/virtio_bt.h
  HDRINST usr/include/linux/v4l2-subdev.h
  HDRINST usr/include/linux/posix_acl_xattr.h
  HDRINST usr/include/linux/v4l2-mediabus.h
  HDRINST usr/include/linux/atmapi.h
  HDRINST usr/include/linux/raid/md_p.h
  HDRINST usr/include/linux/raid/md_u.h
  HDRINST usr/include/linux/zorro_ids.h
  HDRINST usr/include/linux/nbd.h
  HDRINST usr/include/linux/isst_if.h
  HDRINST usr/include/linux/rxrpc.h
  HDRINST usr/include/linux/unistd.h
  HDRINST usr/include/linux/if_arp.h
  HDRINST usr/include/linux/atm_zatm.h
  HDRINST usr/include/linux/io_uring.h
  HDRINST usr/include/linux/if_fddi.h
  HDRINST usr/include/linux/bpqether.h
  HDRINST usr/include/linux/sysinfo.h
  HDRINST usr/include/linux/auto_dev-ioctl.h
  HDRINST usr/include/linux/nfs4_mount.h
  HDRINST usr/include/linux/keyboard.h
  HDRINST usr/include/linux/virtio_mmio.h
  HDRINST usr/include/linux/input.h
  HDRINST usr/include/linux/qnxtypes.h
  HDRINST usr/include/linux/mdio.h
  HDRINST usr/include/linux/lwtunnel.h
  HDRINST usr/include/linux/gfs2_ondisk.h
  HDRINST usr/include/linux/eventfd.h
  HDRINST usr/include/linux/nfs4.h
  HDRINST usr/include/linux/ptp_clock.h
  HDRINST usr/include/linux/nubus.h
  HDRINST usr/include/linux/if_bonding.h
  HDRINST usr/include/linux/kcov.h
  HDRINST usr/include/linux/fadvise.h
  HDRINST usr/include/linux/taskstats.h
  CC      /kernel/build64-default/tools/objtool/arch/x86/decode.o
  HDRINST usr/include/linux/veth.h
  HDRINST usr/include/linux/atm.h
  HDRINST usr/include/linux/ipmi.h
  HDRINST usr/include/linux/kdev_t.h
  HDRINST usr/include/linux/mount.h
  HDRINST usr/include/linux/shm.h
  HDRINST usr/include/linux/resource.h
  HDRINST usr/include/linux/prctl.h
  HDRINST usr/include/linux/watch_queue.h
  HDRINST usr/include/linux/sched.h
  HDRINST usr/include/linux/phonet.h
  HDRINST usr/include/linux/random.h
  HDRINST usr/include/linux/tty.h
  HDRINST usr/include/linux/apm_bios.h
  HDRINST usr/include/linux/fd.h
  HDRINST usr/include/linux/um_timetravel.h
  HDRINST usr/include/linux/tls.h
  HDRINST usr/include/linux/rpmsg_types.h
  HDRINST usr/include/linux/pfrut.h
  HDRINST usr/include/linux/mei.h
  HDRINST usr/include/linux/fsi.h
  HDRINST usr/include/linux/rds.h
  HDRINST usr/include/linux/if_x25.h
  HDRINST usr/include/linux/param.h
  HDRINST usr/include/linux/netdevice.h
  HDRINST usr/include/linux/binfmts.h
  HDRINST usr/include/linux/if_pppox.h
  HDRINST usr/include/linux/sockios.h
  HDRINST usr/include/linux/kcm.h
  HDRINST usr/include/linux/virtio_9p.h
  HDRINST usr/include/linux/genwqe/genwqe_card.h
  HDRINST usr/include/linux/if_tun.h
  HDRINST usr/include/linux/ext4.h
  HDRINST usr/include/linux/if_ether.h
  HDRINST usr/include/linux/kvm_para.h
  HDRINST usr/include/linux/kernel-page-flags.h
  HDRINST usr/include/linux/cdrom.h
  HDRINST usr/include/linux/un.h
  HDRINST usr/include/linux/module.h
  HDRINST usr/include/linux/mqueue.h
  HDRINST usr/include/linux/a.out.h
  HDRINST usr/include/linux/input-event-codes.h
  HDRINST usr/include/linux/coda.h
  HDRINST usr/include/linux/rio_mport_cdev.h
  HDRINST usr/include/linux/ipsec.h
  HDRINST usr/include/linux/blkpg.h
  HDRINST usr/include/linux/blkzoned.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_arpreply.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_redirect.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_nflog.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_802_3.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_nat.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_mark_m.h
  HDRINST usr/include/linux/netfilter_bridge/ebtables.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_vlan.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_limit.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_log.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_stp.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_pkttype.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_ip.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_ip6.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_arp.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_mark_t.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_among.h
  HDRINST usr/include/linux/reiserfs_fs.h
  HDRINST usr/include/linux/cciss_ioctl.h
  HDRINST usr/include/linux/fsmap.h
  HDRINST usr/include/linux/smiapp.h
  HDRINST usr/include/linux/switchtec_ioctl.h
  HDRINST usr/include/linux/atmdev.h
  HDRINST usr/include/linux/hpet.h
  HDRINST usr/include/linux/virtio_config.h
  HDRINST usr/include/linux/string.h
  HDRINST usr/include/linux/kfd_sysfs.h
  HDRINST usr/include/linux/inet_diag.h
  HDRINST usr/include/linux/netdev.h
  HDRINST usr/include/linux/xattr.h
  HDRINST usr/include/linux/iommufd.h
  HDRINST usr/include/linux/user_events.h
  HDRINST usr/include/linux/errno.h
  HDRINST usr/include/linux/icmp.h
  HDRINST usr/include/linux/i2o-dev.h
  HDRINST usr/include/linux/pg.h
  HDRINST usr/include/linux/if_bridge.h
  HDRINST usr/include/linux/thermal.h
  HDRINST usr/include/linux/uinput.h
  HDRINST usr/include/linux/handshake.h
  HDRINST usr/include/linux/dqblk_xfs.h
  HDRINST usr/include/linux/v4l2-common.h
  HDRINST usr/include/linux/nvram.h
  HDRINST usr/include/linux/if_vlan.h
  HDRINST usr/include/linux/uhid.h
  HDRINST usr/include/linux/omap3isp.h
  HDRINST usr/include/linux/rose.h
  HDRINST usr/include/linux/phantom.h
  HDRINST usr/include/linux/ipmi_msgdefs.h
  HDRINST usr/include/linux/bcm933xx_hcs.h
  HDRINST usr/include/linux/bpf.h
  HDRINST usr/include/linux/mempolicy.h
  HDRINST usr/include/linux/efs_fs_sb.h
  HDRINST usr/include/linux/nexthop.h
  HDRINST usr/include/linux/net_dropmon.h
  HDRINST usr/include/linux/surface_aggregator/cdev.h
  HDRINST usr/include/linux/surface_aggregator/dtx.h
  HDRINST usr/include/linux/net.h
  HDRINST usr/include/linux/mii.h
  HDRINST usr/include/linux/virtio_pcidev.h
  HDRINST usr/include/linux/termios.h
  HDRINST usr/include/linux/cgroupstats.h
  HDRINST usr/include/linux/mpls.h
  HDRINST usr/include/linux/iommu.h
  HDRINST usr/include/linux/toshiba.h
  HDRINST usr/include/linux/virtio_scsi.h
  HDRINST usr/include/linux/zorro.h
  HDRINST usr/include/linux/chio.h
  HDRINST usr/include/linux/pkt_sched.h
  HDRINST usr/include/linux/cramfs_fs.h
  HDRINST usr/include/linux/nfs3.h
  HDRINST usr/include/linux/vfio_ccw.h
  HDRINST usr/include/linux/atm_nicstar.h
  HDRINST usr/include/linux/ncsi.h
  HDRINST usr/include/linux/virtio_net.h
  HDRINST usr/include/linux/ioctl.h
  HDRINST usr/include/linux/stddef.h
  HDRINST usr/include/linux/limits.h
  HDRINST usr/include/linux/ipmi_bmc.h
  HDRINST usr/include/linux/netfilter_arp.h
  HDRINST usr/include/linux/if_addr.h
  HDRINST usr/include/linux/rpmsg.h
  HDRINST usr/include/linux/media-bus-format.h
  HDRINST usr/include/linux/kernelcapi.h
  HDRINST usr/include/linux/ppp_defs.h
  HDRINST usr/include/linux/ethtool.h
  HDRINST usr/include/linux/aspeed-video.h
  HDRINST usr/include/linux/hdlc.h
  HDRINST usr/include/linux/fscrypt.h
  HDRINST usr/include/linux/batadv_packet.h
  HDRINST usr/include/linux/uuid.h
  HDRINST usr/include/linux/capi.h
  HDRINST usr/include/linux/mptcp.h
  HDRINST usr/include/linux/hidraw.h
  HDRINST usr/include/linux/virtio_console.h
  HDRINST usr/include/linux/irqnr.h
  HDRINST usr/include/linux/coresight-stm.h
  HDRINST usr/include/linux/cxl_mem.h
  HDRINST usr/include/linux/iso_fs.h
  HDRINST usr/include/linux/virtio_blk.h
  HDRINST usr/include/linux/udf_fs_i.h
  HDRINST usr/include/linux/coff.h
  HDRINST usr/include/linux/dma-buf.h
  HDRINST usr/include/linux/ife.h
  HDRINST usr/include/linux/agpgart.h
  HDRINST usr/include/linux/socket.h
  HDRINST usr/include/linux/nilfs2_ondisk.h
  HDRINST usr/include/linux/connector.h
  HDRINST usr/include/linux/auto_fs4.h
  HDRINST usr/include/linux/bt-bmc.h
  HDRINST usr/include/linux/map_to_7segment.h
  HDRINST usr/include/linux/tc_act/tc_skbedit.h
  HDRINST usr/include/linux/tc_act/tc_ctinfo.h
  HDRINST usr/include/linux/tc_act/tc_defact.h
  HDRINST usr/include/linux/tc_act/tc_gact.h
  HDRINST usr/include/linux/tc_act/tc_vlan.h
  HDRINST usr/include/linux/tc_act/tc_skbmod.h
  HDRINST usr/include/linux/tc_act/tc_sample.h
  HDRINST usr/include/linux/tc_act/tc_tunnel_key.h
  HDRINST usr/include/linux/tc_act/tc_gate.h
  HDRINST usr/include/linux/tc_act/tc_mirred.h
  HDRINST usr/include/linux/tc_act/tc_nat.h
  HDRINST usr/include/linux/tc_act/tc_csum.h
  HDRINST usr/include/linux/tc_act/tc_connmark.h
  HDRINST usr/include/linux/tc_act/tc_ife.h
  HDRINST usr/include/linux/tc_act/tc_mpls.h
  HDRINST usr/include/linux/tc_act/tc_ct.h
  HDRINST usr/include/linux/tc_act/tc_pedit.h
  HDRINST usr/include/linux/tc_act/tc_bpf.h
  HDRINST usr/include/linux/tc_act/tc_ipt.h
  HDRINST usr/include/linux/netrom.h
  HDRINST usr/include/linux/joystick.h
  HDRINST usr/include/linux/falloc.h
  HDRINST usr/include/linux/cycx_cfm.h
  HDRINST usr/include/linux/omapfb.h
  HDRINST usr/include/linux/msdos_fs.h
  HDRINST usr/include/linux/virtio_types.h
  HDRINST usr/include/linux/mroute.h
  HDRINST usr/include/linux/psample.h
  HDRINST usr/include/linux/ipv6.h
  HDRINST usr/include/linux/dw100.h
  HDRINST usr/include/linux/psp-sev.h
  HDRINST usr/include/linux/vfio.h
  HDRINST usr/include/linux/if_ppp.h
  HDRINST usr/include/linux/byteorder/big_endian.h
  HDRINST usr/include/linux/byteorder/little_endian.h
  HDRINST usr/include/linux/comedi.h
  HDRINST usr/include/linux/scif_ioctl.h
  HDRINST usr/include/linux/timerfd.h
  HDRINST usr/include/linux/time_types.h
  HDRINST usr/include/linux/firewire-constants.h
  HDRINST usr/include/linux/ppp-ioctl.h
  HDRINST usr/include/linux/virtio_snd.h
  HDRINST usr/include/linux/fib_rules.h
  HDRINST usr/include/linux/gen_stats.h
  HDRINST usr/include/linux/virtio_iommu.h
  HDRINST usr/include/linux/genetlink.h
  HDRINST usr/include/linux/uvcvideo.h
  HDRINST usr/include/linux/pfkeyv2.h
  HDRINST usr/include/linux/soundcard.h
  HDRINST usr/include/linux/times.h
  HDRINST usr/include/linux/nfc.h
  HDRINST usr/include/linux/affs_hardblocks.h
  HDRINST usr/include/linux/nilfs2_api.h
  HDRINST usr/include/linux/rseq.h
  HDRINST usr/include/linux/caif/caif_socket.h
  HDRINST usr/include/linux/caif/if_caif.h
  HDRINST usr/include/linux/i2c-dev.h
  HDRINST usr/include/linux/cuda.h
  HDRINST usr/include/linux/mei_uuid.h
  HDRINST usr/include/linux/cn_proc.h
  HDRINST usr/include/linux/parport.h
  HDRINST usr/include/linux/v4l2-controls.h
  HDRINST usr/include/linux/hsi/cs-protocol.h
  HDRINST usr/include/linux/hsi/hsi_char.h
  HDRINST usr/include/linux/seg6_genl.h
  HDRINST usr/include/linux/am437x-vpfe.h
  HDRINST usr/include/linux/amt.h
  HDRINST usr/include/linux/netconf.h
  HDRINST usr/include/linux/erspan.h
  HDRINST usr/include/linux/nsfs.h
  HDRINST usr/include/linux/xilinx-v4l2-controls.h
  HDRINST usr/include/linux/aspeed-p2a-ctrl.h
  HDRINST usr/include/linux/vfio_zdev.h
  HDRINST usr/include/linux/serio.h
  HDRINST usr/include/linux/acrn.h
  HDRINST usr/include/linux/nfs2.h
  HDRINST usr/include/linux/virtio_pci.h
  HDRINST usr/include/linux/ipc.h
  HDRINST usr/include/linux/ethtool_netlink.h
  HDRINST usr/include/linux/kd.h
  HDRINST usr/include/linux/elf.h
  HDRINST usr/include/linux/videodev2.h
  HDRINST usr/include/linux/if_alg.h
  HDRINST usr/include/linux/sonypi.h
  HDRINST usr/include/linux/fsverity.h
  HDRINST usr/include/linux/if.h
  HDRINST usr/include/linux/btrfs.h
  HDRINST usr/include/linux/vm_sockets_diag.h
  HDRINST usr/include/linux/netfilter_bridge.h
  HDRINST usr/include/linux/netfilter_ipv4.h
  HDRINST usr/include/linux/packet_diag.h
  HDRINST usr/include/linux/kvm.h
  HDRINST usr/include/linux/pci.h
  HDRINST usr/include/linux/if_addrlabel.h
  HDRINST usr/include/linux/hdlcdrv.h
  HDRINST usr/include/linux/cfm_bridge.h
  HDRINST usr/include/linux/fiemap.h
  HDRINST usr/include/linux/dm-ioctl.h
  HDRINST usr/include/linux/aspeed-lpc-ctrl.h
  HDRINST usr/include/linux/atmioc.h
  HDRINST usr/include/linux/dlm.h
  HDRINST usr/include/linux/pci_regs.h
  HDRINST usr/include/linux/cachefiles.h
  HDRINST usr/include/linux/membarrier.h
  HDRINST usr/include/linux/nfs_idmap.h
  HDRINST usr/include/linux/ip.h
  HDRINST usr/include/linux/atm_he.h
  HDRINST usr/include/linux/nfsd/export.h
  HDRINST usr/include/linux/nfsd/stats.h
  HDRINST usr/include/linux/nfsd/debug.h
  HDRINST usr/include/linux/nfsd/cld.h
  HDRINST usr/include/linux/ip_vs.h
  HDRINST usr/include/linux/vmcore.h
  HDRINST usr/include/linux/vbox_vmmdev_types.h
  HDRINST usr/include/linux/dvb/osd.h
  HDRINST usr/include/linux/dvb/dmx.h
  HDRINST usr/include/linux/dvb/net.h
  HDRINST usr/include/linux/dvb/frontend.h
  HDRINST usr/include/linux/dvb/ca.h
  HDRINST usr/include/linux/dvb/version.h
  HDRINST usr/include/linux/dvb/video.h
  HDRINST usr/include/linux/dvb/audio.h
  HDRINST usr/include/linux/nfs.h
  HDRINST usr/include/linux/if_link.h
  HDRINST usr/include/linux/wait.h
  HDRINST usr/include/linux/icmpv6.h
  HDRINST usr/include/linux/media.h
  HDRINST usr/include/linux/seg6_local.h
  HDRINST usr/include/linux/tps6594_pfsm.h
  HDRINST usr/include/linux/openvswitch.h
  HDRINST usr/include/linux/atmsap.h
  HDRINST usr/include/linux/bpfilter.h
  HDRINST usr/include/linux/fpga-dfl.h
  HDRINST usr/include/linux/userio.h
  HDRINST usr/include/linux/signal.h
  HDRINST usr/include/linux/map_to_14segment.h
  HDRINST usr/include/linux/hdreg.h
  HDRINST usr/include/linux/utime.h
  HDRINST usr/include/linux/usbdevice_fs.h
  HDRINST usr/include/linux/timex.h
  HDRINST usr/include/linux/if_fc.h
  HDRINST usr/include/linux/reiserfs_xattr.h
  HDRINST usr/include/linux/hw_breakpoint.h
  HDRINST usr/include/linux/quota.h
  HDRINST usr/include/linux/ioprio.h
  HDRINST usr/include/linux/eventpoll.h
  HDRINST usr/include/linux/atmclip.h
  HDRINST usr/include/linux/can.h
  HDRINST usr/include/linux/if_team.h
  HDRINST usr/include/linux/usbip.h
  HDRINST usr/include/linux/stat.h
  HDRINST usr/include/linux/fou.h
  HDRINST usr/include/linux/hash_info.h
  HDRINST usr/include/linux/ppp-comp.h
  HDRINST usr/include/linux/ip6_tunnel.h
  HDRINST usr/include/linux/tipc_netlink.h
  HDRINST usr/include/linux/in.h
  HDRINST usr/include/linux/wireguard.h
  HDRINST usr/include/linux/btf.h
  HDRINST usr/include/linux/batman_adv.h
  HDRINST usr/include/linux/fcntl.h
  HDRINST usr/include/linux/if_ltalk.h
  HDRINST usr/include/linux/i2c.h
  HDRINST usr/include/linux/atm_idt77105.h
  HDRINST usr/include/linux/kexec.h
  HDRINST usr/include/linux/arm_sdei.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6_tables.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_ah.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_NPT.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_rt.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_REJECT.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_opts.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_srh.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_LOG.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_mh.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_HL.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_hl.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_frag.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h
  HDRINST usr/include/linux/minix_fs.h
  HDRINST usr/include/linux/aio_abi.h
  HDRINST usr/include/linux/pktcdvd.h
  HDRINST usr/include/linux/libc-compat.h
  HDRINST usr/include/linux/signalfd.h
  HDRINST usr/include/linux/atmlec.h
  HDRINST usr/include/linux/bpf_common.h
  HDRINST usr/include/linux/seg6_iptunnel.h
  HDRINST usr/include/linux/synclink.h
  HDRINST usr/include/linux/mpls_iptunnel.h
  HDRINST usr/include/linux/mctp.h
  HDRINST usr/include/linux/if_xdp.h
  HDRINST usr/include/linux/llc.h
  HDRINST usr/include/linux/atmsvc.h
  HDRINST usr/include/linux/sed-opal.h
  HDRINST usr/include/linux/sock_diag.h
  HDRINST usr/include/linux/time.h
  HDRINST usr/include/linux/securebits.h
  HDRINST usr/include/linux/fsl_hypervisor.h
  HDRINST usr/include/linux/if_hippi.h
  HDRINST usr/include/linux/seccomp.h
  HDRINST usr/include/linux/oom.h
  HDRINST usr/include/linux/filter.h
  HDRINST usr/include/linux/inotify.h
  HDRINST usr/include/linux/rfkill.h
  HDRINST usr/include/linux/reboot.h
  HDRINST usr/include/linux/can/vxcan.h
  HDRINST usr/include/linux/can/j1939.h
  HDRINST usr/include/linux/can/netlink.h
  HDRINST usr/include/linux/can/bcm.h
  HDRINST usr/include/linux/can/raw.h
  HDRINST usr/include/linux/can/gw.h
  HDRINST usr/include/linux/can/error.h
  HDRINST usr/include/linux/can/isotp.h
  HDRINST usr/include/linux/if_eql.h
  HDRINST usr/include/linux/psp-dbc.h
  HDRINST usr/include/linux/hiddev.h
  HDRINST usr/include/linux/blktrace_api.h
  HDRINST usr/include/linux/ccs.h
  HDRINST usr/include/linux/ioam6.h
  HDRINST usr/include/linux/hsr_netlink.h
  HDRINST usr/include/linux/mmc/ioctl.h
  HDRINST usr/include/linux/bfs_fs.h
  HDRINST usr/include/linux/rio_cm_cdev.h
  HDRINST usr/include/linux/uleds.h
  HDRINST usr/include/linux/mrp_bridge.h
  HDRINST usr/include/linux/adb.h
  HDRINST usr/include/linux/pmu.h
  HDRINST usr/include/linux/udmabuf.h
  HDRINST usr/include/linux/kcmp.h
  HDRINST usr/include/linux/dma-heap.h
  HDRINST usr/include/linux/netfilter_arp/arpt_mangle.h
  HDRINST usr/include/linux/userfaultfd.h
  HDRINST usr/include/linux/netfilter_arp/arp_tables.h
  HDRINST usr/include/linux/tipc.h
  HDRINST usr/include/linux/virtio_ids.h
  HDRINST usr/include/linux/l2tp.h
  HDRINST usr/include/linux/devlink.h
  HDRINST usr/include/linux/virtio_gpio.h
  HDRINST usr/include/linux/dcbnl.h
  HDRINST usr/include/linux/cyclades.h
  HDRINST usr/include/sound/intel/avs/tokens.h
  HDRINST usr/include/sound/sof/fw.h
  HDRINST usr/include/sound/sof/abi.h
  HDRINST usr/include/sound/sof/tokens.h
  HDRINST usr/include/sound/sof/header.h
  HDRINST usr/include/sound/usb_stream.h
  HDRINST usr/include/sound/sfnt_info.h
  HDRINST usr/include/sound/asequencer.h
  HDRINST usr/include/sound/tlv.h
  HDRINST usr/include/sound/asound.h
  HDRINST usr/include/sound/asoc.h
  HDRINST usr/include/sound/sb16_csp.h
  HDRINST usr/include/sound/compress_offload.h
  HDRINST usr/include/sound/hdsp.h
  HDRINST usr/include/sound/emu10k1.h
  HDRINST usr/include/sound/snd_ar_tokens.h
  HDRINST usr/include/sound/snd_sst_tokens.h
  HDRINST usr/include/sound/asound_fm.h
  HDRINST usr/include/sound/hdspm.h
  HDRINST usr/include/sound/compress_params.h
  HDRINST usr/include/sound/firewire.h
  HDRINST usr/include/sound/skl-tplg-interface.h
  HDRINST usr/include/scsi/scsi_bsg_ufs.h
  HDRINST usr/include/scsi/scsi_netlink_fc.h
  HDRINST usr/include/scsi/scsi_bsg_mpi3mr.h
  HDRINST usr/include/scsi/fc/fc_ns.h
  HDRINST usr/include/scsi/fc/fc_fs.h
  HDRINST usr/include/scsi/fc/fc_els.h
  HDRINST usr/include/scsi/fc/fc_gs.h
  HDRINST usr/include/scsi/scsi_bsg_fc.h
  HDRINST usr/include/scsi/cxlflash_ioctl.h
  HDRINST usr/include/scsi/scsi_netlink.h
  HDRINST usr/include/linux/version.h
  HDRINST usr/include/asm/processor-flags.h
  HDRINST usr/include/asm/auxvec.h
  HDRINST usr/include/asm/svm.h
  HDRINST usr/include/asm/bitsperlong.h
  HDRINST usr/include/asm/kvm_perf.h
  HDRINST usr/include/asm/mce.h
  HDRINST usr/include/asm/posix_types.h
  HDRINST usr/include/asm/msr.h
  HDRINST usr/include/asm/sigcontext32.h
  HDRINST usr/include/asm/mman.h
  HDRINST usr/include/asm/shmbuf.h
  HDRINST usr/include/asm/e820.h
  HDRINST usr/include/asm/posix_types_64.h
  HDRINST usr/include/asm/vsyscall.h
  HDRINST usr/include/asm/msgbuf.h
  HDRINST usr/include/asm/swab.h
  HDRINST usr/include/asm/statfs.h
  HDRINST usr/include/asm/posix_types_x32.h
  HDRINST usr/include/asm/ptrace.h
  HDRINST usr/include/asm/unistd.h
  HDRINST usr/include/asm/ist.h
  HDRINST usr/include/asm/prctl.h
  HDRINST usr/include/asm/boot.h
  HDRINST usr/include/asm/sigcontext.h
  HDRINST usr/include/asm/posix_types_32.h
  HDRINST usr/include/asm/kvm_para.h
  HDRINST usr/include/asm/a.out.h
  HDRINST usr/include/asm/mtrr.h
  HDRINST usr/include/asm/amd_hsmp.h
  HDRINST usr/include/asm/hwcap2.h
  HDRINST usr/include/asm/ptrace-abi.h
  HDRINST usr/include/asm/vm86.h
  HDRINST usr/include/asm/vmx.h
  HDRINST usr/include/asm/perf_regs.h
  HDRINST usr/include/asm/ldt.h
  HDRINST usr/include/asm/kvm.h
  HDRINST usr/include/asm/debugreg.h
  HDRINST usr/include/asm/signal.h
  HDRINST usr/include/asm/bootparam.h
  HDRINST usr/include/asm/siginfo.h
  HDRINST usr/include/asm/hw_breakpoint.h
  HDRINST usr/include/asm/stat.h
  HDRINST usr/include/asm/setup.h
  HDRINST usr/include/asm/sembuf.h
  HDRINST usr/include/asm/sgx.h
  HDRINST usr/include/asm/ucontext.h
  HDRINST usr/include/asm/byteorder.h
  HDRINST usr/include/asm/unistd_64.h
  HDRINST usr/include/asm/ioctls.h
  HDRINST usr/include/asm/bpf_perf_event.h
  HDRINST usr/include/asm/types.h
  HDRINST usr/include/asm/poll.h
  HDRINST usr/include/asm/param.h
  HDRINST usr/include/asm/resource.h
  HDRINST usr/include/asm/sockios.h
  HDRINST usr/include/asm/errno.h
  HDRINST usr/include/asm/unistd_x32.h
  HDRINST usr/include/asm/termios.h
  HDRINST usr/include/asm/ioctl.h
  HDRINST usr/include/asm/socket.h
  HDRINST usr/include/asm/unistd_32.h
  HDRINST usr/include/asm/termbits.h
  HDRINST usr/include/asm/fcntl.h
  HDRINST usr/include/asm/ipcbuf.h
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 ../include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 ../include/linux/atomic/atomic-instrumented.h
  CHKSHA1 ../include/linux/atomic/atomic-long.h
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  LD      /kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  UPD     include/generated/asm-offsets.h
  CALL    ../scripts/checksyscalls.sh
  LD      /kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /kernel/build64-default/tools/objtool/objtool
  LDS     scripts/module.lds
  HOSTCC  usr/gen_init_cpio
  AR      certs/built-in.a
  AS      arch/x86/lib/clear_page_64.o
  CC      io_uring/io_uring.o
  CC      io_uring/xattr.o
  AR      arch/x86/video/built-in.a
  CC      security/commoncap.o
  CC      init/main.o
  CC      arch/x86/lib/cmdline.o
  CC      arch/x86/pci/i386.o
  AS      arch/x86/lib/cmpxchg16b_emu.o
  CC      arch/x86/pci/init.o
  CC      arch/x86/power/cpu.o
  CC      io_uring/nop.o
  CC      arch/x86/lib/copy_mc.o
  UPD     init/utsversion-tmp.h
  CC      security/min_addr.o
  CC [M]  arch/x86/video/fbdev.o
  AS      arch/x86/lib/copy_mc_64.o
  CC      ipc/compat.o
  CC      init/do_mounts.o
  CC      io_uring/fs.o
  CC      arch/x86/pci/mmconfig_64.o
  CC      arch/x86/power/hibernate_64.o
  CC      block/bdev.o
  AR      arch/x86/ia32/built-in.a
  CC      block/partitions/core.o
  CC      net/ethernet/eth.o
  AR      virt/lib/built-in.a
  CC      security/keys/gc.o
  AS      arch/x86/crypto/aesni-intel_asm.o
  CC      arch/x86/realmode/init.o
  CC      net/llc/llc_core.o
  CC      block/fops.o
  CC      net/core/sock.o
  CC      net/802/p8022.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/kvm_main.o
  CC      fs/nfs_common/grace.o
  AR      arch/x86/platform/atom/built-in.a
  AR      drivers/cache/built-in.a
  AR      arch/x86/net/built-in.a
  CC      arch/x86/events/amd/core.o
  CC      net/llc/llc_input.o
  CC [M]  virt/lib/irqbypass.o
  CC      arch/x86/kernel/fpu/init.o
  CC      fs/notify/dnotify/dnotify.o
  CC      arch/x86/mm/pat/set_memory.o
  CC      sound/core/sound.o
  CC      arch/x86/pci/direct.o
  AR      arch/x86/platform/ce4100/built-in.a
  CC      sound/core/seq/seq.o
  CC      arch/x86/platform/efi/memmap.o
  AR      drivers/irqchip/built-in.a
  CC      kernel/locking/mutex.o
  CC      arch/x86/entry/vdso/vma.o
  CC      lib/kunit/hooks.o
  AR      sound/i2c/other/built-in.a
  CC      kernel/sched/core.o
  CC      mm/kasan/common.o
  AR      sound/i2c/built-in.a
  CC      arch/x86/crypto/aesni-intel_glue.o
  AR      drivers/bus/mhi/built-in.a
  CC      crypto/api.o
  CC      crypto/cipher.o
  AR      drivers/bus/built-in.a
  CC      arch/x86/events/intel/core.o
  AR      drivers/phy/allwinner/built-in.a
  AR      drivers/phy/amlogic/built-in.a
  AR      drivers/phy/broadcom/built-in.a
  AR      drivers/phy/cadence/built-in.a
  AR      drivers/phy/freescale/built-in.a
  AR      drivers/phy/hisilicon/built-in.a
  AR      drivers/phy/ingenic/built-in.a
  AR      drivers/phy/intel/built-in.a
  AR      drivers/phy/lantiq/built-in.a
  AR      drivers/phy/marvell/built-in.a
  AR      drivers/phy/mediatek/built-in.a
  AR      drivers/phy/microchip/built-in.a
  GEN     usr/initramfs_data.cpio
  AR      drivers/phy/motorola/built-in.a
  CC [M]  lib/kunit/test.o
  COPY    usr/initramfs_inc_data
  AR      drivers/phy/mscc/built-in.a
  AS      usr/initramfs_data.o
  AR      drivers/phy/qualcomm/built-in.a
  AR      usr/built-in.a
  AS      arch/x86/lib/copy_page_64.o
  AR      drivers/phy/ralink/built-in.a
  AR      drivers/phy/realtek/built-in.a
  AS      arch/x86/lib/copy_user_64.o
  AR      drivers/phy/renesas/built-in.a
  AR      drivers/pinctrl/actions/built-in.a
  AR      drivers/pinctrl/bcm/built-in.a
  AR      drivers/phy/rockchip/built-in.a
  AS      arch/x86/lib/copy_user_uncached_64.o
  CC      arch/x86/kernel/fpu/bugs.o
  AR      drivers/pinctrl/cirrus/built-in.a
  AR      drivers/phy/samsung/built-in.a
  CC      arch/x86/lib/cpu.o
  AR      drivers/pinctrl/freescale/built-in.a
  AR      drivers/phy/socionext/built-in.a
  CC      drivers/pinctrl/intel/pinctrl-baytrail.o
  AR      drivers/phy/st/built-in.a
  AR      drivers/phy/starfive/built-in.a
  AR      virt/built-in.a
  AR      drivers/phy/sunplus/built-in.a
  CC      drivers/gpio/gpiolib.o
  AR      drivers/phy/tegra/built-in.a
  AR      drivers/phy/ti/built-in.a
  AR      drivers/phy/xilinx/built-in.a
  CC      drivers/phy/phy-core.o
  CC      io_uring/splice.o
  CC      arch/x86/kernel/fpu/core.o
  CC      sound/core/seq/seq_lock.o
  AS      arch/x86/realmode/rm/header.o
  CC      sound/core/seq/seq_clientmgr.o
  CC      block/bio.o
  AS      arch/x86/realmode/rm/trampoline_64.o
  AS      arch/x86/realmode/rm/stack.o
  CC      ipc/util.o
  CC      security/keys/key.o
  AS      arch/x86/realmode/rm/reboot.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/eventfd.o
  CC      arch/x86/entry/vdso/extable.o
  CC      arch/x86/platform/efi/quirks.o
  AR      fs/notify/dnotify/built-in.a
  AR      arch/x86/platform/geode/built-in.a
  AS      arch/x86/realmode/rm/wakeup_asm.o
  CC      init/do_mounts_initrd.o
  CC      arch/x86/entry/vdso/vdso32-setup.o
  CC      fs/notify/inotify/inotify_fsnotify.o
  CC      arch/x86/pci/mmconfig-shared.o
  CC      arch/x86/realmode/rm/wakemain.o
  AR      drivers/pinctrl/mediatek/built-in.a
  AR      fs/nfs_common/built-in.a
  CC      net/802/psnap.o
  CC      fs/notify/inotify/inotify_user.o
  CC      io_uring/sync.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/binary_stats.o
  CC      arch/x86/platform/efi/efi.o
  CC      arch/x86/lib/delay.o
  CC      net/802/stp.o
  CC      arch/x86/realmode/rm/video-mode.o
  AR      drivers/pinctrl/mvebu/built-in.a
  AS      arch/x86/power/hibernate_asm_64.o
  CC      net/llc/llc_output.o
  CC      net/core/request_sock.o
  CC      block/partitions/ldm.o
  CC      arch/x86/power/hibernate.o
  CC      mm/kasan/report.o
  CC      block/partitions/msdos.o
  CC      crypto/compress.o
  AS      arch/x86/realmode/rm/copy.o
  AS      arch/x86/realmode/rm/bioscall.o
  CC      arch/x86/platform/efi/efi_64.o
  CC      sound/core/seq/seq_memory.o
  CC      arch/x86/realmode/rm/regs.o
  CC      arch/x86/mm/pat/memtype.o
  CC      arch/x86/realmode/rm/video-vga.o
  AS      arch/x86/crypto/aesni-intel_avx-x86_64.o
  AS      arch/x86/crypto/aes_ctrby8_avx-x86_64.o
  CC [M]  lib/kunit/resource.o
  CC      arch/x86/events/amd/lbr.o
  AS      arch/x86/lib/getuser.o
  CC      arch/x86/realmode/rm/video-vesa.o
  GEN     arch/x86/lib/inat-tables.c
  CC      arch/x86/realmode/rm/video-bios.o
  CC [M]  lib/kunit/static_stub.o
  CC      arch/x86/lib/insn-eval.o
  CC      security/inode.o
  CC      arch/x86/events/amd/ibs.o
  PASYMS  arch/x86/realmode/rm/pasyms.h
  LDS     arch/x86/realmode/rm/realmode.lds
  AR      net/ethernet/built-in.a
  CC      net/core/skbuff.o
  LD      arch/x86/realmode/rm/realmode.elf
  CC [M]  lib/kunit/string-stream.o
  RELOCS  arch/x86/realmode/rm/realmode.relocs
  CC      net/core/datagram.o
  OBJCOPY arch/x86/realmode/rm/realmode.bin
  AS      arch/x86/realmode/rmpiggy.o
  AS [M]  arch/x86/crypto/ghash-clmulni-intel_asm.o
  AR      arch/x86/realmode/built-in.a
  CC [M]  lib/kunit/assert.o
  CC [M]  arch/x86/crypto/ghash-clmulni-intel_glue.o
  LDS     arch/x86/entry/vdso/vdso.lds
  AS      arch/x86/entry/vdso/vdso-note.o
  CC      arch/x86/entry/vdso/vclock_gettime.o
  CC      io_uring/advise.o
  CC      drivers/pinctrl/intel/pinctrl-intel.o
  CC      init/initramfs.o
  CC      crypto/algapi.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/vfio.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/coalesced_mmio.o
  CC      io_uring/filetable.o
  AR      drivers/phy/built-in.a
  CC [M]  arch/x86/kvm/../../../virt/kvm/async_pf.o
  CC      fs/iomap/trace.o
  AR      net/802/built-in.a
  CC      security/keys/keyring.o
  AR      arch/x86/power/built-in.a
  CC [M]  arch/x86/kvm/../../../virt/kvm/irqchip.o
  CC      fs/iomap/iter.o
  AR      drivers/pwm/built-in.a
  AR      net/llc/built-in.a
  CC      arch/x86/events/intel/bts.o
  CC      security/keys/keyctl.o
  CC      arch/x86/events/intel/ds.o
  CC      arch/x86/pci/fixup.o
  CC      mm/kasan/init.o
  CC      sound/core/seq/seq_queue.o
  CC      arch/x86/events/intel/knc.o
  CC      arch/x86/events/intel/lbr.o
  AS      arch/x86/platform/efi/efi_stub_64.o
  AR      fs/notify/inotify/built-in.a
  AR      fs/quota/built-in.a
  CC      fs/notify/fanotify/fanotify.o
  AR      arch/x86/platform/iris/built-in.a
  AR      arch/x86/platform/efi/built-in.a
  CC      fs/kernfs/mount.o
  CC      arch/x86/kernel/fpu/regset.o
  CC      fs/kernfs/inode.o
  CC      security/device_cgroup.o
  CC      arch/x86/platform/intel/iosf_mbi.o
  CC [M]  lib/kunit/try-catch.o
  CC      ipc/msgutil.o
  CC      fs/kernfs/dir.o
  AS [M]  arch/x86/crypto/crc32-pclmul_asm.o
  CC      fs/proc/task_mmu.o
  CC      arch/x86/mm/pat/memtype_interval.o
  CC [M]  arch/x86/crypto/crc32-pclmul_glue.o
  CC      arch/x86/entry/vdso/vgetcpu.o
  CC      kernel/locking/semaphore.o
  CC      kernel/locking/rwsem.o
  CC      block/partitions/efi.o
  HOSTCC  arch/x86/entry/vdso/vdso2c
  CC      fs/kernfs/file.o
  CC      arch/x86/lib/insn.o
  CC      io_uring/openclose.o
  CC [M]  lib/kunit/executor.o
  CC      arch/x86/events/amd/uncore.o
  CC      fs/iomap/buffered-io.o
  CC [M]  lib/kunit/attributes.o
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      init/calibrate.o
  CC [M]  drivers/pinctrl/intel/pinctrl-cherryview.o
  AS      arch/x86/entry/vdso/vdso32/note.o
  AS [M]  arch/x86/crypto/crct10dif-pcl-asm_64.o
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  CC      security/keys/permission.o
  CC [M]  arch/x86/crypto/crct10dif-pclmul_glue.o
  AS      arch/x86/entry/vdso/vdso32/sigreturn.o
  AS      arch/x86/lib/memcpy_64.o
  CC      ipc/msg.o
  CC      arch/x86/events/intel/p4.o
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  AS      arch/x86/lib/memmove_64.o
  CC [M]  drivers/pinctrl/intel/pinctrl-broxton.o
  AS      arch/x86/lib/memset_64.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/dirty_ring.o
  CC      arch/x86/lib/misc.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/pfncache.o
  AR      arch/x86/mm/pat/built-in.a
  CC      arch/x86/pci/acpi.o
  CC      arch/x86/mm/init.o
  CC      sound/core/seq/seq_fifo.o
  CC [M]  arch/x86/kvm/x86.o
  CC      arch/x86/lib/pc-conf-reg.o
  CC      arch/x86/kernel/fpu/signal.o
  CC      ipc/sem.o
  CC      io_uring/uring_cmd.o
  AR      arch/x86/platform/intel/built-in.a
  CC      kernel/locking/percpu-rwsem.o
  AR      arch/x86/platform/intel-mid/built-in.a
  AR      arch/x86/platform/intel-quark/built-in.a
  AR      arch/x86/platform/olpc/built-in.a
  CC      arch/x86/mm/init_64.o
  AR      arch/x86/platform/scx200/built-in.a
  CC      mm/kasan/generic.o
  CC      init/init_task.o
  AR      arch/x86/platform/ts5500/built-in.a
  CC      security/keys/process_keys.o
  AR      arch/x86/platform/uv/built-in.a
  AR      arch/x86/platform/built-in.a
  CC      crypto/scatterwalk.o
  CC      net/sched/sch_generic.o
  AS      arch/x86/lib/putuser.o
  AS      arch/x86/lib/retpoline.o
  CC      io_uring/epoll.o
  CC      fs/notify/fanotify/fanotify_user.o
  CC      arch/x86/lib/usercopy.o
  CC      net/sched/sch_mq.o
  CC      net/core/stream.o
  CC      mm/kasan/report_generic.o
  CC      security/keys/request_key.o
  AR      block/partitions/built-in.a
  LD [M]  arch/x86/crypto/ghash-clmulni-intel.o
  CC      block/elevator.o
  AR      lib/kunit/built-in.a
  LD [M]  arch/x86/crypto/crc32-pclmul.o
  LD [M]  arch/x86/crypto/crct10dif-pclmul.o
  LD [M]  lib/kunit/kunit.o
  AR      arch/x86/crypto/built-in.a
  CC      lib/math/div64.o
  CC      net/netlink/af_netlink.o
  CC      lib/crypto/memneq.o
  CC      lib/math/gcd.o
  CC [M]  drivers/pinctrl/intel/pinctrl-geminilake.o
  CC      lib/crypto/utils.o
  CC      ipc/shm.o
  CC      io_uring/statx.o
  CC      fs/kernfs/symlink.o
  CC      drivers/gpio/gpiolib-devres.o
  CC      lib/math/lcm.o
  CC      arch/x86/entry/vdso/vdso32/vgetcpu.o
  CC      lib/math/int_log.o
  CC      arch/x86/lib/usercopy_64.o
  VDSO    arch/x86/entry/vdso/vdso64.so.dbg
  CC      sound/core/seq/seq_prioq.o
  CC      fs/sysfs/file.o
  CC      lib/math/int_pow.o
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  CC      lib/math/int_sqrt.o
  OBJCOPY arch/x86/entry/vdso/vdso64.so
  OBJCOPY arch/x86/entry/vdso/vdso32.so
  VDSO2C  arch/x86/entry/vdso/vdso-image-64.c
  VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
  CC      arch/x86/pci/legacy.o
  AR      arch/x86/events/amd/built-in.a
  CC      arch/x86/entry/vdso/vdso-image-64.o
  CC      fs/sysfs/dir.o
  CC      lib/crypto/chacha.o
  CC      kernel/locking/irqflag-debug.o
  CC      lib/math/reciprocal_div.o
  CC      drivers/gpio/gpiolib-legacy.o
  CC      init/version.o
  CC      crypto/proc.o
  CC      arch/x86/events/intel/p6.o
  CC      net/netlink/genetlink.o
  CC      kernel/locking/mutex-debug.o
  CC [M]  drivers/pinctrl/intel/pinctrl-sunrisepoint.o
  CC      lib/math/rational.o
  CC      arch/x86/pci/irq.o
  CC      arch/x86/kernel/fpu/xstate.o
  CC      lib/crypto/aes.o
  AR      drivers/pinctrl/nomadik/built-in.a
  CC      fs/configfs/inode.o
  AR      drivers/pinctrl/nuvoton/built-in.a
  CC      fs/configfs/file.o
  CC      arch/x86/entry/vdso/vdso-image-32.o
  CC      kernel/sched/fair.o
  AR      drivers/pinctrl/nxp/built-in.a
  CC      fs/iomap/direct-io.o
  CC      fs/notify/fsnotify.o
  CC      kernel/sched/build_policy.o
  CC      arch/x86/mm/fault.o
  CC      crypto/aead.o
  AR      init/built-in.a
  AR      fs/kernfs/built-in.a
  CC      fs/sysfs/symlink.o
  CC      crypto/geniv.o
  CC      mm/kasan/shadow.o
  CC      drivers/gpio/gpiolib-cdev.o
  CC      arch/x86/events/zhaoxin/core.o
  CC      arch/x86/events/intel/pt.o
  AR      drivers/pinctrl/qcom/built-in.a
  AR      arch/x86/entry/vdso/built-in.a
  CC      arch/x86/events/intel/uncore.o
  CC      arch/x86/lib/msr-smp.o
  CC      arch/x86/entry/vsyscall/vsyscall_64.o
  CC      security/keys/request_key_auth.o
  CC [M]  lib/math/prime_numbers.o
  CC      arch/x86/lib/cache-smp.o
  CC      fs/proc/inode.o
  CC      fs/sysfs/mount.o
  CC      arch/x86/pci/common.o
  CC      sound/core/seq/seq_timer.o
  CC      net/core/scm.o
  AR      drivers/pinctrl/intel/built-in.a
  AR      drivers/pinctrl/sprd/built-in.a
  AR      drivers/pinctrl/sunplus/built-in.a
  CC      crypto/skcipher.o
  CC      fs/devpts/inode.o
  CC      arch/x86/lib/msr.o
  AR      drivers/pinctrl/ti/built-in.a
  CC      block/blk-core.o
  CC      drivers/pinctrl/core.o
  CC      drivers/gpio/gpiolib-sysfs.o
  CC      kernel/locking/lockdep.o
  AS      arch/x86/lib/msr-reg.o
  CC      sound/core/init.o
  CC      crypto/seqiv.o
  CC      lib/crypto/gf128mul.o
  CC      kernel/power/qos.o
  CC      fs/configfs/dir.o
  CC      kernel/printk/printk.o
  AR      fs/notify/fanotify/built-in.a
  CC      mm/filemap.o
  CC      mm/kasan/quarantine.o
  CC      drivers/gpio/gpiolib-acpi.o
  CC      fs/notify/notification.o
  CC      drivers/gpio/gpiolib-swnode.o
  CC      net/core/gen_stats.o
  AR      lib/math/built-in.a
  CC      fs/iomap/fiemap.o
  CC      lib/crypto/blake2s.o
  CC      security/keys/user_defined.o
  CC      ipc/syscall.o
  AR      arch/x86/events/zhaoxin/built-in.a
  CC      fs/sysfs/group.o
  AS      arch/x86/entry/entry.o
  AS      arch/x86/entry/vsyscall/vsyscall_emu_64.o
  AS      arch/x86/entry/entry_64.o
  CC      kernel/power/main.o
  CC      arch/x86/lib/msr-reg-export.o
  AR      arch/x86/entry/vsyscall/built-in.a
  CC      arch/x86/pci/early.o
  CC      net/core/gen_estimator.o
  CC      kernel/power/console.o
  CC      sound/core/seq/seq_system.o
  CC      io_uring/net.o
  CC      arch/x86/entry/syscall_64.o
  CC      fs/proc/root.o
  AR      arch/x86/kernel/fpu/built-in.a
  CC      sound/core/seq/seq_ports.o
  AS      arch/x86/lib/hweight.o
  CC      arch/x86/lib/iomem.o
  CC      arch/x86/kernel/cpu/mce/core.o
  CC      arch/x86/kernel/cpu/mtrr/mtrr.o
  AS      arch/x86/lib/iomap_copy_64.o
  AR      fs/devpts/built-in.a
  CC      kernel/power/process.o
  CC      arch/x86/lib/inat.o
  CC      arch/x86/kernel/acpi/boot.o
  CC      lib/crypto/blake2s-generic.o
  CC      sound/core/seq/seq_info.o
  CC      net/sched/sch_frag.o
  CC      arch/x86/kernel/acpi/sleep.o
  CC      fs/configfs/symlink.o
  CC      arch/x86/mm/ioremap.o
  CC      arch/x86/events/intel/uncore_nhmex.o
  CC      lib/crypto/blake2s-selftest.o
  CC      net/netlink/policy.o
  CC      fs/notify/group.o
  CC      security/keys/compat.o
  AR      mm/kasan/built-in.a
  CC      crypto/echainiv.o
  CC      fs/iomap/seek.o
  CC      crypto/ahash.o
  CC      fs/iomap/swapfile.o
  AR      arch/x86/lib/lib.a
  AR      arch/x86/lib/built-in.a
  CC      block/blk-sysfs.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      ipc/ipc_sysctl.o
  CC      arch/x86/pci/bus_numa.o
  CC      arch/x86/pci/amd_bus.o
  CC      net/netlink/diag.o
  AR      fs/sysfs/built-in.a
  CC      lib/crypto/des.o
  AS      arch/x86/kernel/acpi/wakeup_64.o
  CC      kernel/locking/lockdep_proc.o
  CC      drivers/pinctrl/pinctrl-utils.o
  CC      fs/notify/mark.o
  CC      arch/x86/entry/common.o
  CC      block/blk-flush.o
  CC      block/blk-settings.o
  CC      fs/proc/base.o
  CC      kernel/locking/spinlock.o
  AR      drivers/gpio/built-in.a
  CC      security/keys/proc.o
  CC      sound/core/memory.o
  CC      fs/ext4/balloc.o
  CC      net/core/net_namespace.o
  AR      sound/core/seq/built-in.a
  CC      fs/configfs/mount.o
  CC      security/keys/sysctl.o
  CC      net/core/secure_seq.o
  CC      sound/core/control.o
  CC      kernel/power/suspend.o
  CC      lib/crypto/sha1.o
  AS      arch/x86/entry/thunk_64.o
  AS      arch/x86/entry/entry_64_compat.o
  CC      arch/x86/entry/syscall_32.o
  CC      lib/crypto/sha256.o
  CC      ipc/mqueue.o
  CC      kernel/power/hibernate.o
  CC      fs/jbd2/transaction.o
  AR      fs/iomap/built-in.a
  CC      kernel/power/snapshot.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      arch/x86/mm/extable.o
  CC      drivers/pinctrl/pinmux.o
  CC      fs/ramfs/inode.o
  CC      fs/ramfs/file-mmu.o
  CC      fs/hugetlbfs/inode.o
  CC      drivers/pci/msi/pcidev_msi.o
  CC      crypto/shash.o
  CC      arch/x86/kernel/acpi/apei.o
  AR      arch/x86/pci/built-in.a
  CC      drivers/pci/msi/api.o
  CC      net/sched/sch_api.o
  CC      drivers/pci/pcie/portdrv.o
  CC      drivers/pci/hotplug/pci_hotplug_core.o
  CC      drivers/pci/pcie/rcec.o
  CC      ipc/namespace.o
  AR      net/bpf/built-in.a
  CC      drivers/pci/pcie/aspm.o
  CC      block/blk-ioc.o
  AR      security/keys/built-in.a
  CC      arch/x86/events/intel/uncore_snb.o
  AR      security/built-in.a
  CC      fs/configfs/item.o
  CC      ipc/mq_sysctl.o
  CC      arch/x86/events/intel/uncore_snbep.o
  CC      kernel/locking/osq_lock.o
  CC [M]  lib/crypto/arc4.o
  CC      kernel/printk/printk_safe.o
  CC      block/blk-map.o
  CC      fs/notify/fdinfo.o
  CC      drivers/video/console/dummycon.o
  AR      net/netlink/built-in.a
  CC      arch/x86/kernel/cpu/mce/severity.o
  AR      arch/x86/entry/built-in.a
  CC      drivers/video/console/vgacon.o
  CC      io_uring/msg_ring.o
  CC      arch/x86/kernel/cpu/mce/genpool.o
  CC      net/ethtool/ioctl.o
  CC      arch/x86/kernel/cpu/mce/intel.o
  CC      net/ethtool/common.o
  AR      fs/ramfs/built-in.a
  CC      net/ethtool/netlink.o
  CC      drivers/pci/msi/msi.o
  CC      arch/x86/kernel/acpi/cppc.o
  CC      arch/x86/mm/mmap.o
  CC      drivers/pinctrl/pinconf.o
  AR      lib/crypto/built-in.a
  LD [M]  lib/crypto/libarc4.o
  CC      net/ethtool/bitset.o
  CC      lib/zlib_inflate/inffast.o
  AR      fs/configfs/built-in.a
  CC      lib/zlib_deflate/deflate.o
  CC      drivers/pci/msi/irqdomain.o
  CC      net/core/flow_dissector.o
  CC      lib/zlib_deflate/deftree.o
  CC      lib/lzo/lzo1x_compress.o
  CC      lib/zlib_deflate/deflate_syms.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  CC      lib/lz4/lz4_compress.o
  CC      kernel/printk/printk_ringbuffer.o
  CC      lib/zlib_inflate/inflate.o
  CC      drivers/pci/hotplug/acpi_pcihp.o
  CC      lib/lz4/lz4hc_compress.o
  CC      arch/x86/events/intel/uncore_discovery.o
  CC      net/ethtool/strset.o
  CC      sound/core/misc.o
  CC      crypto/akcipher.o
  CC      arch/x86/mm/pgtable.o
  AR      fs/notify/built-in.a
  CC      lib/zstd/zstd_compress_module.o
  CC      arch/x86/mm/physaddr.o
  CC      fs/ext4/bitmap.o
  CC      kernel/printk/sysctl.o
  CC      arch/x86/events/intel/cstate.o
  CC      arch/x86/kernel/cpu/mce/threshold.o
  CC      sound/core/device.o
  CC      arch/x86/kernel/acpi/cstate.o
  CC      lib/lzo/lzo1x_decompress_safe.o
  CC      block/blk-merge.o
  AR      fs/hugetlbfs/built-in.a
  CC      drivers/idle/intel_idle.o
  CC      drivers/pinctrl/pinconf-generic.o
  CC      drivers/pci/hotplug/pciehp_core.o
  CC      sound/core/info.o
  CC      drivers/pci/pcie/aer.o
  CC      kernel/power/swap.o
  CC      kernel/irq/irqdesc.o
  CC      mm/mempool.o
  CC      kernel/rcu/update.o
  CC      fs/jbd2/commit.o
  AR      drivers/video/console/built-in.a
  AR      kernel/printk/built-in.a
  CC      drivers/video/logo/logo.o
  CC      drivers/video/backlight/backlight.o
  CC      mm/oom_kill.o
  CC      lib/zstd/compress/fse_compress.o
  CC      io_uring/timeout.o
  CC      lib/zlib_inflate/infutil.o
  AR      ipc/built-in.a
  CC      lib/zstd/compress/hist.o
  AR      drivers/pci/msi/built-in.a
  CC      lib/zstd/compress/huf_compress.o
  CC      kernel/rcu/sync.o
  CC      sound/core/isadma.o
  AR      lib/zlib_deflate/built-in.a
  AR      drivers/char/ipmi/built-in.a
  AR      drivers/pci/controller/dwc/built-in.a
  AR      drivers/pci/controller/mobiveil/built-in.a
  CC      drivers/pci/controller/vmd.o
  CC      drivers/acpi/acpica/dsargs.o
  CC      sound/core/vmaster.o
  CC      drivers/acpi/numa/srat.o
  AR      lib/lzo/built-in.a
  CC      fs/proc/generic.o
  CC      crypto/sig.o
  CC      lib/xz/xz_dec_syms.o
  CC      fs/ext4/block_validity.o
  AR      arch/x86/kernel/cpu/mtrr/built-in.a
  CC      lib/xz/xz_dec_stream.o
  AR      arch/x86/kernel/acpi/built-in.a
  CC      arch/x86/kernel/cpu/microcode/core.o
  CC      arch/x86/kernel/cpu/cacheinfo.o
  HOSTCC  drivers/video/logo/pnmtologo
  CC      kernel/locking/qspinlock.o
  CC      arch/x86/kernel/cpu/scattered.o
  CC      drivers/acpi/acpica/dscontrol.o
  CC      drivers/acpi/acpica/dsdebug.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      lib/zlib_inflate/inftrees.o
  AR      drivers/pinctrl/built-in.a
  CC      kernel/rcu/srcutree.o
  CC      lib/zlib_inflate/inflate_syms.o
  CC      lib/xz/xz_dec_lzma2.o
  CC      arch/x86/kernel/cpu/mce/apei.o
  CC      drivers/pci/hotplug/pciehp_ctrl.o
  CC      drivers/acpi/apei/apei-base.o
  CC      arch/x86/mm/tlb.o
  CC      drivers/pci/hotplug/pciehp_pci.o
  CC      drivers/pci/hotplug/pciehp_hpc.o
  CC      lib/lz4/lz4_decompress.o
  LOGO    drivers/video/logo/logo_linux_clut224.c
  CC      drivers/video/logo/logo_linux_clut224.o
  CC      lib/xz/xz_dec_bcj.o
  CC      drivers/acpi/acpica/dsfield.o
  AR      drivers/video/logo/built-in.a
  AR      drivers/acpi/pmic/built-in.a
  CC      sound/core/ctljack.o
  CC      drivers/acpi/dptf/int340x_thermal.o
  CC      kernel/irq/handle.o
  CC      net/sched/sch_blackhole.o
  CC      arch/x86/mm/cpu_entry_area.o
  CC      arch/x86/kernel/cpu/common.o
  AR      lib/zlib_inflate/built-in.a
  CC      drivers/pci/pcie/err.o
  CC      drivers/pnp/pnpacpi/core.o
  CC      lib/raid6/algos.o
  AR      arch/x86/events/intel/built-in.a
  CC      lib/fonts/fonts.o
  CC      arch/x86/events/core.o
  CC      lib/fonts/font_8x8.o
  CC      lib/argv_split.o
  CC      lib/fonts/font_8x16.o
  CC      drivers/acpi/apei/hest.o
  CC      kernel/locking/rtmutex_api.o
  CC      arch/x86/kernel/cpu/rdrand.o
  AR      drivers/idle/built-in.a
  CC      net/sched/sch_fifo.o
  CC      drivers/pci/pcie/aer_inject.o
  CC      crypto/kpp.o
  AR      drivers/video/backlight/built-in.a
  CC      drivers/video/fbdev/core/fb_notify.o
  AR      drivers/acpi/numa/built-in.a
  CC      arch/x86/kernel/cpu/microcode/intel.o
  AR      drivers/video/fbdev/omap/built-in.a
  CC      drivers/acpi/tables.o
  CC      arch/x86/kernel/cpu/microcode/amd.o
  CC      io_uring/sqpoll.o
  AR      arch/x86/kernel/cpu/mce/built-in.a
  CC      kernel/sched/build_utility.o
  CC      fs/proc/array.o
  CC      sound/core/jack.o
  CC      kernel/power/user.o
  CC      fs/ext4/dir.o
  AR      drivers/acpi/dptf/built-in.a
  CC [M]  net/netfilter/ipvs/ip_vs_conn.o
  CC [M]  net/netfilter/ipvs/ip_vs_core.o
  CC      drivers/acpi/acpica/dsinit.o
  AR      net/ipv4/netfilter/built-in.a
  CC [M]  net/netfilter/ipvs/ip_vs_ctl.o
  AR      lib/xz/built-in.a
  CC [M]  net/ipv4/netfilter/nf_defrag_ipv4.o
  AR      drivers/pci/controller/built-in.a
  CC [M]  net/ipv4/netfilter/nf_reject_ipv4.o
  CC      drivers/acpi/acpica/dsmethod.o
  AR      lib/fonts/built-in.a
  CC      block/blk-timeout.o
  CC      net/core/sysctl_net_core.o
  AR      drivers/pci/switch/built-in.a
  CC [M]  net/ipv4/netfilter/ip_tables.o
  AR      sound/drivers/opl3/built-in.a
  CC      kernel/irq/manage.o
  AR      sound/drivers/opl4/built-in.a
  CC [M]  net/ipv4/netfilter/iptable_filter.o
  AR      sound/drivers/mpu401/built-in.a
  CC      fs/jbd2/recovery.o
  AR      sound/drivers/vx/built-in.a
  CC      crypto/acompress.o
  AR      sound/drivers/pcsp/built-in.a
  CC      kernel/irq/spurious.o
  AR      sound/drivers/built-in.a
  CC      net/ethtool/linkinfo.o
  CC      net/core/dev.o
  CC      crypto/scompress.o
  CC      drivers/pnp/pnpacpi/rsparser.o
  CC      drivers/acpi/apei/erst.o
  CC      net/ethtool/linkmodes.o
  CC      lib/zstd/compress/zstd_compress.o
  CC      kernel/irq/resend.o
  CC      lib/raid6/recov.o
  CC      lib/zstd/compress/zstd_compress_literals.o
  CC      drivers/video/aperture.o
  CC      arch/x86/mm/maccess.o
  CC      drivers/pci/hotplug/acpiphp_core.o
  CC      drivers/pci/hotplug/acpiphp_glue.o
  CC      crypto/algboss.o
  CC      drivers/video/cmdline.o
  AR      lib/lz4/built-in.a
  CC      kernel/rcu/tree.o
  CC      drivers/acpi/acpica/dsmthdat.o
  CC [M]  drivers/video/fbdev/core/fb_info.o
  CC      drivers/pci/pcie/pme.o
  CC      kernel/rcu/rcu_segcblist.o
  CC      sound/core/timer.o
  CC      block/blk-lib.o
  AR      net/sched/built-in.a
  CC      drivers/acpi/apei/bert.o
  CC      mm/fadvise.o
  CC      drivers/pci/pcie/dpc.o
  CC      kernel/power/poweroff.o
  CC      arch/x86/mm/pgprot.o
  CC      mm/maccess.o
  AR      arch/x86/kernel/cpu/microcode/built-in.a
  CC      mm/page-writeback.o
  CC      kernel/irq/chip.o
  AR      drivers/amba/built-in.a
  CC      drivers/acpi/apei/ghes.o
  HOSTCC  lib/raid6/mktables
  CC [M]  net/ipv4/netfilter/iptable_mangle.o
  CC      io_uring/fdinfo.o
  AR      kernel/power/built-in.a
  CC      kernel/locking/spinlock_debug.o
  CC      drivers/acpi/acpica/dsobject.o
  CC      fs/ext4/ext4_jbd2.o
  CC      arch/x86/events/probe.o
  CC      kernel/locking/qrwlock.o
  UNROLL  lib/raid6/int1.c
  CC      arch/x86/kernel/cpu/match.o
  UNROLL  lib/raid6/int2.c
  UNROLL  lib/raid6/int4.c
  UNROLL  lib/raid6/int8.c
  UNROLL  lib/raid6/int16.c
  UNROLL  lib/raid6/int32.c
  CC      lib/raid6/recov_ssse3.o
  CC      fs/ext4/extents.o
  CC      arch/x86/kernel/cpu/bugs.o
  CC      arch/x86/mm/hugetlbpage.o
  AR      drivers/pnp/pnpacpi/built-in.a
  CC      fs/jbd2/checkpoint.o
  CC      drivers/pnp/core.o
  CC      fs/proc/fd.o
  CC      fs/jbd2/revoke.o
  CC      net/netfilter/core.o
  CC      drivers/acpi/acpica/dsopcode.o
  CC      net/ipv4/route.o
  AR      kernel/livepatch/built-in.a
  CC      drivers/video/nomodeset.o
  CC      net/ethtool/rss.o
  CC [M]  drivers/video/fbdev/core/fbmem.o
  CC      net/netfilter/nf_log.o
  CC      lib/raid6/recov_avx2.o
  CC      crypto/testmgr.o
  CC      drivers/acpi/acpica/dspkginit.o
  CC      mm/folio-compat.o
  CC      arch/x86/events/utils.o
  CC      mm/readahead.o
  CC      block/blk-mq.o
  CC      mm/swap.o
  AR      drivers/pci/pcie/built-in.a
  CC      mm/truncate.o
  CC      fs/jbd2/journal.o
  CC      net/netfilter/nf_queue.o
  AR      kernel/locking/built-in.a
  CC [M]  net/ipv4/netfilter/iptable_nat.o
  CC      arch/x86/events/rapl.o
  CC      mm/vmscan.o
  CC      arch/x86/kernel/cpu/aperfmperf.o
  AR      drivers/pci/hotplug/built-in.a
  CC      drivers/pci/access.o
  CC      net/core/dev_addr_lists.o
  CC      drivers/acpi/acpica/dsutils.o
  CC      drivers/video/hdmi.o
  CC      lib/raid6/mmx.o
  CC      block/blk-mq-tag.o
  CC      drivers/acpi/acpica/dswexec.o
  CC      crypto/cmac.o
  CC      drivers/pnp/card.o
  CC      net/ethtool/linkstate.o
  CC [M]  net/ipv4/netfilter/ipt_REJECT.o
  CC      arch/x86/mm/kasan_init_64.o
  CC      kernel/irq/dummychip.o
  CC      lib/raid6/sse1.o
  CC      lib/raid6/sse2.o
  CC      fs/proc/proc_tty.o
  CC      io_uring/tctx.o
  AR      drivers/acpi/apei/built-in.a
  CC      drivers/acpi/blacklist.o
  CC      arch/x86/events/msr.o
  CC      net/netfilter/nf_sockopt.o
  CC      net/ethtool/debug.o
  CC      net/netfilter/utils.o
  CC      drivers/acpi/acpica/dswload.o
  CC      kernel/irq/devres.o
  CC      fs/proc/cmdline.o
  CC      arch/x86/mm/numa.o
  CC      sound/core/hrtimer.o
  CC [M]  drivers/video/fbdev/core/fbcmap.o
  CC      drivers/acpi/osi.o
  CC      kernel/dma/mapping.o
  CC      crypto/hmac.o
  CC      kernel/dma/direct.o
  CC      fs/ext4/extents_status.o
  CC      kernel/dma/ops_helpers.o
  CC [M]  drivers/video/fbdev/core/modedb.o
  CC      drivers/pci/bus.o
  CC      crypto/vmac.o
  CC      drivers/acpi/osl.o
  CC      lib/raid6/avx2.o
  CC      lib/zstd/compress/zstd_compress_sequences.o
  CC      drivers/pnp/driver.o
  CC [M]  net/netfilter/nfnetlink.o
  CC      kernel/dma/dummy.o
  CC      drivers/acpi/acpica/dswload2.o
  CC      arch/x86/kernel/cpu/cpuid-deps.o
  CC      net/xfrm/xfrm_policy.o
  CC      fs/proc/consoles.o
  CC      crypto/xcbc.o
  CC      sound/core/seq_device.o
  CC      kernel/irq/autoprobe.o
  CC      crypto/crypto_null.o
  CC      net/xfrm/xfrm_state.o
  CC [M]  net/netfilter/ipvs/ip_vs_sched.o
  CC      arch/x86/mm/numa_64.o
  AR      arch/x86/events/built-in.a
  CC      arch/x86/mm/amdtopology.o
  AR      sound/isa/ad1816a/built-in.a
  CC      net/core/dst.o
  AR      sound/isa/ad1848/built-in.a
  AR      sound/isa/cs423x/built-in.a
  CC      net/ipv4/inetpeer.o
  AR      sound/isa/es1688/built-in.a
  CC      io_uring/poll.o
  AR      sound/isa/galaxy/built-in.a
  CC      arch/x86/kernel/apic/apic.o
  AR      sound/isa/gus/built-in.a
  AR      sound/isa/msnd/built-in.a
  AR      sound/isa/opti9xx/built-in.a
  AR      sound/isa/sb/built-in.a
  CC      fs/proc/cpuinfo.o
  AR      sound/isa/wavefront/built-in.a
  AR      sound/isa/wss/built-in.a
  CC      net/ethtool/wol.o
  AR      sound/isa/built-in.a
  CC      drivers/acpi/utils.o
  CC      net/core/netevent.o
  CC      arch/x86/kernel/cpu/umwait.o
  CC      net/ethtool/features.o
  CC      drivers/acpi/reboot.o
  CC      kernel/irq/irqdomain.o
  CC      drivers/pnp/resource.o
  CC      drivers/acpi/acpica/dswscope.o
  CC      lib/zstd/compress/zstd_compress_superblock.o
  CC      lib/raid6/avx512.o
  CC      kernel/dma/contiguous.o
  CC      kernel/irq/proc.o
  CC      kernel/dma/swiotlb.o
  CC      drivers/pci/probe.o
  CC      drivers/acpi/acpica/dswstate.o
  CC      lib/raid6/recov_avx512.o
  CC      kernel/dma/remap.o
  CC      lib/bug.o
  CC [M]  drivers/video/fbdev/core/fbcvt.o
  CC [M]  net/netfilter/ipvs/ip_vs_xmit.o
  CC [M]  sound/core/control_led.o
  CC      crypto/md5.o
  CC      arch/x86/mm/srat.o
  CC      drivers/acpi/acpica/evevent.o
  CC [M]  net/netfilter/nf_conntrack_core.o
  CC      lib/zstd/compress/zstd_double_fast.o
  CC      fs/proc/devices.o
  CC      arch/x86/kernel/kprobes/core.o
  CC      arch/x86/mm/pkeys.o
  CC      kernel/entry/common.o
  LDS     arch/x86/kernel/vmlinux.lds
  CC      fs/fat/cache.o
  CC      kernel/entry/syscall_user_dispatch.o
  CC      arch/x86/kernel/cpu/proc.o
  CC      crypto/sha1_generic.o
  CC      mm/shmem.o
  CC      fs/nfs/client.o
  CC      drivers/acpi/acpica/evgpe.o
  CC      fs/nfs/dir.o
  CC      mm/util.o
  CC      mm/mmzone.o
  AS      arch/x86/kernel/head_64.o
  AR      drivers/video/fbdev/omap2/omapfb/dss/built-in.a
  CC      mm/vmstat.o
  AR      drivers/video/fbdev/omap2/omapfb/displays/built-in.a
  CC [M]  net/netfilter/nf_conntrack_standalone.o
  AR      drivers/video/fbdev/omap2/omapfb/built-in.a
  AR      drivers/video/fbdev/omap2/built-in.a
  MKCAP   arch/x86/kernel/cpu/capflags.c
  TABLE   lib/raid6/tables.c
  CC      fs/fat/dir.o
  CC      mm/backing-dev.o
  CC      lib/raid6/int1.o
  CC      mm/mm_init.o
  CC      mm/percpu.o
  CC [M]  net/netfilter/ipvs/ip_vs_app.o
  CC      net/ethtool/privflags.o
  CC      net/core/neighbour.o
  CC [M]  sound/core/hwdep.o
  CC [M]  drivers/video/fbdev/core/fb_cmdline.o
  CC      io_uring/cancel.o
  CC      fs/proc/interrupts.o
  AR      fs/jbd2/built-in.a
  CC      net/ethtool/rings.o
  CC      drivers/pnp/manager.o
  CC      net/ethtool/channels.o
  CC      arch/x86/mm/pti.o
  CC      kernel/irq/migration.o
  CC      kernel/entry/kvm.o
  CC      net/ipv4/protocol.o
  CC      crypto/sha256_generic.o
  CC      drivers/acpi/acpica/evgpeblk.o
  CC      kernel/irq/cpuhotplug.o
  AR      kernel/dma/built-in.a
  CC      net/ipv4/ip_input.o
  CC      kernel/module/main.o
  CC      arch/x86/kernel/kprobes/opt.o
  CC      kernel/module/strict_rwx.o
  CC      arch/x86/kernel/apic/apic_common.o
  CC      fs/proc/loadavg.o
  CC      lib/raid6/int2.o
  CC      kernel/time/time.o
  CC      drivers/pnp/support.o
  CC      kernel/time/timer.o
  CC [M]  arch/x86/kvm/emulate.o
  CC      fs/ext4/file.o
  CC [M]  drivers/video/fbdev/core/fb_io_fops.o
  CC [M]  drivers/video/fbdev/core/fb_backlight.o
  CC [M]  sound/core/pcm.o
  AR      kernel/rcu/built-in.a
  CC      drivers/acpi/acpica/evgpeinit.o
  CC      fs/ext4/fsmap.o
  CC      arch/x86/kernel/apic/apic_noop.o
  CC      kernel/irq/pm.o
  CC      crypto/sha512_generic.o
  CC      io_uring/kbuf.o
  CC      drivers/pci/host-bridge.o
  AR      arch/x86/mm/built-in.a
  CC [M]  drivers/video/fbdev/uvesafb.o
  AR      sound/pci/ac97/built-in.a
  AR      sound/pci/ali5451/built-in.a
  AR      sound/ppc/built-in.a
  AR      kernel/entry/built-in.a
  CC      arch/x86/kernel/kprobes/ftrace.o
  AR      sound/pci/asihpi/built-in.a
  CC      arch/x86/kernel/apic/ipi.o
  CC      net/unix/af_unix.o
  CC      fs/fat/fatent.o
  AR      sound/pci/au88x0/built-in.a
  AR      sound/pci/aw2/built-in.a
  AR      kernel/sched/built-in.a
  CC      drivers/pnp/interface.o
  CC      kernel/module/kmod.o
  AR      sound/pci/ctxfi/built-in.a
  CC      fs/proc/meminfo.o
  AR      sound/pci/ca0106/built-in.a
  CC      block/blk-stat.o
  AR      sound/pci/cs46xx/built-in.a
  CC      net/ethtool/coalesce.o
  CC      fs/proc/stat.o
  AR      sound/pci/cs5535audio/built-in.a
  CC      fs/proc/uptime.o
  AR      sound/pci/lola/built-in.a
  CC      lib/raid6/int4.o
  AR      sound/pci/lx6464es/built-in.a
  AR      sound/pci/echoaudio/built-in.a
  AR      sound/pci/emu10k1/built-in.a
  CC [M]  net/netfilter/ipvs/ip_vs_sync.o
  AR      sound/pci/hda/built-in.a
  CC [M]  sound/pci/hda/hda_bind.o
  CC [M]  sound/pci/hda/hda_codec.o
  CC      kernel/futex/core.o
  CC      drivers/acpi/acpica/evgpeutil.o
  CC      kernel/futex/syscalls.o
  CC      arch/x86/kernel/apic/vector.o
  CC      crypto/sha3_generic.o
  CC      kernel/futex/pi.o
  CC [M]  drivers/video/fbdev/core/fbmon.o
  CC      fs/nfs/file.o
  CC      fs/fat/file.o
  CC      drivers/acpi/acpica/evglock.o
  CC [M]  net/netfilter/ipvs/ip_vs_est.o
  CC      drivers/pci/remove.o
  CC      fs/proc/util.o
  CC      kernel/irq/msi.o
  AR      arch/x86/kernel/kprobes/built-in.a
  CC      fs/proc/version.o
  CC [M]  sound/core/pcm_native.o
  CC      arch/x86/kernel/head64.o
  CC      block/blk-mq-sysfs.o
  CC      crypto/blake2b_generic.o
  CC      drivers/pnp/quirks.o
  CC      net/ethtool/pause.o
  CC      fs/proc/softirqs.o
  CC      drivers/pnp/system.o
  CC      fs/proc/namespaces.o
  CC      lib/raid6/int8.o
  CC      kernel/module/tree_lookup.o
  CC      net/xfrm/xfrm_hash.o
  CC      net/ipv4/ip_fragment.o
  CC      block/blk-mq-cpumap.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto.o
  CC      drivers/acpi/acpica/evhandler.o
  CC [M]  net/netfilter/ipvs/ip_vs_pe.o
  CC      io_uring/rsrc.o
  CC      arch/x86/kernel/ebda.o
  CC      kernel/cgroup/cgroup.o
  CC      net/ipv4/ip_forward.o
  CC      drivers/pci/pci.o
  CC [M]  drivers/video/fbdev/core/fb_defio.o
  CC      net/ethtool/eee.o
  CC [M]  sound/core/pcm_lib.o
  CC      fs/ext4/fsync.o
  CC      kernel/time/hrtimer.o
  CC      fs/fat/inode.o
  CC      kernel/futex/requeue.o
  CC      kernel/module/debug_kmemleak.o
  CC      mm/slab_common.o
  CC      net/xfrm/xfrm_input.o
  CC      kernel/module/kallsyms.o
  CC      kernel/time/timekeeping.o
  CC      drivers/acpi/acpica/evmisc.o
  CC      kernel/time/ntp.o
  AR      drivers/pnp/built-in.a
  CC      kernel/time/clocksource.o
  CC      block/blk-mq-sched.o
  CC      fs/proc/self.o
  CC      block/ioctl.o
  CC      lib/raid6/int16.o
  CC [M]  sound/pci/hda/hda_jack.o
  CC [M]  arch/x86/kvm/i8259.o
  CC      crypto/ecb.o
  CC [M]  drivers/video/fbdev/simplefb.o
  CC      kernel/futex/waitwake.o
  CC      crypto/cbc.o
  CC      fs/ext4/hash.o
  CC [M]  sound/pci/hda/hda_auto_parser.o
  CC      arch/x86/kernel/apic/init.o
  CC      kernel/irq/affinity.o
  CC      kernel/time/jiffies.o
  CC      kernel/time/timer_list.o
  CC      net/ipv4/ip_options.o
  CC      drivers/acpi/acpica/evregion.o
  CC      kernel/irq/matrix.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto_tcp.o
  CC [M]  drivers/video/fbdev/core/fb_chrdev.o
  CC [M]  drivers/video/fbdev/core/fb_procfs.o
  CC      lib/buildid.o
  CC      fs/proc/thread_self.o
  CC      net/core/rtnetlink.o
  CC      net/ethtool/tsinfo.o
  CC      lib/raid6/int32.o
  CC      crypto/pcbc.o
  CC [M]  sound/pci/hda/hda_sysfs.o
  CC      fs/nfs/getroot.o
  CC      lib/zstd/compress/zstd_fast.o
  CC      drivers/pci/pci-driver.o
  CC      drivers/pci/search.o
  CC      crypto/cts.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  CC      kernel/module/procfs.o
  AR      kernel/futex/built-in.a
  CC      net/core/utils.o
  CC [M]  arch/x86/kvm/irq.o
  CC      net/xfrm/xfrm_output.o
  CC      net/ipv4/ip_output.o
  CC      net/xfrm/xfrm_sysctl.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto_udp.o
  CC [M]  sound/pci/hda/hda_controller.o
  CC      fs/ext4/ialloc.o
  CC      drivers/acpi/acpica/evrgnini.o
  CC      drivers/acpi/acpica/evsci.o
  CC      kernel/module/sysfs.o
  CC      block/genhd.o
  CC      kernel/time/timeconv.o
  CC      block/ioprio.o
  CC      net/unix/garbage.o
  CC      kernel/trace/trace_clock.o
  CC      net/ipv4/ip_sockglue.o
  CC      fs/proc/proc_sysctl.o
  CC      io_uring/rw.o
  CC      fs/fat/misc.o
  CC      lib/cmdline.o
  CC      lib/raid6/tables.o
  CC      lib/cpumask.o
  CC      lib/ctype.o
  CC [M]  drivers/video/fbdev/core/fbsysfs.o
  CC      net/core/link_watch.o
  CC      net/core/filter.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC [M]  sound/core/pcm_misc.o
  CC [M]  sound/core/pcm_memory.o
  CC      arch/x86/kernel/apic/msi.o
  CC      fs/exportfs/expfs.o
  CC      fs/lockd/clntlock.o
  CC      lib/dec_and_lock.o
  CC      fs/nfs/inode.o
  CC      drivers/acpi/acpica/evxface.o
  CC      kernel/time/timecounter.o
  CC      crypto/lrw.o
  CC [M]  net/netfilter/ipvs/ip_vs_nfct.o
  CC      kernel/time/alarmtimer.o
  CC      mm/compaction.o
  CC      kernel/trace/ftrace.o
  CC      net/ethtool/cabletest.o
  CC      drivers/acpi/nvs.o
  CC      crypto/xts.o
  AR      kernel/irq/built-in.a
  AR      net/ipv6/netfilter/built-in.a
  CC [M]  net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
  CC [M]  net/ipv6/netfilter/nf_conntrack_reasm.o
  CC      net/ipv6/af_inet6.o
  AR      kernel/module/built-in.a
  CC [M]  net/netfilter/ipvs/ip_vs_rr.o
  CC [M]  arch/x86/kvm/lapic.o
  CC      net/core/sock_diag.o
  CC      fs/lockd/clntproc.o
  CC      kernel/time/posix-timers.o
  CC      fs/nfs/super.o
  CC      block/badblocks.o
  CC      fs/fat/nfs.o
  AR      lib/raid6/built-in.a
  CC      net/ipv6/anycast.o
  CC      net/core/dev_ioctl.o
  CC      net/ipv4/inet_hashtables.o
  CC [M]  sound/core/memalloc.o
  CC      net/ipv4/inet_timewait_sock.o
  AR      fs/exportfs/built-in.a
  CC      drivers/acpi/acpica/evxfevnt.o
  CC      fs/nls/nls_base.o
  CC      drivers/pci/pci-sysfs.o
  CC      drivers/pci/rom.o
  CC      net/unix/sysctl_net_unix.o
  CC [M]  drivers/video/fbdev/core/fbcon.o
  CC      drivers/pci/setup-res.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      drivers/acpi/wakeup.o
  CC      block/blk-rq-qos.o
  CC      lib/zstd/compress/zstd_lazy.o
  CC [M]  sound/pci/hda/hda_proc.o
  CC      arch/x86/kernel/cpu/feat_ctl.o
  CC      crypto/ctr.o
  CC      drivers/pci/irq.o
  CC      net/xfrm/xfrm_replay.o
  CC      fs/fat/namei_vfat.o
  CC      fs/nls/nls_cp437.o
  CC      drivers/acpi/acpica/evxfgpe.o
  CC      fs/nls/nls_ascii.o
  CC      arch/x86/kernel/platform-quirks.o
  CC      net/ethtool/tunnels.o
  CC      io_uring/opdef.o
  CC      kernel/time/posix-cpu-timers.o
  CC      fs/proc/proc_net.o
  CC      io_uring/notif.o
  LD [M]  net/netfilter/ipvs/ip_vs.o
  CC      lib/zstd/compress/zstd_ldm.o
  CC [M]  net/netfilter/nf_conntrack_expect.o
  CC      arch/x86/kernel/cpu/intel.o
  CC      fs/proc/kcore.o
  CC      fs/ext4/indirect.o
  CC      drivers/acpi/sleep.o
  CC      net/unix/diag.o
  CC      net/packet/af_packet.o
  CC [M]  sound/core/pcm_timer.o
  CC      crypto/gcm.o
  CC      fs/nls/nls_iso8859-1.o
  CC      fs/nls/nls_utf8.o
  CC      lib/zstd/compress/zstd_opt.o
  CC      arch/x86/kernel/apic/x2apic_phys.o
  CC      net/ethtool/fec.o
  CC      drivers/acpi/acpica/evxfregn.o
  CC      net/xfrm/xfrm_device.o
  CC      kernel/bpf/core.o
  LD [M]  net/ipv6/netfilter/nf_defrag_ipv6.o
  CC      fs/lockd/clntxdr.o
  CC      block/disk-events.o
  CC      net/ipv6/ip6_output.o
  CC      net/core/tso.o
  CC      net/ipv4/inet_connection_sock.o
  CC      drivers/acpi/acpica/exconcat.o
  CC      net/xfrm/xfrm_algo.o
  CC      arch/x86/kernel/apic/x2apic_cluster.o
  CC      net/ipv4/tcp.o
  CC      kernel/time/posix-clock.o
  CC      net/core/sock_reuseport.o
  CC [M]  fs/nls/nls_ucs2_utils.o
  CC      net/ipv4/tcp_input.o
  CC      drivers/pci/vpd.o
  CC [M]  sound/pci/hda/hda_hwdep.o
  CC      drivers/acpi/device_sysfs.o
  CC      drivers/acpi/acpica/exconfig.o
  LD [M]  sound/core/snd-ctl-led.o
  LD [M]  sound/core/snd-hwdep.o
  LD [M]  sound/core/snd-pcm.o
  CC      fs/lockd/host.o
  AR      sound/core/built-in.a
  CC      fs/ext4/inline.o
  CC      io_uring/io-wq.o
  CC      fs/fat/namei_msdos.o
  CC      kernel/trace/ring_buffer.o
  CC      fs/proc/kmsg.o
  CC      net/ipv6/ip6_input.o
  CC      fs/proc/page.o
  CC      net/xfrm/xfrm_user.o
  AR      fs/nls/built-in.a
  AR      fs/unicode/built-in.a
  CC      fs/ntfs/aops.o
  CC      arch/x86/kernel/cpu/intel_pconfig.o
  CC      net/ipv4/tcp_output.o
  CC [M]  net/netfilter/nf_conntrack_helper.o
  CC      fs/nfs/io.o
  CC      net/unix/scm.o
  CC      block/blk-ia-ranges.o
  CC      fs/ntfs/attrib.o
  CC [M]  drivers/video/fbdev/core/bitblit.o
  CC      arch/x86/kernel/apic/apic_flat_64.o
  CC      crypto/pcrypt.o
  CC      arch/x86/kernel/cpu/tsx.o
  CC      drivers/acpi/acpica/exconvrt.o
  CC      kernel/time/itimer.o
  CC      net/ethtool/eeprom.o
  CC      net/packet/diag.o
  CC [M]  sound/pci/hda/hda_generic.o
  CC      fs/lockd/svc.o
  CC      drivers/acpi/device_pm.o
  CC      net/core/fib_notifier.o
  CC      drivers/pci/setup-bus.o
  CC      drivers/pci/vc.o
  CC      crypto/cryptd.o
  CC      crypto/des_generic.o
  CC [M]  arch/x86/kvm/i8254.o
  CC      kernel/cgroup/rstat.o
  CC      fs/lockd/svclock.o
  CC      mm/show_mem.o
  CC      fs/ext4/inode.o
  CC      arch/x86/kernel/cpu/intel_epb.o
  AR      fs/fat/built-in.a
  CC      kernel/cgroup/namespace.o
  CC      drivers/acpi/acpica/excreate.o
  CC      arch/x86/kernel/apic/probe_64.o
  CC      net/core/xdp.o
  CC      block/early-lookup.o
  AR      fs/proc/built-in.a
  CC      arch/x86/kernel/cpu/amd.o
  CC      net/ipv4/tcp_timer.o
  CC      drivers/acpi/proc.o
  CC      mm/shmem_quota.o
  AR      net/unix/built-in.a
  CC      fs/lockd/svcshare.o
  CC      net/key/af_key.o
  CC      fs/nfs/direct.o
  CC      fs/ntfs/collate.o
  CC [M]  drivers/video/fbdev/core/softcursor.o
  CC      kernel/time/clockevents.o
  CC [M]  drivers/video/fbdev/core/tileblit.o
  AR      arch/x86/kernel/apic/built-in.a
  CC [M]  drivers/video/fbdev/core/fb_logo.o
  CC      fs/nfs/pagelist.o
  CC      net/ipv6/addrconf.o
  CC      net/ethtool/stats.o
  CC      drivers/acpi/acpica/exdebug.o
  CC      mm/interval_tree.o
  CC      fs/nfs/read.o
  CC      arch/x86/kernel/cpu/hygon.o
  CC [M]  net/netfilter/nf_conntrack_proto.o
  CC      fs/ext4/ioctl.o
  AR      io_uring/built-in.a
  CC      drivers/acpi/bus.o
  CC      kernel/cgroup/cgroup-v1.o
  CC      crypto/aes_generic.o
  CC      drivers/acpi/glue.o
  CC      kernel/cgroup/freezer.o
  CC [M]  arch/x86/kvm/ioapic.o
  CC      crypto/crc32c_generic.o
  CC      block/bsg.o
  CC      fs/ntfs/compress.o
  CC      fs/nfs/symlink.o
  CC      drivers/pci/mmap.o
  CC [M]  net/netfilter/nf_conntrack_proto_generic.o
  CC      fs/ext4/mballoc.o
  CC      drivers/acpi/acpica/exdump.o
  CC      fs/ext4/migrate.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      kernel/time/tick-common.o
  CC      fs/lockd/svcproc.o
  CC      drivers/acpi/acpica/exfield.o
  CC      mm/list_lru.o
  CC      net/ethtool/phc_vclocks.o
  CC      net/core/flow_offload.o
  CC      drivers/acpi/scan.o
  CC      crypto/crct10dif_common.o
  CC [M]  drivers/video/fbdev/core/cfbfillrect.o
  AR      kernel/bpf/built-in.a
  AR      drivers/clk/actions/built-in.a
  CC      mm/workingset.o
  CC      kernel/events/core.o
  AR      drivers/clk/analogbits/built-in.a
  AR      drivers/clk/bcm/built-in.a
  AR      drivers/clk/imgtec/built-in.a
  AR      drivers/clk/imx/built-in.a
  AR      drivers/clk/ingenic/built-in.a
  AR      drivers/clk/mediatek/built-in.a
  AR      drivers/clk/microchip/built-in.a
  AR      drivers/clk/mstar/built-in.a
  AR      drivers/clk/mvebu/built-in.a
  CC      drivers/pci/setup-irq.o
  AR      drivers/clk/ralink/built-in.a
  CC      block/bsg-lib.o
  AR      drivers/clk/renesas/built-in.a
  CC      mm/debug.o
  AR      drivers/clk/socfpga/built-in.a
  AR      drivers/clk/sprd/built-in.a
  AR      drivers/clk/starfive/built-in.a
  AR      drivers/clk/sunxi-ng/built-in.a
  CC      net/ethtool/mm.o
  CC      mm/gup.o
  AR      drivers/clk/ti/built-in.a
  CC      mm/mmap_lock.o
  CC      block/blk-cgroup.o
  AR      drivers/clk/versatile/built-in.a
  CC      drivers/acpi/acpica/exfldio.o
  CC      net/ipv4/tcp_ipv4.o
  CC      arch/x86/kernel/cpu/zhaoxin.o
  CC      drivers/clk/x86/clk-lpss-atom.o
  CC      lib/zstd/zstd_decompress_module.o
  CC      drivers/clk/x86/clk-pmc-atom.o
  AR      net/packet/built-in.a
  CC      kernel/trace/trace.o
  AR      net/bridge/netfilter/built-in.a
  AR      sound/arm/built-in.a
  CC      net/bridge/br.o
  CC      net/ipv6/addrlabel.o
  AR      net/xfrm/built-in.a
  CC      net/ipv4/tcp_minisocks.o
  CC      kernel/cgroup/legacy_freezer.o
  CC      crypto/crct10dif_generic.o
  CC      fs/nfs/unlink.o
  CC [M]  arch/x86/kvm/irq_comm.o
  CC      crypto/authenc.o
  CC      fs/ntfs/debug.o
  CC [M]  net/netfilter/nf_conntrack_proto_tcp.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC      drivers/acpi/resource.o
  CC      kernel/time/tick-broadcast.o
  CC      kernel/cgroup/pids.o
  CC [M]  net/netfilter/nf_conntrack_proto_udp.o
  CC      fs/nfs/write.o
  CC      drivers/pci/proc.o
  CC      net/ethtool/module.o
  CC      fs/nfs/namespace.o
  CC      drivers/acpi/acpica/exmisc.o
  CC      net/bridge/br_device.o
  CC      fs/lockd/svcsubs.o
  CC      net/bridge/br_fdb.o
  CC [M]  drivers/video/fbdev/core/cfbcopyarea.o
  AR      net/dsa/built-in.a
  CC      fs/ntfs/dir.o
  AR      drivers/clk/x86/built-in.a
  CC      crypto/authencesn.o
  AR      drivers/clk/xilinx/built-in.a
  CC      drivers/clk/clk-devres.o
  CC      crypto/lzo.o
  CC      arch/x86/kernel/cpu/vmware.o
  CC      fs/ext4/mmp.o
  CC      fs/ext4/move_extent.o
  CC      fs/nfs/mount_clnt.o
  CC      fs/lockd/mon.o
  CC      net/ethtool/pse-pd.o
  CC      drivers/acpi/acpi_processor.o
  CC      drivers/pci/slot.o
  CC      drivers/acpi/acpica/exmutex.o
  CC      drivers/acpi/processor_core.o
  CC      kernel/cgroup/cpuset.o
  CC      drivers/clk/clk-bulk.o
  CC      drivers/acpi/processor_pdc.o
  CC      kernel/time/tick-broadcast-hrtimer.o
  AR      net/key/built-in.a
  CC      drivers/acpi/ec.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      net/ethtool/plca.o
  CC      lib/zstd/decompress/huf_decompress.o
  CC      fs/lockd/trace.o
  CC      crypto/lzo-rle.o
  CC      net/ipv4/tcp_cong.o
  CC      net/ipv4/tcp_metrics.o
  CC [M]  net/sunrpc/auth_gss/auth_gss.o
  CC [M]  arch/x86/kvm/cpuid.o
  CC [M]  net/sunrpc/auth_gss/gss_generic_token.o
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC [M]  drivers/video/fbdev/core/cfbimgblt.o
  CC [M]  sound/pci/hda/patch_realtek.o
  CC      drivers/acpi/acpica/exnames.o
  CC      crypto/lz4.o
  CC      kernel/time/tick-oneshot.o
  CC      fs/ext4/namei.o
  CC      net/8021q/vlan_core.o
  CC      drivers/clk/clkdev.o
  CC [M]  arch/x86/kvm/pmu.o
  CC      drivers/clk/clk.o
  CC      mm/highmem.o
  CC      net/ipv6/route.o
  CC      mm/memory.o
  CC      fs/nfs/nfstrace.o
  CC      drivers/pci/pci-acpi.o
  CC      fs/ntfs/file.o
  CC      drivers/acpi/acpica/exoparg1.o
  CC      net/ipv4/tcp_fastopen.o
  CC      fs/nfs/export.o
  CC      net/ipv6/ip6_fib.o
  CC      net/ipv6/ipv6_sockglue.o
  CC      block/blk-cgroup-rwstat.o
  CC      block/blk-throttle.o
  CC      mm/mincore.o
  CC      net/core/gro.o
  CC      drivers/acpi/acpica/exoparg2.o
  CC      crypto/lz4hc.o
  CC [M]  net/netfilter/nf_conntrack_proto_icmp.o
  CC      kernel/time/tick-sched.o
  CC [M]  net/sunrpc/auth_gss/gss_mech_switch.o
  AR      net/ethtool/built-in.a
  CC      net/dcb/dcbnl.o
  CC      drivers/clk/clk-divider.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC      fs/lockd/xdr.o
  AR      arch/x86/kernel/cpu/built-in.a
  CC      net/dcb/dcbevent.o
  CC      arch/x86/kernel/process_64.o
  CC      block/mq-deadline.o
  CC [M]  drivers/video/fbdev/core/sysfillrect.o
  CC      kernel/fork.o
  CC [M]  drivers/video/fbdev/core/syscopyarea.o
  CC      fs/ntfs/index.o
  CC      drivers/acpi/acpica/exoparg3.o
  CC      crypto/xxhash_generic.o
  CC      block/kyber-iosched.o
  CC      kernel/exec_domain.o
  CC [M]  net/netfilter/nf_conntrack_extend.o
  CC      kernel/panic.o
  CC      net/ipv4/tcp_rate.o
  CC      net/bridge/br_forward.o
  CC      drivers/pci/quirks.o
  CC      kernel/cpu.o
  CC [M]  net/8021q/vlan.o
  CC [M]  net/sunrpc/auth_gss/svcauth_gss.o
  CC      fs/lockd/clnt4xdr.o
  CC      drivers/acpi/acpica/exoparg6.o
  CC      net/ipv4/tcp_recovery.o
  CC      crypto/rng.o
  CC      net/l3mdev/l3mdev.o
  CC      net/handshake/alert.o
  CC [M]  net/bluetooth/af_bluetooth.o
  CC      kernel/time/vsyscall.o
  CC      fs/ntfs/inode.o
  CC [M]  drivers/video/fbdev/core/sysimgblt.o
  CC      arch/x86/kernel/signal.o
  CC      crypto/drbg.o
  CC      net/ipv6/ndisc.o
  CC      arch/x86/kernel/signal_64.o
  CC      drivers/clk/clk-fixed-factor.o
  CC [M]  net/sunrpc/auth_gss/gss_rpc_upcall.o
  CC [M]  net/bluetooth/hci_core.o
  CC      net/bridge/br_if.o
  CC      drivers/acpi/acpica/exprep.o
  CC      arch/x86/kernel/traps.o
  CC      drivers/acpi/acpica/exregion.o
  CC [M]  arch/x86/kvm/mtrr.o
  CC [M]  net/8021q/vlan_dev.o
  CC      kernel/time/timekeeping_debug.o
  CC      net/core/netdev-genl.o
  AR      fs/hostfs/built-in.a
  CC      fs/debugfs/inode.o
  CC [M]  net/netfilter/nf_conntrack_acct.o
  CC      crypto/jitterentropy.o
  CC      crypto/jitterentropy-kcapi.o
  AR      kernel/cgroup/built-in.a
  CC      kernel/exit.o
  CC      net/ipv6/udp.o
  CC      drivers/clk/clk-fixed-rate.o
  CC      fs/tracefs/inode.o
  AR      net/l3mdev/built-in.a
  CC [M]  net/bluetooth/hci_conn.o
  CC      fs/lockd/xdr4.o
  CC      kernel/trace/trace_output.o
  CC      drivers/acpi/acpica/exresnte.o
  CC      drivers/acpi/acpica/exresolv.o
  CC      kernel/trace/trace_seq.o
  CC      crypto/ghash-generic.o
  CC      fs/btrfs/super.o
  CC      block/bfq-iosched.o
  AR      net/dcb/built-in.a
  CC [M]  sound/pci/hda/patch_analog.o
  CC      drivers/dma/dw/core.o
  CC [M]  drivers/video/fbdev/core/fb_sys_fops.o
  AR      drivers/soc/apple/built-in.a
  AR      drivers/soc/aspeed/built-in.a
  AR      drivers/soc/bcm/built-in.a
  AR      drivers/soc/fsl/built-in.a
  AR      drivers/soc/fujitsu/built-in.a
  CC      net/ipv4/tcp_ulp.o
  CC      mm/mlock.o
  AR      drivers/soc/hisilicon/built-in.a
  CC      drivers/dma/hsu/hsu.o
  CC      net/handshake/genl.o
  AR      drivers/soc/imx/built-in.a
  AR      drivers/soc/ixp4xx/built-in.a
  CC      kernel/time/namespace.o
  AR      drivers/soc/loongson/built-in.a
  AR      drivers/soc/mediatek/built-in.a
  CC      mm/mmap.o
  AR      drivers/soc/microchip/built-in.a
  AR      drivers/soc/nuvoton/built-in.a
  AR      drivers/soc/pxa/built-in.a
  AR      drivers/soc/amlogic/built-in.a
  AR      drivers/soc/qcom/built-in.a
  CC      fs/tracefs/event_inode.o
  AR      drivers/soc/renesas/built-in.a
  AR      sound/sh/built-in.a
  AR      drivers/soc/rockchip/built-in.a
  CC      lib/zstd/decompress/zstd_ddict.o
  AR      drivers/soc/sifive/built-in.a
  AR      drivers/soc/sunxi/built-in.a
  AR      drivers/soc/ti/built-in.a
  CC      lib/zstd/decompress/zstd_decompress.o
  AR      drivers/soc/xilinx/built-in.a
  AR      drivers/soc/built-in.a
  AR      sound/pci/ice1712/built-in.a
  CC      lib/decompress.o
  CC      drivers/acpi/acpica/exresop.o
  CC      arch/x86/kernel/idt.o
  CC [M]  net/bluetooth/hci_event.o
  CC [M]  arch/x86/kvm/hyperv.o
  AR      drivers/pmdomain/actions/built-in.a
  CC      drivers/acpi/dock.o
  AR      drivers/pmdomain/amlogic/built-in.a
  AR      drivers/pmdomain/apple/built-in.a
  CC      arch/x86/kernel/irq.o
  CC [M]  net/sunrpc/auth_gss/gss_rpc_xdr.o
  AR      drivers/pmdomain/bcm/built-in.a
  AR      drivers/pmdomain/imx/built-in.a
  AR      drivers/pmdomain/mediatek/built-in.a
  CC      fs/debugfs/file.o
  CC      fs/ntfs/mft.o
  AR      drivers/pmdomain/qcom/built-in.a
  CC      lib/decompress_bunzip2.o
  AR      drivers/pmdomain/renesas/built-in.a
  CC      net/core/netdev-genl-gen.o
  AR      drivers/pmdomain/rockchip/built-in.a
  CC      fs/ext4/page-io.o
  AR      drivers/pmdomain/st/built-in.a
  AR      drivers/pmdomain/samsung/built-in.a
  CC [M]  net/netfilter/nf_conntrack_seqadj.o
  CC      crypto/af_alg.o
  CC      lib/decompress_inflate.o
  AR      drivers/pmdomain/starfive/built-in.a
  AR      drivers/pmdomain/sunxi/built-in.a
  AR      drivers/pmdomain/tegra/built-in.a
  CC [M]  net/8021q/vlan_netlink.o
  AR      drivers/pmdomain/ti/built-in.a
  AR      drivers/pmdomain/xilinx/built-in.a
  AR      drivers/pmdomain/built-in.a
  CC      net/bridge/br_input.o
  CC      drivers/acpi/pci_root.o
  CC      drivers/clk/clk-gate.o
  CC      net/handshake/netlink.o
  LD [M]  drivers/video/fbdev/core/fb.o
  CC      net/sunrpc/clnt.o
  AR      drivers/video/fbdev/core/built-in.a
  CC [M]  sound/pci/hda/patch_hdmi.o
  CC      drivers/acpi/acpica/exserial.o
  AR      drivers/video/fbdev/built-in.a
  CC      drivers/pci/ats.o
  AR      drivers/video/built-in.a
  AR      kernel/time/built-in.a
  CC      drivers/pci/iov.o
  CC [M]  sound/pci/hda/hda_eld.o
  CC      drivers/virtio/virtio.o
  CC      fs/nfs/sysfs.o
  CC      fs/lockd/svc4proc.o
  AR      drivers/dma/hsu/built-in.a
  AR      fs/tracefs/built-in.a
  AR      drivers/dma/idxd/built-in.a
  CC      fs/btrfs/ctree.o
  CC      lib/decompress_unlz4.o
  AR      drivers/dma/mediatek/built-in.a
  CC      lib/decompress_unlzma.o
  CC      lib/decompress_unlzo.o
  CC      net/ipv6/udplite.o
  CC      drivers/virtio/virtio_ring.o
  CC      kernel/trace/trace_stat.o
  CC      net/core/gso.o
  CC      drivers/dma/dw/dw.o
  CC      net/ipv4/tcp_offload.o
  CC      lib/decompress_unxz.o
  CC      drivers/clk/clk-multiplier.o
  CC      fs/ntfs/mst.o
  CC      drivers/acpi/acpica/exstore.o
  AR      fs/debugfs/built-in.a
  CC      net/ipv6/raw.o
  CC      fs/pstore/inode.o
  CC [M]  net/sunrpc/auth_gss/trace.o
  CC [M]  net/8021q/vlanproc.o
  CC      fs/pstore/platform.o
  CC      fs/ext4/readpage.o
  AR      drivers/dma/qcom/built-in.a
  CC      mm/mmu_gather.o
  AR      drivers/dma/ti/built-in.a
  CC      drivers/tty/vt/vt_ioctl.o
  CC      drivers/tty/hvc/hvc_console.o
  CC      drivers/tty/vt/vc_screen.o
  CC      drivers/pci/pci-label.o
  CC      fs/nfs/fs_context.o
  CC      drivers/tty/vt/selection.o
  CC [M]  net/netfilter/nf_conntrack_proto_icmpv6.o
  CC      drivers/clk/clk-mux.o
  CC      drivers/tty/vt/keyboard.o
  CC      drivers/acpi/acpica/exstoren.o
  AR      sound/pci/korg1212/built-in.a
  CC      drivers/pci/pci-stub.o
  CC      drivers/dma/dw/idma32.o
  AR      sound/pci/mixart/built-in.a
  AR      sound/pci/nm256/built-in.a
  AR      sound/pci/oxygen/built-in.a
  CC      net/handshake/request.o
  AR      sound/pci/pcxhr/built-in.a
  CC      fs/ntfs/namei.o
  AR      sound/pci/riptide/built-in.a
  CC      fs/ntfs/runlist.o
  CC      net/handshake/tlshd.o
  CC      kernel/trace/trace_printk.o
  CC      net/bridge/br_ioctl.o
  CC      net/handshake/trace.o
  CC      fs/ext4/resize.o
  CC      fs/lockd/procfs.o
  CC      arch/x86/kernel/irq_64.o
  CC      crypto/algif_hash.o
  CC      fs/ext4/super.o
  CC      drivers/acpi/acpica/exstorob.o
  CC      net/core/net-sysfs.o
  CC      net/ipv6/icmp.o
  AR      sound/pci/rme9652/built-in.a
  CC      fs/pstore/pmsg.o
  CC      kernel/trace/pid_list.o
  CC      drivers/clk/clk-composite.o
  CC      drivers/pci/vgaarb.o
  AR      net/8021q/built-in.a
  CC      lib/zstd/decompress/zstd_decompress_block.o
  CC      crypto/algif_skcipher.o
  LD [M]  net/8021q/8021q.o
  AR      sound/pci/trident/built-in.a
  CC      drivers/char/hw_random/core.o
  CC      drivers/char/agp/backend.o
  CC      drivers/dma/dw/acpi.o
  CC      net/ipv4/tcp_plb.o
  CC      drivers/char/tpm/tpm-chip.o
  CC      drivers/char/tpm/tpm-dev-common.o
  CC      fs/ext4/symlink.o
  CC      drivers/char/tpm/tpm-dev.o
  CC      drivers/char/mem.o
  AR      drivers/tty/hvc/built-in.a
  CC      kernel/events/ring_buffer.o
  CC      drivers/tty/serial/8250/8250_core.o
  CC      drivers/acpi/acpica/exsystem.o
  CC      drivers/tty/serial/8250/8250_pnp.o
  CC      mm/mprotect.o
  CC      arch/x86/kernel/dumpstack_64.o
  CC      kernel/trace/trace_sched_switch.o
  CC      drivers/virtio/virtio_anchor.o
  AR      fs/lockd/built-in.a
  CC      drivers/char/tpm/tpm-interface.o
  CC [M]  arch/x86/kvm/debugfs.o
  AR      fs/pstore/built-in.a
  CC      net/core/page_pool.o
  CC [M]  sound/pci/hda/hda_intel.o
  CC      fs/ntfs/super.o
  CC      drivers/char/tpm/tpm1-cmd.o
  CC [M]  net/netfilter/nf_conntrack_proto_dccp.o
  CC      block/bfq-wf2q.o
  CC      drivers/clk/clk-fractional-divider.o
  CC      mm/mremap.o
  CC      drivers/acpi/acpica/extrace.o
  CC      kernel/trace/trace_functions.o
  CC      drivers/virtio/virtio_pci_modern_dev.o
  CC      drivers/dma/dw/pci.o
  CC      net/bridge/br_stp.o
  CC      drivers/char/agp/generic.o
  CC      arch/x86/kernel/time.o
  CC      drivers/char/hw_random/intel-rng.o
  CC      drivers/clk/clk-gpio.o
  CC      fs/efivarfs/inode.o
  CC      net/sunrpc/xprt.o
  CC      fs/ext4/sysfs.o
  CC      drivers/tty/vt/consolemap.o
  HOSTCC  drivers/tty/vt/conmakehash
  CC      mm/msync.o
  CC      net/bridge/br_stp_bpdu.o
  AR      net/handshake/built-in.a
  CC      crypto/xor.o
  CC [M]  fs/netfs/buffered_read.o
  CC      drivers/tty/serial/serial_core.o
  CC      net/core/net-procfs.o
  AR      drivers/pci/built-in.a
  CC      drivers/tty/serial/serial_base_bus.o
  AR      drivers/tty/ipwireless/built-in.a
  CC      fs/nfs/sysctl.o
  CC      drivers/char/random.o
  CC      drivers/char/misc.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_mech.o
  CC      drivers/acpi/acpica/exutils.o
  CC      crypto/hash_info.o
  CC      kernel/trace/trace_preemptirq.o
  CC      net/ipv4/datagram.o
  CC      drivers/tty/serial/8250/8250_port.o
  CC [M]  arch/x86/kvm/mmu/mmu.o
  CC      kernel/events/callchain.o
  CC      net/ipv4/raw.o
  CC      arch/x86/kernel/ioport.o
  AR      drivers/clk/built-in.a
  CC      net/sunrpc/socklib.o
  AR      drivers/iommu/amd/built-in.a
  CC      drivers/char/tpm/tpm2-cmd.o
  CC      drivers/iommu/intel/dmar.o
  AR      drivers/dma/dw/built-in.a
  AR      drivers/dma/xilinx/built-in.a
  CC [M]  drivers/dma/ioat/init.o
  CC      fs/efivarfs/file.o
  CC      net/ipv6/mcast.o
  CC      drivers/char/tpm/tpmrm-dev.o
  CC      crypto/simd.o
  AR      drivers/char/hw_random/built-in.a
  CC [M]  fs/netfs/io.o
  CC      block/bfq-cgroup.o
  CC      drivers/virtio/virtio_pci_legacy_dev.o
  CC      drivers/char/tpm/tpm2-space.o
  CC [M]  net/netfilter/nf_conntrack_proto_sctp.o
  CC      drivers/acpi/acpica/hwacpi.o
  AR      drivers/iommu/arm/arm-smmu/built-in.a
  AR      drivers/iommu/arm/arm-smmu-v3/built-in.a
  AR      drivers/iommu/arm/built-in.a
  CC [M]  arch/x86/kvm/mmu/page_track.o
  CC [M]  arch/x86/kvm/mmu/spte.o
  CC      drivers/tty/serial/serial_ctrl.o
  CC      kernel/trace/trace_nop.o
  CC      kernel/events/hw_breakpoint.o
  CC      fs/ntfs/sysctl.o
  CC      fs/ext4/xattr.o
  CC      fs/ntfs/unistr.o
  CC      kernel/events/uprobes.o
  CC      drivers/tty/vt/vt.o
  CC      drivers/char/agp/isoch.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_seal.o
  CC      mm/page_vma_mapped.o
  COPY    drivers/tty/vt/defkeymap.c
  CC      drivers/char/agp/intel-agp.o
  CC      mm/pagewalk.o
  CC      net/core/netpoll.o
  CC      fs/ext4/xattr_hurd.o
  CC      fs/efivarfs/super.o
  CC      fs/nfs/nfs2super.o
  CC      arch/x86/kernel/dumpstack.o
  AR      drivers/gpu/host1x/built-in.a
  CC      drivers/acpi/acpica/hwesleep.o
  LD [M]  sound/pci/hda/snd-hda-codec.o
  LD [M]  sound/pci/hda/snd-hda-codec-generic.o
  AR      drivers/gpu/drm/tests/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_kunit_helpers.o
  CC [M]  drivers/gpu/drm/tests/drm_buddy_test.o
  LD [M]  sound/pci/hda/snd-hda-codec-realtek.o
  AR      drivers/gpu/vga/built-in.a
  CC      net/bridge/br_stp_if.o
  CC [M]  net/netfilter/nf_conntrack_netlink.o
  CC [M]  crypto/md4.o
  LD [M]  sound/pci/hda/snd-hda-codec-analog.o
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.o
  CC      drivers/virtio/virtio_pci_modern.o
  LD [M]  sound/pci/hda/snd-hda-intel.o
  AR      sound/pci/ymfpci/built-in.a
  AR      sound/pci/vx222/built-in.a
  AR      sound/pci/built-in.a
  AR      sound/synth/emux/built-in.a
  AR      sound/synth/built-in.a
  AR      sound/usb/misc/built-in.a
  AR      sound/usb/usx2y/built-in.a
  AR      sound/usb/caiaq/built-in.a
  CC      drivers/char/agp/intel-gtt.o
  AR      sound/usb/6fire/built-in.a
  AR      sound/firewire/built-in.a
  AR      sound/usb/hiface/built-in.a
  CC      net/sunrpc/xprtsock.o
  CC [M]  net/dns_resolver/dns_key.o
  AR      sound/usb/bcd2000/built-in.a
  AR      sound/usb/built-in.a
  CC      kernel/trace/trace_functions_graph.o
  CC      fs/btrfs/extent-tree.o
  CC      drivers/char/tpm/tpm-sysfs.o
  AR      sound/sparc/built-in.a
  AR      sound/spi/built-in.a
  AR      sound/parisc/built-in.a
  CC [M]  net/dns_resolver/dns_query.o
  AR      sound/pcmcia/vx/built-in.a
  CC      mm/pgtable-generic.o
  CC      fs/ntfs/upcase.o
  AR      sound/pcmcia/pdaudiocf/built-in.a
  AR      sound/pcmcia/built-in.a
  CC      drivers/acpi/acpica/hwgpe.o
  CC      block/blk-mq-pci.o
  AR      sound/mips/built-in.a
  CC      fs/nfs/proc.o
  AR      sound/soc/built-in.a
  CC [M]  drivers/dma/ioat/dma.o
  AR      sound/atmel/built-in.a
  AR      sound/hda/built-in.a
  CC [M]  sound/hda/hda_bus_type.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_unseal.o
  CC [M]  fs/netfs/iterator.o
  CC [M]  sound/hda/hdac_bus.o
  CC [M]  sound/hda/hdac_device.o
  CC      fs/ext4/xattr_trusted.o
  CC [M]  crypto/ccm.o
  CC      fs/efivarfs/vars.o
  CC      arch/x86/kernel/nmi.o
  CC [M]  drivers/dma/ioat/prep.o
  CC [M]  net/netfilter/nf_nat_core.o
  CC [M]  fs/fscache/cache.o
  CC      drivers/iommu/intel/iommu.o
  CC      drivers/virtio/virtio_pci_common.o
  CC [M]  crypto/arc4.o
  CC      net/ipv4/udp.o
  CC      fs/nfs/nfs2xdr.o
  CC      lib/zstd/zstd_common_module.o
  CC [M]  net/netfilter/nf_nat_proto.o
  CC      mm/rmap.o
  CC      drivers/acpi/acpica/hwregs.o
  AR      sound/x86/built-in.a
  CC [M]  net/bluetooth/mgmt.o
  AR      fs/ntfs/built-in.a
  CC      lib/zstd/common/debug.o
  CC      net/bridge/br_stp_timer.o
  AR      sound/xen/built-in.a
  CC      block/blk-mq-virtio.o
  AR      sound/virtio/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_cmdline_parser_test.o
  CC [M]  drivers/gpu/drm/tests/drm_connector_test.o
  CC      net/ipv4/udplite.o
  LD [M]  net/dns_resolver/dns_resolver.o
  CC      drivers/tty/tty_io.o
  CC      lib/decompress_unzstd.o
  CC      drivers/tty/serial/8250/8250_dma.o
  CC      drivers/char/tpm/eventlog/common.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_wrap.o
  CC      drivers/acpi/pci_link.o
  CC      drivers/acpi/acpica/hwsleep.o
  CC      drivers/acpi/pci_irq.o
  CC [M]  fs/netfs/main.o
  CC      drivers/acpi/acpica/hwvalid.o
  CC      fs/ext4/xattr_user.o
  AR      drivers/char/agp/built-in.a
  CC      drivers/tty/serial/8250/8250_dwlib.o
  CC      lib/zstd/common/entropy_common.o
  CC      net/sunrpc/sched.o
  CC      drivers/tty/n_tty.o
  AR      fs/efivarfs/built-in.a
  CC      drivers/tty/tty_ioctl.o
  CC      kernel/trace/fgraph.o
  CC      net/core/fib_rules.o
  CC      drivers/acpi/acpica/hwxface.o
  CC      lib/zstd/common/error_private.o
  AR      kernel/events/built-in.a
  CC [M]  sound/hda/hdac_sysfs.o
  CC      kernel/softirq.o
  CC      arch/x86/kernel/ldt.o
  CC      lib/zstd/common/fse_decompress.o
  CC [M]  crypto/ecc.o
  CC [M]  crypto/essiv.o
  CC [M]  net/bluetooth/hci_sock.o
  CC      drivers/char/virtio_console.o
  CC      block/blk-mq-debugfs.o
  CC      drivers/tty/tty_ldisc.o
  CC [M]  fs/fscache/cookie.o
  CC      drivers/acpi/acpi_lpss.o
  CC      drivers/virtio/virtio_pci_legacy.o
  CC      drivers/acpi/acpica/hwxfsleep.o
  CC      kernel/resource.o
  CC [M]  drivers/dma/ioat/dca.o
  CC      drivers/char/tpm/eventlog/tpm1.o
  CC      fs/ext4/fast_commit.o
  CC      drivers/tty/serial/8250/8250_pcilib.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_crypto.o
  CC      lib/zstd/common/zstd_common.o
  AS      arch/x86/kernel/ibt_selftest.o
  CC [M]  net/bluetooth/hci_sysfs.o
  CC      arch/x86/kernel/setup.o
  CC      net/bridge/br_netlink.o
  CC      block/blk-pm.o
  CC [M]  drivers/dma/ioat/sysfs.o
  CC      lib/dump_stack.o
  CC      drivers/acpi/acpica/hwpci.o
  CC [M]  fs/netfs/objects.o
  CC      drivers/tty/tty_buffer.o
  CC [M]  net/netfilter/nf_nat_helper.o
  CC [M]  sound/hda/hdac_regmap.o
  CONMK   drivers/tty/vt/consolemap_deftbl.c
  AR      lib/zstd/built-in.a
  CC      drivers/tty/vt/defkeymap.o
  CC [M]  drivers/virtio/virtio_mem.o
  CC      drivers/acpi/acpica/nsaccess.o
  CC      drivers/tty/serial/8250/8250_pci.o
  CC [M]  fs/fscache/io.o
  CC [M]  net/netfilter/nf_nat_redirect.o
  CC      fs/nfs/nfs3super.o
  CC [M]  sound/hda/hdac_controller.o
  CC      drivers/char/tpm/eventlog/tpm2.o
  CC      drivers/acpi/acpi_apd.o
  CC      kernel/trace/blktrace.o
  CC      net/ipv4/udp_offload.o
  CC      drivers/tty/serial/8250/8250_exar.o
  CC      drivers/tty/vt/consolemap_deftbl.o
  CC [M]  sound/hda/hdac_stream.o
  AR      drivers/tty/vt/built-in.a
  CC      drivers/tty/tty_port.o
  CC      drivers/acpi/acpica/nsalloc.o
  CC [M]  drivers/gpu/drm/tests/drm_damage_helper_test.o
  CC      lib/earlycpio.o
  CC      block/holder.o
  CC      net/ipv6/reassembly.o
  CC      drivers/acpi/acpica/nsarguments.o
  LD [M]  drivers/dma/ioat/ioatdma.o
  CC      drivers/connector/cn_queue.o
  CC      drivers/tty/tty_mutex.o
  CC      lib/extable.o
  CC      drivers/dma/dmaengine.o
  CC      drivers/connector/connector.o
  CC      drivers/acpi/acpi_platform.o
  CC [M]  drivers/gpu/drm/tests/drm_dp_mst_helper_test.o
  CC      net/bridge/br_netlink_tunnel.o
  LD [M]  fs/netfs/netfs.o
  CC [M]  sound/hda/array.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_keys.o
  CC      fs/nfs/nfs3client.o
  CC [M]  fs/smb/common/cifs_arc4.o
  CC [M]  crypto/ecdh.o
  CC      drivers/tty/tty_ldsem.o
  CC      arch/x86/kernel/x86_init.o
  CC      net/core/net-traces.o
  CC [M]  fs/smb/common/cifs_md4.o
  CC      net/core/selftests.o
  CC      net/sunrpc/auth.o
  CC      drivers/char/tpm/tpm_ppi.o
  CC      drivers/acpi/acpica/nsconvert.o
  CC      net/sunrpc/auth_null.o
  CC [M]  fs/fscache/main.o
  CC      lib/flex_proportions.o
  CC      kernel/trace/trace_events.o
  CC      net/sunrpc/auth_tls.o
  CC      drivers/acpi/acpica/nsdump.o
  CC      mm/vmalloc.o
  AR      block/built-in.a
  CC      drivers/acpi/acpi_pnp.o
  CC      drivers/acpi/acpica/nseval.o
  CC      drivers/tty/tty_baudrate.o
  CC      net/core/ptp_classifier.o
  CC      net/core/netprio_cgroup.o
  CC [M]  fs/fuse/dev.o
  CC [M]  net/netfilter/nf_nat_masquerade.o
  CC [M]  sound/hda/hdmi_chmap.o
  CC      drivers/acpi/acpica/nsinit.o
  CC [M]  sound/hda/trace.o
  CC [M]  fs/smb/client/trace.o
  CC      drivers/acpi/power.o
  CC [M]  crypto/ecdh_helper.o
  CC      lib/idr.o
  CC      drivers/tty/serial/8250/8250_early.o
  CC [M]  net/netfilter/x_tables.o
  CC [M]  fs/smb/client/cifsfs.o
  CC [M]  fs/fscache/volume.o
  CC      drivers/connector/cn_proc.o
  CC [M]  drivers/gpu/drm/tests/drm_format_helper_test.o
  CC      arch/x86/kernel/i8259.o
  CC      drivers/iommu/intel/pasid.o
  LD [M]  net/sunrpc/auth_gss/auth_rpcgss.o
  CC      arch/x86/kernel/irqinit.o
  CC      kernel/trace/trace_export.o
  LD [M]  net/sunrpc/auth_gss/rpcsec_gss_krb5.o
  CC      drivers/acpi/acpica/nsload.o
  CC      drivers/char/tpm/eventlog/acpi.o
  CC      kernel/trace/trace_event_perf.o
  CC      kernel/trace/trace_events_filter.o
  CC      lib/irq_regs.o
  CC [M]  fs/fscache/proc.o
  CC      fs/nfs/nfs3proc.o
  CC      net/bridge/br_arp_nd_proxy.o
  CC      drivers/tty/tty_jobctrl.o
  CC      fs/btrfs/print-tree.o
  CC      net/ipv4/arp.o
  LD [M]  crypto/ecdh_generic.o
  CC      fs/nfs/nfs3xdr.o
  CC      net/devres.o
  AR      crypto/built-in.a
  CC      net/socket.o
  CC      net/ipv6/tcp_ipv6.o
  AR      drivers/virtio/built-in.a
  CC      net/ipv4/icmp.o
  CC      drivers/dma/virt-dma.o
  CC      drivers/char/tpm/eventlog/efi.o
  CC      drivers/dma/acpi-dma.o
  CC      drivers/acpi/acpica/nsnames.o
  CC      net/sunrpc/auth_unix.o
  CC      drivers/tty/serial/8250/8250_dw.o
  CC      kernel/trace/trace_events_trigger.o
  CC      lib/is_single_threaded.o
  CC      lib/klist.o
  CC      drivers/tty/serial/8250/8250_lpss.o
  CC      lib/kobject.o
  CC      arch/x86/kernel/jump_label.o
  CC      net/compat.o
  CC      drivers/acpi/event.o
  CC      net/core/dst_cache.o
  CC [M]  net/netfilter/xt_tcpudp.o
  CC [M]  sound/hda/hdac_component.o
  CC      drivers/tty/n_null.o
  AR      drivers/iommu/iommufd/built-in.a
  CC      drivers/iommu/iommu.o
  LD [M]  fs/fscache/fscache.o
  CC [M]  fs/overlayfs/super.o
  CC [M]  drivers/gpu/drm/tests/drm_format_test.o
  CC      kernel/trace/trace_eprobe.o
  CC      lib/kobject_uevent.o
  CC      drivers/iommu/intel/trace.o
  CC      drivers/char/tpm/tpm_crb.o
  CC [M]  net/netfilter/xt_mark.o
  CC      drivers/iommu/intel/cap_audit.o
  CC [M]  net/bluetooth/l2cap_core.o
  CC      kernel/sysctl.o
  CC      lib/logic_pio.o
  CC      drivers/acpi/acpica/nsobject.o
  CC [M]  net/bluetooth/l2cap_sock.o
  AR      drivers/dma/built-in.a
  AR      drivers/connector/built-in.a
  CC      drivers/iommu/iommu-traces.o
  CC      drivers/iommu/intel/irq_remapping.o
  CC      arch/x86/kernel/irq_work.o
  CC      drivers/tty/serial/8250/8250_mid.o
  CC      drivers/acpi/evged.o
  CC      lib/maple_tree.o
  CC      mm/page_alloc.o
  CC      drivers/tty/serial/8250/8250_pericom.o
  CC      fs/btrfs/root-tree.o
  CC      net/bridge/br_sysfs_if.o
  CC [M]  fs/fuse/dir.o
  CC      arch/x86/kernel/probe_roms.o
  CC      net/sunrpc/svc.o
  CC [M]  sound/hda/hdac_i915.o
  CC      drivers/acpi/acpica/nsparse.o
  CC [M]  arch/x86/kvm/mmu/tdp_iter.o
  CC [M]  net/netfilter/xt_nat.o
  CC      net/sysctl_net.o
  CC      lib/memcat_p.o
  CC      lib/nmi_backtrace.o
  CC      drivers/iommu/intel/perfmon.o
  CC [M]  fs/fuse/file.o
  CC [M]  fs/fuse/inode.o
  AR      drivers/char/tpm/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_framebuffer_test.o
  CC      drivers/acpi/sysfs.o
  CC      drivers/char/hpet.o
  CC      lib/plist.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/base/power/generic_ops.o
  CC [M]  net/bluetooth/smp.o
  CC      drivers/base/firmware_loader/builtin/main.o
  CC      drivers/block/loop.o
  CC      fs/ext4/orphan.o
  AR      drivers/misc/eeprom/built-in.a
  CC      drivers/acpi/acpica/nspredef.o
  AR      drivers/misc/cb710/built-in.a
  AR      fs/nfs/built-in.a
  AR      drivers/misc/ti-st/built-in.a
  CC      fs/open.o
  CC      fs/read_write.o
  AR      drivers/misc/lis3lv02d/built-in.a
  CC      lib/radix-tree.o
  CC      net/ipv6/ping.o
  AR      drivers/misc/cardreader/built-in.a
  CC      drivers/acpi/acpica/nsprepkg.o
  CC [M]  drivers/misc/mei/hdcp/mei_hdcp.o
  AR      drivers/tty/serial/8250/built-in.a
  CC      drivers/tty/serial/serial_port.o
  CC [M]  sound/hda/intel-dsp-config.o
  CC      net/ipv4/devinet.o
  CC [M]  fs/overlayfs/namei.o
  CC      arch/x86/kernel/sys_ia32.o
  CC [M]  sound/hda/intel-nhlt.o
  AR      drivers/base/firmware_loader/builtin/built-in.a
  CC      drivers/base/firmware_loader/main.o
  CC      kernel/trace/trace_kprobe.o
  CC [M]  drivers/gpu/drm/tests/drm_managed_test.o
  CC      drivers/base/power/common.o
  CC      arch/x86/kernel/signal_32.o
  CC      arch/x86/kernel/sys_x86_64.o
  CC [M]  arch/x86/kvm/mmu/tdp_mmu.o
  CC      drivers/iommu/iommu-sysfs.o
  CC      drivers/iommu/dma-iommu.o
  CC      drivers/acpi/property.o
  CC [M]  fs/smb/client/cifs_debug.o
  CC      drivers/acpi/acpica/nsrepair.o
  CC      kernel/trace/error_report-traces.o
  CC      net/bridge/br_sysfs_br.o
  CC [M]  arch/x86/kvm/smm.o
  CC [M]  net/netfilter/xt_REDIRECT.o
  CC      fs/btrfs/dir-item.o
  CC      drivers/iommu/iova.o
  CC      net/sunrpc/svcsock.o
  CC      drivers/tty/serial/earlycon.o
  CC      drivers/char/nvram.o
  CC      kernel/capability.o
  CC      kernel/trace/power-traces.o
  CC [M]  fs/smb/client/connect.o
  CC [M]  drivers/gpu/drm/tests/drm_mm_test.o
  CC [M]  net/netfilter/xt_MASQUERADE.o
  CC      kernel/ptrace.o
  CC [M]  sound/hda/intel-sdw-acpi.o
  AR      drivers/iommu/intel/built-in.a
  CC      drivers/base/power/qos.o
  CC      kernel/trace/rpm-traces.o
  CC      drivers/base/power/runtime.o
  AR      fs/ext4/built-in.a
  CC      net/core/gro_cells.o
  CC [M]  fs/overlayfs/util.o
  CC [M]  drivers/misc/mei/pxp/mei_pxp.o
  CC      lib/ratelimit.o
  CC      drivers/acpi/acpica/nsrepair2.o
  CC      drivers/base/regmap/regmap.o
  CC      net/ipv6/exthdrs.o
  AR      drivers/base/test/built-in.a
  CC      drivers/base/regmap/regcache.o
  CC      drivers/iommu/irq_remapping.o
  CC      arch/x86/kernel/espfix_64.o
  CC      drivers/tty/serial/serial_mctrl_gpio.o
  CC [M]  drivers/misc/mei/init.o
  CC      lib/rbtree.o
  AR      drivers/base/firmware_loader/built-in.a
  CC      drivers/base/power/wakeirq.o
  AR      drivers/misc/built-in.a
  CC      drivers/base/power/main.o
  LD [M]  sound/hda/snd-hda-core.o
  CC      fs/file_table.o
  LD [M]  sound/hda/snd-intel-dspcfg.o
  AR      drivers/char/built-in.a
  LD [M]  sound/hda/snd-intel-sdw-acpi.o
  CC      net/bridge/br_nf_core.o
  CC      net/bridge/br_multicast.o
  CC      sound/sound_core.o
  CC [M]  drivers/block/nbd.o
  CC      arch/x86/kernel/ksysfs.o
  CC      arch/x86/kernel/bootflag.o
  CC      drivers/acpi/acpi_cmos_rtc.o
  CC      kernel/user.o
  CC      drivers/acpi/acpica/nssearch.o
  CC      kernel/trace/trace_dynevent.o
  CC      net/sunrpc/svcauth.o
  CC      sound/last.o
  CC [M]  drivers/misc/mei/hbm.o
  CC      drivers/base/power/wakeup.o
  CC [M]  net/netfilter/xt_addrtype.o
  AR      drivers/iommu/built-in.a
  AR      net/core/built-in.a
  CC      drivers/base/component.o
  CC [M]  drivers/misc/mei/interrupt.o
  CC      drivers/base/core.o
  CC      fs/btrfs/file-item.o
  CC      drivers/mfd/mfd-core.o
  CC      fs/btrfs/inode-item.o
  CC      drivers/base/power/wakeup_stats.o
  CC      drivers/mfd/intel-lpss.o
  CC      net/sunrpc/svcauth_unix.o
  CC [M]  fs/fuse/control.o
  AR      drivers/nfc/built-in.a
  CC      drivers/acpi/x86/apple.o
  CC      arch/x86/kernel/e820.o
  AR      drivers/dax/hmem/built-in.a
  CC      drivers/dax/super.o
  CC      arch/x86/kernel/pci-dma.o
  AR      drivers/tty/serial/built-in.a
  CC      kernel/signal.o
  CC      drivers/tty/pty.o
  CC      arch/x86/kernel/quirks.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      drivers/base/power/domain.o
  CC      drivers/acpi/acpica/nswalk.o
  AR      sound/built-in.a
  CC      drivers/tty/sysrq.o
  CC [M]  net/bluetooth/lib.o
  CC      drivers/mfd/intel-lpss-pci.o
  CC [M]  net/netfilter/xt_conntrack.o
  CC      drivers/base/power/domain_governor.o
  CC [M]  fs/overlayfs/inode.o
  CC      kernel/trace/trace_probe.o
  CC [M]  fs/fuse/xattr.o
  CC      drivers/dax/bus.o
  CC [M]  drivers/misc/mei/client.o
  CC      kernel/trace/trace_uprobe.o
  CC      net/ipv4/af_inet.o
  CC [M]  arch/x86/kvm/vmx/vmx.o
  CC      net/ipv4/igmp.o
  CC      drivers/dma-buf/dma-buf.o
  CC      drivers/acpi/acpica/nsxfeval.o
  AR      drivers/cxl/core/built-in.a
  AR      drivers/cxl/built-in.a
  CC      drivers/dma-buf/dma-fence.o
  CC [M]  fs/fuse/acl.o
  CC [M]  drivers/gpu/drm/tests/drm_modes_test.o
  CC      drivers/base/power/clock_ops.o
  CC      drivers/acpi/x86/utils.o
  CC      kernel/trace/rethook.o
  CC      drivers/base/regmap/regcache-rbtree.o
  CC      drivers/dma-buf/dma-fence-array.o
  CC      drivers/acpi/acpica/nsxfname.o
  CC [M]  fs/fuse/readdir.o
  CC [M]  drivers/misc/mei/main.o
  CC      arch/x86/kernel/topology.o
  CC      drivers/mfd/intel-lpss-acpi.o
  CC      drivers/base/regmap/regcache-flat.o
  CC [M]  net/netfilter/xt_ipvs.o
  AR      drivers/macintosh/built-in.a
  CC      drivers/scsi/scsi.o
  CC      net/ipv6/datagram.o
  CC      drivers/scsi/hosts.o
  CC      drivers/mfd/intel_soc_pmic_crc.o
  CC      net/sunrpc/addr.o
  CC      arch/x86/kernel/kdebugfs.o
  CC      drivers/acpi/acpica/nsxfobj.o
  AR      drivers/tty/built-in.a
  CC      drivers/scsi/scsi_ioctl.o
  CC      net/sunrpc/rpcb_clnt.o
  CC      drivers/base/bus.o
  CC      net/ipv6/ip6_flowlabel.o
  CC      fs/btrfs/disk-io.o
  CC      net/bridge/br_mdb.o
  AR      drivers/block/built-in.a
  CC [M]  fs/overlayfs/file.o
  CC [M]  fs/fuse/ioctl.o
  CC      drivers/base/dd.o
  CC      net/ipv6/inet6_connection_sock.o
  CC      net/bridge/br_multicast_eht.o
  CC [M]  net/bluetooth/ecdh_helper.o
  CC [M]  drivers/gpu/drm/tests/drm_plane_helper_test.o
  CC      drivers/acpi/acpica/psargs.o
  CC      drivers/acpi/acpica/psloop.o
  CC [M]  fs/overlayfs/dir.o
  CC      net/sunrpc/timer.o
  CC      mm/init-mm.o
  AR      drivers/dax/built-in.a
  CC      drivers/acpi/acpica/psobject.o
  CC      fs/btrfs/transaction.o
  CC      drivers/acpi/acpica/psopcode.o
  CC      net/ipv4/fib_frontend.o
  CC      arch/x86/kernel/alternative.o
  AR      drivers/base/power/built-in.a
  CC      drivers/scsi/scsicam.o
  CC      lib/seq_buf.o
  CC [M]  drivers/mfd/lpc_sch.o
  CC [M]  drivers/mfd/lpc_ich.o
  CC      drivers/base/regmap/regcache-maple.o
  CC      net/ipv6/udp_offload.o
  CC      net/sunrpc/xdr.o
  CC [M]  arch/x86/kvm/kvm-asm-offsets.s
  CC      drivers/dma-buf/dma-fence-chain.o
  CC      fs/btrfs/inode.o
  CC      drivers/dma-buf/dma-fence-unwrap.o
  CC [M]  net/bluetooth/hci_request.o
  AR      drivers/gpu/drm/arm/built-in.a
  CC      drivers/acpi/acpica/psopinfo.o
  AR      drivers/gpu/drm/display/built-in.a
  CC [M]  drivers/gpu/drm/display/drm_display_helper_mod.o
  LD [M]  net/netfilter/nf_conntrack.o
  CC [M]  drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
  CC [M]  drivers/gpu/drm/tests/drm_probe_helper_test.o
  CC [M]  drivers/gpu/drm/display/drm_dp_helper.o
  CC [M]  drivers/gpu/drm/tests/drm_rect_test.o
  LD [M]  net/netfilter/nf_nat.o
  CC      mm/memblock.o
  CC [M]  drivers/gpu/drm/display/drm_dp_mst_topology.o
  AR      net/netfilter/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_exec_test.o
  CC      drivers/scsi/scsi_error.o
  LD [M]  fs/fuse/fuse.o
  CC [M]  drivers/misc/mei/dma-ring.o
  CC      fs/super.o
  CC      arch/x86/kernel/i8253.o
  AR      kernel/trace/built-in.a
  CC      kernel/sys.o
  CC      drivers/scsi/scsi_lib.o
  AR      drivers/gpu/drm/renesas/rcar-du/built-in.a
  AR      drivers/gpu/drm/renesas/built-in.a
  CC      lib/siphash.o
  CC [M]  net/bluetooth/mgmt_util.o
  CC      fs/btrfs/file.o
  CC      drivers/dma-buf/dma-resv.o
  CC      drivers/acpi/acpica/psparse.o
  CC      net/ipv6/seg6.o
  CC      lib/string.o
  CC      fs/char_dev.o
  CC [M]  fs/smb/client/dir.o
  CC [M]  arch/x86/kvm/vmx/pmu_intel.o
  CC      fs/stat.o
  CC      lib/timerqueue.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC [M]  fs/overlayfs/readdir.o
  CC      drivers/base/regmap/regmap-debugfs.o
  AR      drivers/mfd/built-in.a
  CC      drivers/nvme/host/core.o
  CC      lib/vsprintf.o
  AR      drivers/nvme/target/built-in.a
  CC      net/bridge/br_vlan.o
  CC      net/bridge/br_vlan_tunnel.o
  CC      drivers/ata/libata-core.o
  CC      drivers/nvme/host/ioctl.o
  CC      drivers/scsi/scsi_scan.o
  CC [M]  fs/overlayfs/copy_up.o
  CC      drivers/nvme/host/sysfs.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      arch/x86/kernel/tsc.o
  CC [M]  drivers/misc/mei/bus.o
  CC      net/ipv6/fib6_notifier.o
  CC      drivers/nvme/host/pr.o
  CC      drivers/nvme/host/trace.o
  CC      drivers/acpi/acpica/psscope.o
  AR      drivers/gpu/drm/omapdrm/built-in.a
  CC      net/bridge/br_vlan_options.o
  CC      drivers/acpi/x86/s2idle.o
  CC      kernel/umh.o
  CC      drivers/base/regmap/regmap-i2c.o
  CC      arch/x86/kernel/tsc_msr.o
  GEN     drivers/scsi/scsi_devinfo_tbl.c
  CC      drivers/scsi/scsi_devinfo.o
  CC      net/bridge/br_mst.o
  CC      fs/exec.o
  CC [M]  net/bluetooth/mgmt_config.o
  CC      drivers/base/regmap/regmap-irq.o
  CC      drivers/acpi/acpica/pstree.o
  CC      drivers/dma-buf/sync_file.o
  CC      mm/memory_hotplug.o
  CC      drivers/dma-buf/sw_sync.o
  AR      drivers/gpu/drm/tilcdc/built-in.a
  AR      drivers/gpu/drm/imx/built-in.a
  CC      drivers/spi/spi.o
  AR      drivers/gpu/drm/i2c/built-in.a
  CC      arch/x86/kernel/io_delay.o
  CC [M]  net/bridge/br_netfilter_hooks.o
  CC      fs/pipe.o
  CC      drivers/dma-buf/sync_debug.o
  CC      net/ipv4/fib_semantics.o
  CC [M]  fs/overlayfs/export.o
  CC [M]  fs/overlayfs/params.o
  CC      net/ipv4/fib_trie.o
  CC      net/ipv6/rpl.o
  CC      drivers/nvme/host/fault_inject.o
  CC      mm/madvise.o
  AR      drivers/gpu/drm/panel/built-in.a
  CC      drivers/acpi/acpica/psutils.o
  CC      drivers/acpi/acpica/pswalk.o
  CC      fs/namei.o
  CC      arch/x86/kernel/rtc.o
  AR      drivers/gpu/drm/bridge/analogix/built-in.a
  CC      drivers/base/syscore.o
  AR      drivers/gpu/drm/bridge/cadence/built-in.a
  CC      drivers/acpi/acpica/psxface.o
  CC      drivers/base/driver.o
  AR      drivers/gpu/drm/bridge/imx/built-in.a
  CC      drivers/scsi/scsi_sysctl.o
  CC [M]  drivers/misc/mei/bus-fixup.o
  AR      drivers/gpu/drm/bridge/synopsys/built-in.a
  AR      drivers/gpu/drm/bridge/built-in.a
  CC      arch/x86/kernel/resource.o
  AR      drivers/gpu/drm/hisilicon/built-in.a
  CC [M]  net/bluetooth/hci_codec.o
  AS      arch/x86/kernel/irqflags.o
  AR      drivers/gpu/drm/mxsfb/built-in.a
  CC      fs/btrfs/defrag.o
  AR      drivers/gpu/drm/tiny/built-in.a
  CC      drivers/net/phy/mdio-boardinfo.o
  AR      drivers/net/pse-pd/built-in.a
  AR      drivers/gpu/drm/xlnx/built-in.a
  CC      arch/x86/kernel/static_call.o
  CC      drivers/net/phy/stubs.o
  CC      drivers/scsi/scsi_debugfs.o
  CC      kernel/workqueue.o
  CC      arch/x86/kernel/process.o
  AR      drivers/gpu/drm/gud/built-in.a
  AR      drivers/gpu/drm/solomon/built-in.a
  CC [M]  fs/smb/client/file.o
  CC      net/sunrpc/sunrpc_syms.o
  CC      drivers/scsi/scsi_trace.o
  CC      drivers/acpi/acpica/rsaddr.o
  CC [M]  drivers/gpu/drm/ttm/ttm_tt.o
  CC [M]  drivers/gpu/drm/scheduler/sched_main.o
  CC [M]  drivers/dma-buf/selftest.o
  CC      drivers/acpi/debugfs.o
  CC [M]  drivers/gpu/drm/scheduler/sched_fence.o
  CC [M]  drivers/gpu/drm/scheduler/sched_entity.o
  CC      mm/page_io.o
  CC      mm/swap_state.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo_util.o
  AR      drivers/base/regmap/built-in.a
  CC      drivers/base/class.o
  CC      arch/x86/kernel/ptrace.o
  CC      drivers/scsi/scsi_logging.o
  CC      drivers/acpi/acpi_lpat.o
  CC      net/sunrpc/cache.o
  LD [M]  fs/overlayfs/overlay.o
  CC [M]  drivers/misc/mei/debugfs.o
  CC      drivers/acpi/acpica/rscalc.o
  CC      kernel/pid.o
  CC      net/ipv6/ioam6.o
  CC      drivers/scsi/scsi_pm.o
  CC      kernel/task_work.o
  CC      drivers/net/phy/mdio_devres.o
  CC [M]  fs/smb/client/inode.o
  CC [M]  drivers/gpu/drm/display/drm_dsc_helper.o
  CC [M]  drivers/dma-buf/st-dma-fence.o
  CC      drivers/acpi/acpi_lpit.o
  CC [M]  net/bridge/br_netfilter_ipv6.o
  CC [M]  net/bluetooth/eir.o
  CC [M]  arch/x86/kvm/vmx/vmcs12.o
  CC      net/sunrpc/rpc_pipe.o
  CC      drivers/base/platform.o
  CC      lib/win_minmax.o
  CC      fs/btrfs/extent_map.o
  CC      drivers/net/phy/phy.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo_vm.o
  CC      fs/fcntl.o
  CC      drivers/nvme/host/pci.o
  CC [M]  drivers/dma-buf/st-dma-fence-chain.o
  CC      drivers/acpi/acpica/rscreate.o
  CC      drivers/net/phy/phy-c45.o
  CC [M]  drivers/misc/mei/mei-trace.o
  CC      net/sunrpc/sysfs.o
  CC      drivers/net/phy/phy-core.o
  CC      drivers/scsi/scsi_bsg.o
  AR      net/bridge/built-in.a
  CC      net/ipv4/fib_notifier.o
  CC      kernel/extable.o
  CC      drivers/net/mdio/acpi_mdio.o
  AR      drivers/net/pcs/built-in.a
  AR      drivers/net/ethernet/adi/built-in.a
  AR      drivers/net/ethernet/alacritech/built-in.a
  AR      drivers/net/usb/built-in.a
  AR      drivers/net/ethernet/amazon/built-in.a
  CC [M]  drivers/net/usb/pegasus.o
  CC      lib/xarray.o
  CC      lib/lockref.o
  AR      drivers/net/ethernet/aquantia/built-in.a
  CC      drivers/net/phy/phy_device.o
  AR      drivers/net/ethernet/asix/built-in.a
  AR      drivers/net/ethernet/cadence/built-in.a
  CC [M]  drivers/gpu/drm/ttm/ttm_module.o
  AR      drivers/net/ethernet/broadcom/built-in.a
  CC [M]  drivers/net/ethernet/broadcom/b44.o
  AR      drivers/net/ethernet/cavium/common/built-in.a
  AR      drivers/net/ethernet/cavium/thunder/built-in.a
  CC      arch/x86/kernel/tls.o
  CC      net/sunrpc/svc_xprt.o
  AR      drivers/net/ethernet/cavium/liquidio/built-in.a
  CC      mm/swapfile.o
  AR      drivers/net/ethernet/cavium/octeon/built-in.a
  AR      drivers/net/ethernet/cavium/built-in.a
  CC [M]  net/bluetooth/hci_sync.o
  CC [M]  drivers/gpu/drm/display/drm_hdcp_helper.o
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.o
  CC      drivers/acpi/acpica/rsdumpinfo.o
  CC [M]  drivers/gpu/drm/ttm/ttm_execbuf_util.o
  CC      lib/bcd.o
  CC      lib/sort.o
  CC [M]  drivers/gpu/drm/display/drm_hdmi_helper.o
  CC [M]  arch/x86/kvm/vmx/hyperv.o
  CC [M]  drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.o
  CC [M]  drivers/net/ethernet/broadcom/bnx2.o
  CC      net/sunrpc/xprtmultipath.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.o
  CC [M]  drivers/gpu/drm/ttm/ttm_range_manager.o
  CC [M]  drivers/net/usb/rtl8150.o
  CC      drivers/scsi/scsi_common.o
  CC [M]  net/bluetooth/coredump.o
  CC [M]  net/bluetooth/sco.o
  CC [M]  drivers/misc/mei/pci-me.o
  CC      lib/parser.o
  CC      drivers/acpi/acpica/rsinfo.o
  CC      drivers/base/cpu.o
  CC      drivers/net/mdio/fwnode_mdio.o
  LD [M]  net/bridge/br_netfilter.o
  CC [M]  drivers/dma-buf/st-dma-fence-unwrap.o
  LD [M]  drivers/gpu/drm/amd/amdxcp/amdxcp.o
  CC      drivers/base/firmware.o
  CC      lib/debug_locks.o
  CC [M]  drivers/net/usb/r8152.o
  AR      drivers/firewire/built-in.a
  CC      net/ipv4/inet_fragment.o
  AR      drivers/cdrom/built-in.a
  CC      arch/x86/kernel/step.o
  CC      net/ipv4/ping.o
  AR      drivers/auxdisplay/built-in.a
  AR      drivers/spi/built-in.a
  CC      drivers/usb/common/common.o
  CC      drivers/base/init.o
  CC      drivers/usb/common/debug.o
  CC      drivers/input/serio/serio.o
  CC      drivers/usb/core/usb.o
  CC      drivers/input/keyboard/atkbd.o
  AR      drivers/input/mouse/built-in.a
  AR      drivers/usb/phy/built-in.a
  CC [M]  drivers/gpu/drm/display/drm_scdc_helper.o
  CC      drivers/net/phy/linkmode.o
  CC      drivers/base/map.o
  CC      drivers/net/phy/mdio_bus.o
  CC      net/ipv6/sysctl_net_ipv6.o
  CC      drivers/scsi/sd.o
  CC      drivers/usb/host/pci-quirks.o
  CC      drivers/net/phy/mdio_device.o
  CC      drivers/acpi/acpica/rsio.o
  CC      drivers/acpi/acpica/rsirq.o
  CC [M]  drivers/gpu/drm/ttm/ttm_resource.o
  CC      drivers/acpi/acpica/rslist.o
  CC      drivers/usb/host/ehci-hcd.o
  CC      drivers/base/devres.o
  CC [M]  drivers/misc/mei/hw-me.o
  CC [M]  drivers/dma-buf/st-dma-resv.o
  CC [M]  drivers/net/usb/asix_devices.o
  CC [M]  arch/x86/kvm/vmx/nested.o
  AR      drivers/net/mdio/built-in.a
  CC      drivers/ata/libata-scsi.o
  CC [M]  drivers/gpu/drm/display/drm_dp_aux_dev.o
  CC      drivers/acpi/acpica/rsmemory.o
  CC      net/sunrpc/stats.o
  CC      drivers/base/attribute_container.o
  CC      arch/x86/kernel/i8237.o
  CC      drivers/usb/host/ehci-pci.o
  CC      drivers/ata/libata-eh.o
  CC      lib/random32.o
  CC      fs/btrfs/sysfs.o
  CC      lib/bust_spinlocks.o
  CC      drivers/acpi/acpica/rsmisc.o
  AR      drivers/usb/common/built-in.a
  CC      net/ipv6/xfrm6_policy.o
  CC      drivers/usb/storage/scsiglue.o
  CC      net/ipv6/xfrm6_state.o
  CC [M]  drivers/net/usb/asix_common.o
  CC      drivers/input/serio/i8042.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_device.o
  CC [M]  drivers/net/usb/ax88172a.o
  CC      net/ipv4/ip_tunnel_core.o
  AR      drivers/dma-buf/built-in.a
  CC      drivers/net/phy/swphy.o
  LD [M]  drivers/dma-buf/dmabuf_selftests.o
  CC      fs/ioctl.o
  CC      drivers/rtc/lib.o
  CC      arch/x86/kernel/stacktrace.o
  AR      drivers/i2c/algos/built-in.a
  CC [M]  drivers/net/ethernet/broadcom/cnic.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_doorbell_mgr.o
  CC      drivers/usb/core/hub.o
  CC [M]  drivers/i2c/algos/i2c-algo-bit.o
  CC      drivers/usb/core/hcd.o
  AR      drivers/nvme/host/built-in.a
  AR      drivers/nvme/built-in.a
  CC      kernel/params.o
  CC      drivers/usb/storage/protocol.o
  CC [M]  drivers/gpu/drm/ttm/ttm_pool.o
  AR      drivers/input/keyboard/built-in.a
  CC      drivers/input/input.o
  CC      drivers/usb/serial/usb-serial.o
  CC      drivers/base/transport_class.o
  CC      drivers/acpi/acpica/rsserial.o
  CC      lib/kasprintf.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.o
  CC      drivers/rtc/class.o
  CC      net/ipv4/gre_offload.o
  CC [M]  fs/smb/client/link.o
  CC [M]  drivers/gpu/drm/i915/i915_driver.o
  CC [M]  drivers/net/usb/ax88179_178a.o
  CC      net/ipv4/metrics.o
  LD [M]  drivers/gpu/drm/display/drm_display_helper.o
  CC [M]  net/bluetooth/iso.o
  CC      drivers/net/phy/fixed_phy.o
  CC      drivers/usb/storage/transport.o
  CC      drivers/rtc/interface.o
  CC      arch/x86/kernel/reboot.o
  CC      drivers/usb/storage/usb.o
  CC      lib/bitmap.o
  CC      drivers/acpi/acpica/rsutils.o
  CC      drivers/usb/storage/initializers.o
  CC      drivers/base/topology.o
  CC      drivers/usb/storage/sierra_ms.o
  CC      net/ipv4/netlink.o
  CC      drivers/usb/storage/option_ms.o
  CC      mm/swap_slots.o
  CC      net/ipv6/xfrm6_input.o
  CC [M]  drivers/net/usb/cdc_ether.o
  CC      fs/btrfs/accessors.o
  CC      drivers/scsi/sg.o
  CC      drivers/i2c/busses/i2c-designware-common.o
  CC      drivers/input/serio/libps2.o
  CC      drivers/i2c/busses/i2c-designware-master.o
  CC [M]  drivers/gpu/drm/ttm/ttm_device.o
  CC      net/sunrpc/sysctl.o
  CC [M]  drivers/misc/mei/gsc-me.o
  CC      kernel/kthread.o
  CC      drivers/acpi/acpica/rsxface.o
  CC      net/ipv4/nexthop.o
  CC [M]  net/bluetooth/a2mp.o
  CC      drivers/base/container.o
  CC [M]  drivers/net/phy/phylink.o
  CC      drivers/usb/storage/usual-tables.o
  CC      drivers/ata/libata-transport.o
  LD [M]  drivers/misc/mei/mei.o
  CC      drivers/ata/libata-trace.o
  CC      arch/x86/kernel/msr.o
  CC [M]  net/bluetooth/amp.o
  CC      drivers/usb/serial/generic.o
  CC      drivers/usb/serial/bus.o
  CC      fs/readdir.o
  LD [M]  drivers/misc/mei/mei-me.o
  CC      mm/dmapool.o
  CC      mm/hugetlb.o
  CC      kernel/sys_ni.o
  CC [M]  drivers/gpu/drm/ttm/ttm_sys_manager.o
  CC      drivers/i2c/busses/i2c-designware-platdrv.o
  CC      drivers/acpi/acpica/tbdata.o
  CC      drivers/rtc/nvmem.o
  CC      net/ipv4/udp_tunnel_stub.o
  CC      drivers/i2c/busses/i2c-designware-baytrail.o
  AR      net/sunrpc/built-in.a
  CC      drivers/base/property.o
  CC      drivers/base/cacheinfo.o
  AR      drivers/input/serio/built-in.a
  CC      drivers/input/input-compat.o
  CC      kernel/nsproxy.o
  CC      drivers/rtc/dev.o
  LD [M]  drivers/misc/mei/mei-gsc.o
  CC      lib/scatterlist.o
  AR      drivers/i2c/muxes/built-in.a
  CC [M]  drivers/i2c/muxes/i2c-mux-gpio.o
  CC      drivers/usb/host/ohci-hcd.o
  CC [M]  drivers/i2c/busses/i2c-scmi.o
  CC [M]  drivers/net/ethernet/broadcom/tg3.o
  AR      drivers/usb/storage/built-in.a
  CC [M]  fs/smb/client/misc.o
  AR      drivers/usb/misc/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_drm_client.o
  AR      drivers/usb/gadget/function/built-in.a
  CC      drivers/usb/gadget/udc/core.o
  CC      drivers/base/swnode.o
  CC      net/ipv6/xfrm6_output.o
  AR      drivers/usb/gadget/legacy/built-in.a
  CC      arch/x86/kernel/cpuid.o
  CC      arch/x86/kernel/early-quirks.o
  CC [M]  fs/smb/client/netmisc.o
  CC [M]  drivers/gpu/drm/ttm/ttm_agp_backend.o
  CC      fs/btrfs/xattr.o
  CC      arch/x86/kernel/smp.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  CC      drivers/scsi/scsi_sysfs.o
  CC      net/ipv4/sysctl_net_ipv4.o
  CC      drivers/acpi/acpica/tbfadt.o
  CC [M]  drivers/gpu/drm/vgem/vgem_drv.o
  CC [M]  drivers/net/ipvlan/ipvlan_core.o
  CC      drivers/input/input-mt.o
  CC [M]  drivers/gpu/drm/vgem/vgem_fence.o
  CC      drivers/ata/libata-sata.o
  CC      drivers/usb/serial/console.o
  CC      drivers/acpi/prmt.o
  CC      lib/list_sort.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.o
  CC      drivers/rtc/proc.o
  CC [M]  drivers/net/ipvlan/ipvlan_main.o
  CC [M]  drivers/usb/class/usbtmc.o
  CC      drivers/base/auxiliary.o
  CC      drivers/usb/serial/ftdi_sio.o
  CC      net/ipv4/proc.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  CC [M]  net/bluetooth/hci_debugfs.o
  CC      arch/x86/kernel/smpboot.o
  CC [M]  fs/smb/client/smbencrypt.o
  CC [M]  drivers/i2c/busses/i2c-ccgx-ucsi.o
  CC      kernel/notifier.o
  CC      drivers/i2c/i2c-boardinfo.o
  CC      drivers/acpi/acpica/tbfind.o
  LD [M]  drivers/gpu/drm/ttm/ttm.o
  CC      drivers/base/devtmpfs.o
  CC [M]  drivers/net/ipvlan/ipvlan_l3s.o
  CC      lib/uuid.o
  AR      drivers/i3c/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/object.o
  AR      drivers/media/i2c/built-in.a
  CC      drivers/base/node.o
  AR      drivers/media/tuners/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_config.o
  AR      drivers/media/rc/keymaps/built-in.a
  AR      drivers/ptp/built-in.a
  CC      drivers/rtc/sysfs.o
  AR      drivers/media/rc/built-in.a
  LD [M]  drivers/gpu/drm/vgem/vgem.o
  CC [M]  drivers/ptp/ptp_clock.o
  CC [M]  drivers/ptp/ptp_chardev.o
  AR      drivers/media/common/b2c2/built-in.a
  CC [M]  drivers/ptp/ptp_sysfs.o
  CC      drivers/input/input-poller.o
  AR      drivers/media/common/saa7146/built-in.a
  AR      drivers/media/platform/allegro-dvt/built-in.a
  AR      drivers/media/common/siano/built-in.a
  AR      drivers/media/platform/amphion/built-in.a
  AR      drivers/media/platform/amlogic/meson-ge2d/built-in.a
  AR      drivers/media/common/v4l2-tpg/built-in.a
  AR      drivers/media/platform/amlogic/built-in.a
  CC      drivers/usb/core/urb.o
  AR      drivers/media/common/videobuf2/built-in.a
  AR      drivers/media/platform/aspeed/built-in.a
  AR      drivers/media/common/built-in.a
  CC      lib/iov_iter.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_crtc.o
  AR      drivers/media/platform/atmel/built-in.a
  AR      drivers/media/platform/cadence/built-in.a
  AR      drivers/media/platform/chips-media/built-in.a
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/client.o
  AR      drivers/media/platform/intel/built-in.a
  AR      drivers/media/platform/marvell/built-in.a
  CC      net/ipv6/xfrm6_protocol.o
  CC      drivers/acpi/acpica/tbinstal.o
  CC      drivers/usb/gadget/usbstring.o
  CC      drivers/usb/gadget/config.o
  AR      drivers/media/platform/mediatek/jpeg/built-in.a
  CC      drivers/acpi/acpica/tbprint.o
  AR      drivers/media/platform/mediatek/mdp/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/common/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/encoder/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/decoder/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/built-in.a
  AR      drivers/media/platform/mediatek/vpu/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_getparam.o
  CC [M]  fs/smb/client/transport.o
  AR      drivers/media/platform/mediatek/mdp3/built-in.a
  AR      drivers/media/platform/mediatek/built-in.a
  CC      drivers/usb/gadget/udc/trace.o
  CC [M]  drivers/i2c/busses/i2c-i801.o
  AR      drivers/media/platform/microchip/built-in.a
  CC      lib/clz_ctz.o
  CC      fs/btrfs/ordered-data.o
  AR      drivers/media/platform/nvidia/tegra-vde/built-in.a
  AR      drivers/media/platform/nvidia/built-in.a
  AR      drivers/media/platform/nxp/dw100/built-in.a
  CC      drivers/ata/libata-sff.o
  AR      drivers/media/platform/nxp/imx-jpeg/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.o
  CC [M]  drivers/net/phy/aquantia_main.o
  CC [M]  drivers/net/usb/cdc_eem.o
  AR      drivers/media/platform/nxp/imx8-isi/built-in.a
  AR      drivers/media/platform/nxp/built-in.a
  CC      drivers/usb/serial/pl2303.o
  AR      drivers/media/platform/qcom/camss/built-in.a
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  AR      drivers/media/platform/qcom/venus/built-in.a
  AR      drivers/media/platform/qcom/built-in.a
  AR      drivers/scsi/built-in.a
  AR      drivers/media/platform/renesas/rcar-vin/built-in.a
  AR      drivers/media/platform/renesas/rzg2l-cru/built-in.a
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  CC      drivers/rtc/rtc-mc146818-lib.o
  AR      drivers/media/platform/renesas/vsp1/built-in.a
  CC      drivers/input/ff-core.o
  AR      drivers/media/platform/renesas/built-in.a
  CC [M]  drivers/net/phy/aquantia_hwmon.o
  CC      kernel/ksysfs.o
  AR      drivers/media/platform/rockchip/rga/built-in.a
  CC      kernel/cred.o
  CC      drivers/usb/gadget/epautoconf.o
  AR      drivers/media/platform/rockchip/rkisp1/built-in.a
  AR      drivers/media/platform/rockchip/built-in.a
  CC      drivers/acpi/acpica/tbutils.o
  AR      drivers/media/platform/samsung/exynos-gsc/built-in.a
  AR      drivers/media/platform/samsung/exynos4-is/built-in.a
  AR      drivers/media/platform/samsung/s3c-camif/built-in.a
  CC      drivers/usb/gadget/composite.o
  CC      net/ipv6/netfilter.o
  AR      drivers/media/platform/samsung/s5p-g2d/built-in.a
  CC      drivers/acpi/acpi_pcc.o
  AR      drivers/media/platform/samsung/s5p-jpeg/built-in.a
  CC      drivers/acpi/ac.o
  CC      arch/x86/kernel/tsc_sync.o
  AR      drivers/media/platform/samsung/s5p-mfc/built-in.a
  AR      drivers/media/platform/samsung/built-in.a
  AR      drivers/media/platform/st/sti/bdisp/built-in.a
  AR      drivers/media/platform/sunxi/sun4i-csi/built-in.a
  AR      drivers/media/platform/sunxi/sun6i-csi/built-in.a
  AR      drivers/media/platform/st/sti/c8sectpfe/built-in.a
  CC      drivers/base/memory.o
  CC [M]  drivers/ptp/ptp_vclock.o
  AR      drivers/media/platform/ti/am437x/built-in.a
  AR      drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
  AR      drivers/media/platform/ti/cal/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
  AR      drivers/media/platform/st/sti/delta/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/conn.o
  AR      drivers/media/platform/ti/vpe/built-in.a
  AR      drivers/media/platform/st/sti/hva/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-di/built-in.a
  AR      drivers/media/platform/ti/davinci/built-in.a
  AR      drivers/media/platform/st/stm32/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-rotate/built-in.a
  CC      arch/x86/kernel/setup_percpu.o
  AR      drivers/media/platform/st/built-in.a
  AR      drivers/media/platform/ti/omap/built-in.a
  AR      drivers/media/platform/sunxi/built-in.a
  LD [M]  drivers/net/ipvlan/ipvlan.o
  AR      drivers/media/platform/ti/omap3isp/built-in.a
  CC      drivers/base/module.o
  CC      drivers/base/pinctrl.o
  AR      drivers/media/platform/ti/built-in.a
  CC      drivers/base/devcoredump.o
  CC      drivers/base/platform-msi.o
  CC [M]  drivers/net/phy/ax88796b.o
  CC [M]  drivers/net/phy/bcm7xxx.o
  AR      drivers/media/platform/verisilicon/built-in.a
  AR      drivers/power/reset/built-in.a
  AR      drivers/media/platform/via/built-in.a
  CC      drivers/usb/core/message.o
  CC      drivers/power/supply/power_supply_core.o
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  AR      drivers/media/platform/xilinx/built-in.a
  AR      drivers/media/platform/built-in.a
  CC      drivers/usb/host/ohci-pci.o
  AR      drivers/media/pci/ttpci/built-in.a
  AR      drivers/media/pci/b2c2/built-in.a
  AR      drivers/media/pci/pluto2/built-in.a
  AR      drivers/media/pci/dm1105/built-in.a
  CC      drivers/acpi/acpica/tbxface.o
  AR      drivers/media/pci/pt1/built-in.a
  CC      net/ipv4/syncookies.o
  LD [M]  net/bluetooth/bluetooth.o
  AR      drivers/media/pci/pt3/built-in.a
  AR      drivers/media/pci/mantis/built-in.a
  CC      drivers/acpi/acpica/tbxfload.o
  CC [M]  drivers/net/usb/smsc75xx.o
  AR      drivers/media/pci/ngene/built-in.a
  AR      drivers/media/pci/ddbridge/built-in.a
  CC      drivers/base/physical_location.o
  CC      drivers/rtc/rtc-cmos.o
  CC      drivers/input/touchscreen.o
  CC      drivers/input/ff-memless.o
  AR      drivers/media/pci/saa7146/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_ioctl.o
  CC      kernel/reboot.o
  AR      drivers/media/pci/smipcie/built-in.a
  CC      drivers/base/trace.o
  AR      drivers/media/pci/netup_unidvb/built-in.a
  AR      drivers/media/pci/intel/ipu3/built-in.a
  AR      drivers/media/pci/intel/ivsc/built-in.a
  CC [M]  drivers/i2c/busses/i2c-isch.o
  AR      drivers/media/pci/intel/built-in.a
  CC [M]  drivers/net/vxlan/vxlan_core.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/device.o
  CC [M]  drivers/i2c/busses/i2c-ismt.o
  CC [M]  arch/x86/kvm/vmx/posted_intr.o
  CC [M]  drivers/i2c/busses/i2c-piix4.o
  AR      drivers/media/usb/b2c2/built-in.a
  AR      drivers/media/pci/built-in.a
  AR      drivers/media/usb/dvb-usb/built-in.a
  CC      fs/btrfs/extent_io.o
  AR      drivers/media/usb/dvb-usb-v2/built-in.a
  CC      arch/x86/kernel/ftrace.o
  AS      arch/x86/kernel/ftrace_64.o
  CC      drivers/usb/core/driver.o
  AR      drivers/media/usb/s2255/built-in.a
  AR      drivers/media/usb/siano/built-in.a
  CC      drivers/i2c/i2c-core-base.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.o
  AR      drivers/usb/gadget/udc/built-in.a
  AR      drivers/media/usb/ttusb-budget/built-in.a
  CC      drivers/i2c/i2c-core-smbus.o
  AR      drivers/usb/serial/built-in.a
  AR      drivers/media/usb/ttusb-dec/built-in.a
  CC      drivers/usb/gadget/functions.o
  AR      drivers/media/usb/built-in.a
  AR      drivers/net/ethernet/cortina/built-in.a
  CC      drivers/net/loopback.o
  AR      drivers/media/mmc/siano/built-in.a
  AR      drivers/media/mmc/built-in.a
  AR      drivers/media/firewire/built-in.a
  LD [M]  arch/x86/kvm/kvm.o
  AR      drivers/media/spi/built-in.a
  CC [M]  drivers/ptp/ptp_kvm_x86.o
  CC      kernel/async.o
  AR      drivers/media/test-drivers/built-in.a
  AR      drivers/media/built-in.a
  CC [M]  drivers/net/phy/bcm87xx.o
  CC      drivers/i2c/i2c-core-acpi.o
  CC      drivers/usb/core/config.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/disp.o
  CC      drivers/acpi/acpica/tbxfroot.o
  UPD     arch/x86/kvm/kvm-asm-offsets.h
  CC [M]  fs/smb/client/cached_dir.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/driver.o
  CC      drivers/usb/host/uhci-hcd.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/event.o
  CC      arch/x86/kernel/trace_clock.o
  CC      fs/btrfs/volumes.o
  CC [M]  drivers/net/phy/bcm-phy-lib.o
  CC      drivers/usb/core/file.o
  CC      drivers/input/vivaldi-fmap.o
  CC      drivers/usb/host/xhci.o
  CC      drivers/power/supply/power_supply_sysfs.o
  AR      drivers/base/built-in.a
  CC      drivers/hwmon/hwmon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atom.o
  CC      net/ipv6/fib6_rules.o
  AR      drivers/thermal/broadcom/built-in.a
  CC      drivers/power/supply/power_supply_leds.o
  AR      drivers/thermal/samsung/built-in.a
  CC      drivers/thermal/intel/intel_tcc.o
  CC      drivers/usb/gadget/configfs.o
  CC      drivers/acpi/acpica/utaddress.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fence.o
  CC      net/ipv6/proc.o
  CC      drivers/power/supply/power_supply_hwmon.o
  CC      arch/x86/kernel/trace.o
  CC      drivers/input/input-leds.o
  CC [M]  drivers/gpu/drm/i915/i915_irq.o
  AR      drivers/rtc/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/fifo.o
  CC      kernel/range.o
  CC [M]  drivers/ptp/ptp_kvm_common.o
  CC      drivers/thermal/intel/therm_throt.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC [M]  drivers/net/phy/broadcom.o
  CC      fs/btrfs/async-thread.o
  CC      kernel/smpboot.o
  CC [M]  drivers/i2c/busses/i2c-designware-pcidrv.o
  CC      fs/btrfs/ioctl.o
  CC      net/ipv4/esp4.o
  CC      drivers/input/mousedev.o
  CC      net/ipv4/esp4_offload.o
  CC      drivers/ata/libata-pmp.o
  AS [M]  arch/x86/kvm/vmx/vmenter.o
  CC      drivers/ata/libata-acpi.o
  CC      net/ipv6/syncookies.o
  CC      net/ipv4/netfilter.o
  CC      lib/bsearch.o
  CC      drivers/ata/libata-pata-timings.o
  CC      drivers/ata/ahci.o
  LD [M]  arch/x86/kvm/kvm-intel.o
  CC      drivers/input/evdev.o
  CC      drivers/acpi/acpica/utalloc.o
  AR      drivers/net/ethernet/engleder/built-in.a
  CC      drivers/acpi/button.o
  AR      drivers/net/ethernet/ezchip/built-in.a
  CC      drivers/i2c/i2c-core-slave.o
  CC      drivers/usb/core/buffer.o
  CC      arch/x86/kernel/rethook.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.o
  AR      drivers/power/supply/built-in.a
  AR      drivers/power/built-in.a
  CC      net/ipv4/inet_diag.o
  CC      drivers/watchdog/watchdog_core.o
  CC      net/ipv4/tcp_diag.o
  CC      drivers/watchdog/watchdog_dev.o
  CC [M]  drivers/net/usb/smsc95xx.o
  CC [M]  drivers/net/phy/lxt.o
  LD [M]  drivers/ptp/ptp.o
  LD [M]  drivers/ptp/ptp_kvm.o
  CC      drivers/net/netconsole.o
  CC      kernel/ucount.o
  CC      mm/hugetlb_vmemmap.o
  CC      drivers/acpi/acpica/utascii.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/head.o
  CC      lib/find_bit.o
  CC [M]  drivers/hwmon/acpi_power_meter.o
  CC [M]  drivers/md/persistent-data/dm-array.o
  CC [M]  fs/smb/client/cifs_unicode.o
  CC      arch/x86/kernel/crash_core_64.o
  CC      kernel/regset.o
  CC [M]  drivers/net/dummy.o
  CC      drivers/usb/core/sysfs.o
  CC [M]  drivers/hwmon/coretemp.o
  LD [M]  drivers/i2c/busses/i2c-designware-pci.o
  AR      drivers/i2c/busses/built-in.a
  CC [M]  drivers/md/persistent-data/dm-bitset.o
  CC      drivers/acpi/fan_core.o
  CC [M]  drivers/md/persistent-data/dm-block-manager.o
  CC      lib/llist.o
  CC [M]  drivers/md/persistent-data/dm-space-map-common.o
  CC      kernel/ksyms_common.o
  AR      drivers/thermal/intel/built-in.a
  AR      drivers/thermal/st/built-in.a
  AR      drivers/thermal/qcom/built-in.a
  CC      lib/memweight.o
  AR      drivers/thermal/tegra/built-in.a
  CC      drivers/acpi/acpica/utbuffer.o
  CC [M]  drivers/gpu/drm/ast/ast_drv.o
  CC      drivers/usb/gadget/u_f.o
  AR      drivers/thermal/mediatek/built-in.a
  CC      drivers/thermal/thermal_core.o
  CC      drivers/i2c/i2c-dev.o
  CC [M]  drivers/gpu/drm/ast/ast_i2c.o
  CC      net/ipv6/mip6.o
  CC      drivers/acpi/acpica/utcksum.o
  CC      drivers/thermal/thermal_sysfs.o
  CC      lib/kfifo.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.o
  CC      drivers/ata/libahci.o
  AR      drivers/input/built-in.a
  CC      lib/percpu-refcount.o
  CC      drivers/gpu/drm/drm_mipi_dsi.o
  CC [M]  fs/smb/client/nterr.o
  CC      fs/select.o
  CC      drivers/watchdog/softdog.o
  CC      arch/x86/kernel/module.o
  CC      net/ipv6/addrconf_core.o
  CC [M]  drivers/net/phy/realtek.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/mem.o
  CC [M]  drivers/gpu/drm/i915/i915_mitigations.o
  CC      drivers/usb/host/xhci-mem.o
  CC      drivers/usb/host/xhci-ext-caps.o
  CC      arch/x86/kernel/early_printk.o
  CC      drivers/usb/host/xhci-ring.o
  CC      net/ipv6/exthdrs_core.o
  CC      kernel/groups.o
  CC      net/ipv6/ip6_checksum.o
  CC      drivers/acpi/acpica/utcopy.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/mmu.o
  CC [M]  fs/smb/client/cifsencrypt.o
  CC      mm/mempolicy.o
  CC [M]  drivers/net/usb/mcs7830.o
  CC      drivers/acpi/fan_attr.o
  CC      drivers/acpi/processor_driver.o
  AR      drivers/usb/gadget/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_object.o
  AR      drivers/hwmon/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_module.o
  AR      drivers/watchdog/built-in.a
  CC      drivers/md/md.o
  CC      drivers/opp/core.o
  CC [M]  drivers/md/persistent-data/dm-space-map-disk.o
  CC      drivers/usb/core/endpoint.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/outp.o
  CC [M]  fs/smb/client/readdir.o
  CC [M]  drivers/md/persistent-data/dm-space-map-metadata.o
  CC [M]  drivers/gpu/drm/ast/ast_main.o
  CC      drivers/cpufreq/cpufreq.o
  CC      lib/rhashtable.o
  CC      drivers/cpuidle/governors/menu.o
  CC      lib/base64.o
  CC      drivers/cpuidle/governors/haltpoll.o
  CC      arch/x86/kernel/hpet.o
  CC      lib/once.o
  CC [M]  drivers/i2c/i2c-smbus.o
  CC [M]  drivers/net/usb/usbnet.o
  CC      net/ipv4/udp_diag.o
  CC      drivers/acpi/acpica/utexcep.o
  CC      drivers/cpuidle/cpuidle.o
  CC [M]  drivers/gpu/drm/ast/ast_mm.o
  CC      fs/dcache.o
  CC      drivers/ata/ata_piix.o
  CC      kernel/vhost_task.o
  CC [M]  drivers/net/usb/cdc_ncm.o
  CC      arch/x86/kernel/amd_nb.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC      net/ipv4/tcp_cubic.o
  CC [M]  drivers/gpu/drm/i915/i915_params.o
  CC      drivers/thermal/thermal_trip.o
  CC [M]  drivers/net/phy/smsc.o
  CC      net/ipv4/xfrm4_policy.o
  CC      drivers/usb/core/devio.o
  CC      net/ipv4/xfrm4_state.o
  CC      fs/inode.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC      net/ipv6/ip6_icmp.o
  CC      drivers/thermal/thermal_helpers.o
  CC      drivers/acpi/acpica/utdebug.o
  CC [M]  drivers/net/usb/r8153_ecm.o
  CC      net/ipv6/output_core.o
  CC [M]  drivers/md/persistent-data/dm-transaction-manager.o
  CC [M]  drivers/gpu/drm/i915/i915_pci.o
  CC      kernel/kcmp.o
  AR      drivers/cpuidle/governors/built-in.a
  CC [M]  drivers/gpu/drm/ast/ast_mode.o
  CC      drivers/cpuidle/driver.o
  CC      arch/x86/kernel/kvm.o
  CC [M]  drivers/i2c/i2c-mux.o
  CC      drivers/acpi/acpica/utdecode.o
  CC      net/ipv6/protocol.o
  CC [M]  drivers/gpu/drm/ast/ast_post.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/timer.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC      kernel/freezer.o
  CC [M]  drivers/net/vxlan/vxlan_multicast.o
  CC      drivers/thermal/thermal_hwmon.o
  CC      arch/x86/kernel/kvmclock.o
  CC      drivers/usb/host/xhci-hub.o
  CC [M]  drivers/gpu/drm/ast/ast_dp501.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC      drivers/cpuidle/governor.o
  CC      drivers/md/md-bitmap.o
  CC      drivers/opp/cpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gart.o
  CC      lib/refcount.o
  AR      drivers/ata/built-in.a
  CC [M]  drivers/net/macvlan.o
  CC      net/ipv6/ip6_offload.o
  CC [M]  drivers/gpu/drm/i915/i915_scatterlist.o
  CC      drivers/acpi/acpica/utdelete.o
  CC      net/ipv4/xfrm4_input.o
  CC [M]  drivers/md/persistent-data/dm-btree.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC      drivers/md/md-autodetect.o
  LD [M]  drivers/net/phy/aquantia.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.o
  AR      drivers/net/phy/built-in.a
  CC      drivers/cpuidle/sysfs.o
  CC      drivers/opp/debugfs.o
  CC [M]  drivers/md/persistent-data/dm-btree-remove.o
  CC      lib/rcuref.o
  CC      drivers/mmc/core/core.o
  CC [M]  fs/smb/client/ioctl.o
  CC      drivers/thermal/gov_fair_share.o
  CC      drivers/mmc/core/bus.o
  CC [M]  drivers/gpu/drm/i915/i915_suspend.o
  CC      lib/usercopy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_display.o
  CC      net/ipv4/xfrm4_output.o
  AR      drivers/i2c/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/vmm.o
  CC      drivers/cpufreq/freq_table.o
  CC      mm/sparse.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/user.o
  CC [M]  drivers/net/mii.o
  CC      mm/sparse-vmemmap.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/userc361.o
  CC      kernel/stacktrace.o
  CC      net/ipv4/xfrm4_protocol.o
  CC [M]  fs/smb/client/sess.o
  CC      drivers/acpi/acpica/uterror.o
  CC      fs/btrfs/locking.o
  LD [M]  drivers/net/usb/asix.o
  CC [M]  net/ipv4/ip_tunnel.o
  CC [M]  drivers/gpu/drm/ast/ast_dp.o
  CC      lib/errseq.o
  CC      drivers/cpuidle/poll_state.o
  CC      arch/x86/kernel/paravirt.o
  CC      drivers/thermal/gov_step_wise.o
  AR      drivers/opp/built-in.a
  CC      drivers/cpuidle/cpuidle-haltpoll.o
  CC [M]  drivers/md/persistent-data/dm-btree-spine.o
  CC      drivers/cpufreq/cpufreq_performance.o
  CC      lib/bucket_locks.o
  CC      fs/attr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.o
  CC      fs/bad_inode.o
  CC [M]  drivers/net/vxlan/vxlan_vnifilter.o
  CC [M]  drivers/gpu/drm/i915/i915_switcheroo.o
  CC      drivers/mmc/core/host.o
  CC      arch/x86/kernel/pvclock.o
  CC      drivers/acpi/acpica/uteval.o
  CC      drivers/mmc/core/mmc.o
  CC [M]  drivers/gpu/drm/i915/i915_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  AR      drivers/ufs/built-in.a
  CC      net/ipv6/tcpv6_offload.o
  AR      drivers/leds/trigger/built-in.a
  CC [M]  drivers/leds/trigger/ledtrig-audio.o
  CC      net/ipv6/exthdrs_offload.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.o
  CC      kernel/dma.o
  AR      drivers/firmware/arm_ffa/built-in.a
  AR      drivers/firmware/arm_scmi/built-in.a
  AR      drivers/firmware/broadcom/built-in.a
  CC      fs/file.o
  AR      drivers/firmware/cirrus/built-in.a
  AR      drivers/cpuidle/built-in.a
  CC      drivers/usb/core/notify.o
  AR      drivers/firmware/meson/built-in.a
  CC      fs/filesystems.o
  CC [M]  net/ipv4/udp_tunnel_core.o
  CC      drivers/thermal/gov_user_space.o
  CC      drivers/cpufreq/cpufreq_ondemand.o
  CC [M]  fs/smb/client/export.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/client.o
  CC [M]  net/ipv4/udp_tunnel_nic.o
  AR      drivers/firmware/imx/built-in.a
  CC [M]  fs/smb/client/unc.o
  CC      drivers/firmware/efi/libstub/efi-stub-helper.o
  AR      drivers/net/ethernet/fungible/built-in.a
  CC      drivers/mmc/host/sdhci.o
  CC      lib/generic-radix-tree.o
  CC      drivers/mmc/host/sdhci-pci-core.o
  CC      drivers/acpi/acpica/utglobal.o
  CC      mm/mmu_notifier.o
  CC      net/ipv6/inet6_hashtables.o
  AR      drivers/leds/blink/built-in.a
  CC [M]  drivers/net/mdio.o
  AR      drivers/leds/simple/built-in.a
  CC      lib/string_helpers.o
  LD [M]  drivers/md/persistent-data/dm-persistent-data.o
  CC      drivers/leds/led-core.o
  CC      lib/hexdump.o
  CC [M]  drivers/net/vxlan/vxlan_mdb.o
  LD [M]  drivers/gpu/drm/ast/ast.o
  CC      drivers/usb/host/xhci-dbg.o
  CC [M]  drivers/gpu/drm/drm_aperture.o
  CC      fs/btrfs/orphan.o
  CC      arch/x86/kernel/pcspeaker.o
  CC [M]  fs/smb/client/winucase.o
  CC      drivers/acpi/processor_thermal.o
  CC      kernel/smp.o
  CC      kernel/uid16.o
  AR      drivers/thermal/built-in.a
  CC      fs/namespace.o
  CC      drivers/usb/host/xhci-trace.o
  CC [M]  drivers/net/tun.o
  CC      drivers/usb/core/generic.o
  CC      drivers/leds/led-class.o
  CC      drivers/leds/led-triggers.o
  CC [M]  drivers/net/veth.o
  CC      drivers/acpi/acpica/uthex.o
  CC      net/ipv6/mcast_snoop.o
  CC      kernel/kallsyms.o
  CC      fs/seq_file.o
  CC      kernel/acct.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC      arch/x86/kernel/check.o
  AR      drivers/net/ethernet/huawei/built-in.a
  CC      mm/ksm.o
  CC      drivers/cpufreq/cpufreq_governor.o
  CC [M]  drivers/gpu/drm/i915/i915_utils.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_main.o
  CC      drivers/firmware/efi/libstub/gop.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_hw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/engine.o
  CC [M]  drivers/gpu/drm/i915/intel_clock_gating.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC [M]  drivers/net/ethernet/intel/e1000e/82571.o
  CC      fs/btrfs/export.o
  AR      drivers/firmware/psci/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/igb_main.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_ethtool.o
  CC      lib/kstrtox.o
  CC      drivers/acpi/acpica/utids.o
  CC [M]  drivers/gpu/drm/i915/intel_device_info.o
  CC      drivers/usb/host/xhci-debugfs.o
  CC [M]  drivers/gpu/drm/drm_atomic.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ring.o
  CC      drivers/acpi/acpica/utinit.o
  CC      drivers/usb/core/quirks.o
  CC      drivers/usb/host/xhci-pci.o
  CC [M]  fs/smb/client/smb2ops.o
  CC      drivers/mmc/core/mmc_ops.o
  CC [M]  fs/smb/client/smb2maperror.o
  CC      drivers/mmc/core/sd.o
  CC      arch/x86/kernel/uprobes.o
  AR      drivers/leds/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  AR      drivers/crypto/stm32/built-in.a
  AR      drivers/crypto/xilinx/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/igb_ethtool.o
  AR      drivers/crypto/hisilicon/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/e1000_82575.o
  CC      drivers/cpufreq/cpufreq_governor_attr_set.o
  AR      drivers/crypto/intel/keembay/built-in.a
  CC      lib/debug_info.o
  AR      drivers/crypto/intel/ixp4xx/built-in.a
  AR      drivers/crypto/intel/built-in.a
  LD [M]  net/ipv4/udp_tunnel.o
  CC      drivers/firmware/efi/efi-bgrt.o
  AR      net/ipv4/built-in.a
  CC      drivers/firmware/efi/libstub/secureboot.o
  AR      drivers/crypto/starfive/built-in.a
  CC      drivers/acpi/acpica/utlock.o
  AR      drivers/crypto/built-in.a
  CC      drivers/firmware/efi/efi.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_param.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ich8lan.o
  CC [M]  drivers/gpu/drm/drm_atomic_uapi.o
  CC      lib/iomap.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/enum.o
  CC      lib/pci_iomap.o
  CC [M]  drivers/net/ethernet/intel/e1000e/80003es2lan.o
  CC [M]  net/ipv6/ip6_udp_tunnel.o
  CC [M]  drivers/net/ethernet/intel/e1000e/mac.o
  CC [M]  drivers/gpu/drm/drm_auth.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC      kernel/crash_core.o
  CC      drivers/usb/core/devices.o
  CC      drivers/acpi/acpica/utmath.o
  CC      fs/btrfs/tree-log.o
  CC      drivers/cpufreq/acpi-cpufreq.o
  CC      drivers/firmware/efi/vars.o
  CC      lib/iomap_copy.o
  CC      drivers/acpi/acpica/utmisc.o
  CC      drivers/firmware/efi/libstub/tpm.o
  CC [M]  drivers/gpu/drm/drm_blend.o
  CC      arch/x86/kernel/perf_regs.o
  AR      drivers/net/ethernet/i825xx/built-in.a
  LD [M]  drivers/net/vxlan/vxlan.o
  CC [M]  drivers/gpu/drm/drm_bridge.o
  CC      fs/xattr.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  AR      drivers/firmware/smccc/built-in.a
  CC [M]  drivers/gpu/drm/i915/intel_memory_region.o
  AR      drivers/firmware/tegra/built-in.a
  CC      arch/x86/kernel/tracepoint.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.o
  AR      drivers/firmware/xilinx/built-in.a
  CC      drivers/firmware/dmi_scan.o
  CC [M]  drivers/gpu/drm/drm_cache.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/event.o
  AR      drivers/net/ethernet/microsoft/built-in.a
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC      drivers/firmware/efi/libstub/file.o
  CC [M]  fs/smb/client/smb2transport.o
  CC [M]  drivers/gpu/drm/drm_client.o
  CC [M]  drivers/gpu/drm/drm_client_modeset.o
  AR      drivers/usb/host/built-in.a
  CC [M]  fs/smb/client/smb2misc.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  CC      drivers/firmware/dmi-sysfs.o
  CC      drivers/acpi/acpica/utmutex.o
  CC      drivers/firmware/dmi-id.o
  CC      drivers/mmc/core/sd_ops.o
  CC      drivers/usb/core/phy.o
  CC      kernel/compat.o
  CC      drivers/firmware/memmap.o
  CC      drivers/clocksource/acpi_pm.o
  CC      lib/devres.o
  CC      drivers/hid/usbhid/hid-core.o
  AR      net/ipv6/built-in.a
  CC      drivers/hid/hid-core.o
  AR      net/built-in.a
  CC      drivers/hid/usbhid/hiddev.o
  CC      lib/check_signature.o
  CC      lib/interval_tree.o
  CC      drivers/firmware/efi/libstub/mem.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_bios.o
  CC [M]  drivers/gpu/drm/i915/intel_pcode.o
  CC      arch/x86/kernel/itmt.o
  CC      lib/assoc_array.o
  CC [M]  drivers/gpu/drm/drm_color_mgmt.o
  CC      drivers/cpufreq/intel_pstate.o
  CC      drivers/clocksource/i8253.o
  AR      drivers/staging/media/built-in.a
  AR      drivers/staging/built-in.a
  CC      lib/list_debug.o
  CC      drivers/acpi/acpica/utnonansi.o
  CC      drivers/firmware/efi/libstub/random.o
  AR      drivers/platform/x86/amd/built-in.a
  AR      drivers/platform/surface/built-in.a
  CC      drivers/mmc/host/sdhci-pci-o2micro.o
  CC      drivers/platform/x86/intel/pmc/core.o
  CC      drivers/platform/x86/intel/pmc/core_ssram.o
  CC [M]  drivers/platform/x86/intel/pmt/class.o
  CC      drivers/platform/x86/p2sb.o
  CC      drivers/platform/x86/intel/pmc/spt.o
  CC      drivers/platform/x86/pmc_atom.o
  CC      drivers/platform/x86/intel/pmc/cnp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/firmware.o
  CC      drivers/platform/x86/intel/pmc/icl.o
  CC      drivers/acpi/acpica/utobject.o
  CC      arch/x86/kernel/umip.o
  CC      lib/debugobjects.o
  CC      drivers/mmc/core/sdio.o
  CC      drivers/usb/core/port.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC [M]  drivers/gpu/drm/drm_connector.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_main.o
  AR      drivers/clocksource/built-in.a
  CC [M]  drivers/platform/x86/wmi.o
  CC      drivers/md/dm-uevent.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_mac.o
  CC      kernel/utsname.o
  CC      drivers/platform/x86/intel/pmc/tgl.o
  CC      fs/libfs.o
  CC      kernel/user_namespace.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_mac.o
  CC      drivers/platform/x86/intel/pmc/adl.o
  CC      drivers/mailbox/mailbox.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_nvm.o
  CC [M]  drivers/gpu/drm/drm_crtc.o
  CC      drivers/platform/x86/intel/pmc/mtl.o
  CC      drivers/firmware/efi/libstub/randomalloc.o
  CC      drivers/devfreq/devfreq.o
  CC      drivers/platform/x86/intel/pmc/pltdrv.o
  CC      drivers/powercap/powercap_sys.o
  CC      mm/slub.o
  CC      drivers/powercap/intel_rapl_common.o
  CC      drivers/acpi/acpica/utosi.o
  CC      drivers/powercap/intel_rapl_msr.o
  CC [M]  drivers/platform/x86/intel/pmt/telemetry.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_i225.o
  CC      mm/migrate.o
  CC      lib/bitrev.o
  CC      drivers/acpi/acpica/utownerid.o
  CC [M]  drivers/devfreq/governor_simpleondemand.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.o
  LD [M]  drivers/net/ethernet/intel/e1000/e1000.o
  CC      arch/x86/kernel/unwind_orc.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_base.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_nvm.o
  CC [M]  drivers/net/ethernet/intel/e1000e/manage.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/gpuobj.o
  CC      drivers/md/dm.o
  CC      drivers/mmc/host/sdhci-pci-arasan.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/intr.o
  CC      drivers/usb/core/hcd-pci.o
  CC      lib/crc16.o
  AR      drivers/hid/usbhid/built-in.a
  CC      drivers/usb/core/usb-acpi.o
  CC [M]  drivers/gpu/drm/i915/intel_region_ttm.o
  CC      drivers/mailbox/pcc.o
  CC [M]  drivers/gpu/drm/i915/intel_runtime_pm.o
  CC [M]  drivers/net/ethernet/intel/e1000e/nvm.o
  CC      drivers/platform/x86/intel/turbo_max_3.o
  CC      drivers/acpi/acpica/utpredef.o
  CC      drivers/hid/hid-input.o
  CC [M]  drivers/devfreq/governor_performance.o
  CC      drivers/firmware/efi/libstub/pci.o
  CC [M]  drivers/net/ethernet/intel/igbvf/vf.o
  CC      drivers/mmc/core/sdio_ops.o
  AR      drivers/platform/x86/intel/pmc/built-in.a
  AR      drivers/net/ethernet/litex/built-in.a
  CC [M]  drivers/net/ethernet/intel/e1000e/phy.o
  AR      drivers/net/ethernet/microchip/built-in.a
  CC [M]  drivers/gpu/drm/i915/intel_sbi.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC      kernel/pid_namespace.o
  CC [M]  drivers/platform/x86/intel/pmt/crashlog.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC [M]  drivers/gpu/drm/i915/intel_step.o
  CC [M]  drivers/net/ethernet/intel/e1000e/param.o
  CC      lib/crc-t10dif.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_class.o
  CC      arch/x86/kernel/callthunks.o
  CC [M]  drivers/platform/x86/intel/vsec.o
  CC [M]  drivers/gpu/drm/drm_displayid.o
  CC [M]  drivers/gpu/drm/drm_drv.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_phy.o
  CC [M]  drivers/net/ethernet/intel/igbvf/mbx.o
  CC      drivers/acpi/acpica/utresdecode.o
  UPD     kernel/config_data
  CC      drivers/acpi/acpica/utresrc.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_diag.o
  CC [M]  drivers/gpu/drm/i915/intel_uncore.o
  CC [M]  fs/smb/client/smb2pdu.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle_sysfs.o
  CC      drivers/mmc/host/sdhci-pci-dwc-mshc.o
  AR      drivers/powercap/built-in.a
  CC      drivers/mmc/host/sdhci-pci-gli.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_dp.o
  AR      drivers/cpufreq/built-in.a
  CC      drivers/mmc/host/sdhci-acpi.o
  AR      drivers/mailbox/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ioctl.o
  CC      drivers/acpi/acpica/utstate.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_main.o
  AR      drivers/usb/core/built-in.a
  CC      drivers/acpi/acpica/utstring.o
  CC      drivers/firmware/efi/libstub/skip_spaces.o
  AR      drivers/usb/built-in.a
  HOSTCC  lib/gen_crc32table
  CC      drivers/acpi/acpica/utstrsuppt.o
  CC      drivers/mmc/core/sdio_bus.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_common.o
  CC      drivers/firmware/efi/libstub/lib-cmdline.o
  CC [M]  drivers/platform/x86/wmi-bmof.o
  CC      lib/libcrc32c.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_telemetry.o
  CC [M]  drivers/net/ethernet/intel/igbvf/ethtool.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_crashlog.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_mbx.o
  CC [M]  drivers/net/ethernet/intel/igbvf/netdev.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/memory.o
  CC      drivers/firmware/efi/libstub/lib-ctype.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_i210.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ethtool.o
  AR      drivers/devfreq/built-in.a
  CC [M]  drivers/net/ethernet/intel/e1000e/netdev.o
  CC      drivers/firmware/efi/libstub/alignedmem.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ptp.o
  CC      drivers/firmware/efi/reboot.o
  CC      kernel/stop_machine.o
  CC      drivers/firmware/efi/libstub/relocate.o
  CC [M]  drivers/platform/x86/intel/rst.o
  CC      arch/x86/kernel/cet.o
  CC      mm/memory-tiers.o
  CC      mm/migrate_device.o
  CC [M]  drivers/gpu/drm/i915/intel_wakeref.o
  CC      drivers/acpi/acpica/utstrtoul64.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_ptp.o
  CC      drivers/mmc/core/sdio_cis.o
  CC      drivers/mmc/core/sdio_io.o
  CC      drivers/mmc/host/cqhci-core.o
  CC      drivers/mmc/core/sdio_irq.o
  CC      arch/x86/kernel/mmconf-fam10h_64.o
  CC      arch/x86/kernel/vsmp_64.o
  CC      lib/xxhash.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC      fs/btrfs/free-space-cache.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.o
  CC [M]  drivers/platform/x86/mxm-wmi.o
  AR      drivers/net/ethernet/mscc/built-in.a
  CC [M]  drivers/net/ethernet/intel/igc/igc_ethtool.o
  CC      drivers/mmc/core/slot-gpio.o
  CC      drivers/acpi/acpica/utxface.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_ptp.o
  CC [M]  drivers/mmc/host/sdhci-pltfm.o
  CC [M]  drivers/platform/x86/intel_ips.o
  LD [M]  drivers/platform/x86/intel/intel_vsec.o
  CC      kernel/kprobes.o
  LD [M]  drivers/platform/x86/intel/intel-rst.o
  AR      drivers/platform/x86/intel/built-in.a
  CC      drivers/acpi/acpica/utxfinit.o
  CC      drivers/firmware/efi/libstub/printk.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/vf.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/mm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_afmt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/object.o
  AR      drivers/net/ethernet/intel/built-in.a
  CC [M]  drivers/net/ethernet/intel/e100.o
  CC      mm/huge_memory.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/oproxy.o
  CC      drivers/md/dm-table.o
  CC      lib/genalloc.o
  CC      kernel/hung_task.o
  CC      lib/percpu_counter.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/option.o
  CC      drivers/acpi/acpica/utxferror.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ramht.o
  AR      arch/x86/kernel/built-in.a
  CC [M]  drivers/net/ethernet/intel/ixgbevf/mbx.o
  CC      drivers/md/dm-target.o
  AR      arch/x86/built-in.a
  CC      mm/khugepaged.o
  CC      fs/fs-writeback.o
  CC      drivers/acpi/acpica/utxfmutex.o
  CC [M]  drivers/gpu/drm/i915/vlv_sideband.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ethtool.o
  CC      drivers/acpi/processor_idle.o
  CC      lib/fault-inject.o
  CC [M]  drivers/gpu/drm/i915/vlv_suspend.o
  CC      drivers/mmc/core/regulator.o
  CC      drivers/md/dm-linear.o
  AR      drivers/platform/x86/built-in.a
  CC      drivers/md/dm-stripe.o
  CC      drivers/firmware/efi/libstub/vsprintf.o
  CC      kernel/watchdog.o
  CC      kernel/watchdog_perf.o
  CC      drivers/hid/hid-quirks.o
  AR      drivers/acpi/acpica/built-in.a
  CC      fs/pnode.o
  AR      drivers/mmc/host/built-in.a
  CC      fs/splice.o
  AR      drivers/platform/built-in.a
  AR      drivers/perf/built-in.a
  CC      drivers/firmware/efi/libstub/x86-stub.o
  CC      drivers/mmc/core/debugfs.o
  CC      drivers/mmc/core/block.o
  CC [M]  fs/smb/client/smb2inode.o
  CC      drivers/hid/hid-debug.o
  CC      lib/syscall.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.o
  CC      fs/sync.o
  CC      fs/utimes.o
  CC      drivers/mmc/core/queue.o
  CC      drivers/md/dm-ioctl.o
  CC      mm/page_counter.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_hwmon.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC      drivers/firmware/efi/libstub/x86-5lvl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/subdev.o
  CC [M]  drivers/gpu/drm/drm_dumb_buffers.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_dump.o
  LD [M]  drivers/net/ethernet/intel/igbvf/igbvf.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.o
  CC      drivers/firmware/efi/memattr.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_82599.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_82598.o
  CC      lib/dynamic_debug.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/uevent.o
  CC [M]  drivers/gpu/drm/drm_edid.o
  CC      kernel/seccomp.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o
  CC      lib/errname.o
  CC      drivers/firmware/efi/tpm.o
  AR      drivers/net/ethernet/neterion/built-in.a
  CC      kernel/relay.o
  CC      drivers/acpi/processor_throttling.o
  CC      kernel/utsname_sysctl.o
  AR      drivers/net/ethernet/netronome/built-in.a
  CC      lib/nlattr.o
  AR      drivers/net/ethernet/ni/built-in.a
  AR      drivers/net/ethernet/packetengines/built-in.a
  CC      drivers/firmware/efi/memmap.o
  AR      drivers/net/ethernet/realtek/built-in.a
  CC      drivers/firmware/efi/esrt.o
  CC [M]  drivers/net/ethernet/realtek/8139cp.o
  CC      drivers/md/dm-io.o
  CC [M]  drivers/net/ethernet/realtek/8139too.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ipsec.o
  CC      drivers/md/dm-kcopyd.o
  CC      drivers/md/dm-sysfs.o
  STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
  STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
  CC [M]  drivers/gpu/drm/drm_encoder.o
  STUBCPY drivers/firmware/efi/libstub/file.stub.o
  CC      drivers/md/dm-stats.o
  STUBCPY drivers/firmware/efi/libstub/gop.stub.o
  STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_dram.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_tsn.o
  CC      drivers/firmware/efi/efi-pstore.o
  STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
  CC      drivers/firmware/efi/cper.o
  STUBCPY drivers/firmware/efi/libstub/mem.stub.o
  STUBCPY drivers/firmware/efi/libstub/pci.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  STUBCPY drivers/firmware/efi/libstub/printk.stub.o
  STUBCPY drivers/firmware/efi/libstub/random.stub.o
  CC      drivers/hid/hidraw.o
  STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
  STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_encoders.o
  STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
  STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sa.o
  STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
  STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
  STUBCPY drivers/firmware/efi/libstub/x86-5lvl.stub.o
  STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
  AR      drivers/firmware/efi/libstub/lib.a
  CC      drivers/firmware/efi/cper_cxl.o
  CC      drivers/md/dm-rq.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.o
  LD [M]  drivers/net/ethernet/intel/igb/igb.o
  CC      drivers/firmware/efi/runtime-wrappers.o
  CC      fs/d_path.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/fw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/hs.o
  CC      drivers/firmware/efi/dev-path-parser.o
  CC      drivers/firmware/efi/apple-properties.o
  CC      fs/stack.o
  CC      drivers/acpi/processor_perflib.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.o
  CC      fs/fs_struct.o
  CC      fs/btrfs/zlib.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_x540.o
  CC [M]  drivers/gpu/drm/drm_file.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_x550.o
  CC      lib/checksum.o
  CC      fs/btrfs/lzo.o
  CC      drivers/ras/ras.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_lib.o
  CC      drivers/ras/debugfs.o
  CC      mm/memcontrol.o
  CC      drivers/md/dm-io-rewind.o
  AR      drivers/mmc/core/built-in.a
  AR      drivers/mmc/built-in.a
  CC [M]  fs/smb/client/smb2file.o
  GEN     xe_wa_oob.c xe_wa_oob.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  AR      drivers/hwtracing/intel_th/built-in.a
  CC      drivers/firmware/efi/earlycon.o
  CC      drivers/android/binderfs.o
  CC      drivers/hid/hid-generic.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_xdp.o
  CC      drivers/android/binder.o
  CC      drivers/firmware/efi/cper-x86.o
  CC      lib/cpu_rmap.o
  CC      mm/vmpressure.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_i2c.o
  CC      fs/statfs.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_gmch.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_pch.o
  CC      drivers/md/dm-builtin.o
  CC      lib/dynamic_queue_limits.o
  CC [M]  drivers/md/dm-bufio.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/ls.o
  AR      drivers/nvmem/layouts/built-in.a
  CC      drivers/acpi/container.o
  CC      drivers/nvmem/core.o
  CC [M]  drivers/md/dm-bio-prison-v1.o
  CC      kernel/delayacct.o
  CC [M]  drivers/net/ethernet/realtek/r8169_main.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.o
  CC      mm/swap_cgroup.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.o
  CC      lib/glob.o
  CC      drivers/acpi/thermal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.o
  CC      mm/hugetlb_cgroup.o
  CC      fs/btrfs/zstd.o
  CC      lib/strncpy_from_user.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/acr.o
  CC [M]  drivers/md/dm-bio-prison-v2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/flcn.o
  LD [M]  drivers/net/ethernet/intel/e1000e/e1000e.o
  CC [M]  drivers/net/ethernet/realtek/r8169_firmware.o
  CC      drivers/hid/hid-a4tech.o
  AR      drivers/ras/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  AR      drivers/firmware/efi/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  AR      drivers/firmware/built-in.a
  CC [M]  drivers/gpu/drm/drm_fourcc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.o
  CC [M]  drivers/mtd/chips/chipreg.o
  CC [M]  drivers/uio/uio.o
  CC [M]  drivers/gpu/drm/drm_framebuffer.o
  CC      fs/fs_pin.o
  CC      fs/nsfs.o
  CC      fs/fs_types.o
  CC [M]  drivers/vfio/pci/vfio_pci_core.o
  CC      kernel/taskstats.o
  CC [M]  drivers/vfio/pci/vfio_pci_intrs.o
  CC [M]  drivers/gpu/drm/i915/i915_memcpy.o
  CC      fs/fs_context.o
  CC      fs/fs_parser.o
  LD [M]  drivers/net/ethernet/intel/igc/igc.o
  CC      fs/fsopen.o
  CC [M]  drivers/vfio/pci/vfio_pci_rdwr.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC      mm/kmemleak.o
  CC [M]  drivers/vfio/vfio_main.o
  CC      kernel/tsacct.o
  CC      kernel/tracepoint.o
  CC      lib/strnlen_user.o
  CC [M]  drivers/net/ethernet/realtek/r8169_phy_config.o
  CC [M]  drivers/pps/pps.o
  CC [M]  drivers/gpu/drm/drm_gem.o
  CC      kernel/latencytop.o
  CC [M]  drivers/gpu/drm/i915/i915_mm.o
  CC      drivers/android/binder_alloc.o
  CC [M]  fs/smb/client/cifsacl.o
  CC      drivers/acpi/acpi_memhotplug.o
  CC      fs/btrfs/compression.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC [M]  drivers/mtd/mtdcore.o
  CC [M]  fs/smb/client/fs_context.o
  CC      drivers/hid/hid-apple.o
  AR      drivers/nvmem/built-in.a
  CC [M]  drivers/mtd/mtdsuper.o
  AR      drivers/net/ethernet/renesas/built-in.a
  AR      drivers/net/ethernet/sfc/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC [M]  drivers/gpu/drm/drm_ioctl.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  LD [M]  drivers/net/ethernet/intel/ixgbevf/ixgbevf.o
  CC [M]  fs/smb/client/dns_resolve.o
  CC [M]  drivers/mtd/mtdconcat.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/base.o
  CC [M]  drivers/pps/kapi.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.o
  CC      fs/init.o
  CC      lib/net_utils.o
  CC [M]  drivers/bluetooth/btusb.o
  CC [M]  drivers/dca/dca-core.o
  CC [M]  drivers/bluetooth/btintel.o
  CC      lib/sg_pool.o
  CC [M]  drivers/ssb/main.o
  CC [M]  drivers/md/dm-crypt.o
  CC      drivers/acpi/ioapic.o
  CC [M]  drivers/ssb/scan.o
  CC      kernel/irq_work.o
  CC      mm/page_isolation.o
  CC [M]  drivers/vfio/pci/vfio_pci_config.o
  CC [M]  drivers/dca/dca-sysfs.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.o
  CC      mm/early_ioremap.o
  CC      lib/stackdepot.o
  CC [M]  drivers/ssb/sprom.o
  CC      drivers/acpi/battery.o
  CC [M]  drivers/mtd/mtdpart.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC [M]  drivers/pps/sysfs.o
  CC [M]  drivers/ssb/pci.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ib.o
  CC [M]  drivers/gpu/drm/i915/i915_sw_fence.o
  CC      drivers/hid/hid-belkin.o
  CC      lib/ucs2_string.o
  CC [M]  drivers/gpu/drm/drm_lease.o
  CC [M]  drivers/mtd/mtdchar.o
  CC [M]  drivers/bluetooth/btbcm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/cmdq.o
  CC [M]  drivers/bluetooth/btrtl.o
  CC [M]  drivers/gpu/drm/drm_managed.o
  CC      fs/kernel_read_file.o
  CC      fs/mnt_idmapping.o
  CC      kernel/static_call.o
  LD [M]  drivers/dca/dca.o
  LD [M]  drivers/pps/pps_core.o
  CC      drivers/acpi/hed.o
  CC [M]  drivers/vhost/net.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.o
  CC [M]  drivers/vhost/vhost.o
  CC      mm/cma.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/fw.o
  AR      drivers/net/ethernet/smsc/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/msgq.o
  CC [M]  drivers/net/ethernet/smsc/smsc9420.o
  CC [M]  drivers/vfio/pci/vfio_pci.o
  CC      mm/secretmem.o
  CC      kernel/static_call_inline.o
  CC      lib/sbitmap.o
  AR      drivers/net/ethernet/socionext/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC [M]  drivers/ssb/pcihost_wrapper.o
  CC [M]  drivers/gpu/drm/drm_mm.o
  CC [M]  drivers/gpu/drm/drm_mode_config.o
  CC [M]  drivers/ssb/driver_chipcommon.o
  CC [M]  drivers/vhost/iotlb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/qmgr.o
  CC      fs/remap_range.o
  CC      fs/btrfs/delayed-ref.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC      drivers/hid/hid-cherry.o
  CC      fs/buffer.o
  CC      lib/group_cpus.o
  CC      drivers/acpi/bgrt.o
  CC [M]  lib/asn1_decoder.o
  LD [M]  drivers/net/ethernet/realtek/r8169.o
  AR      drivers/net/ethernet/vertexcom/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  AR      drivers/net/ethernet/wangxun/built-in.a
  CC      drivers/acpi/cppc_acpi.o
  AR      drivers/net/ethernet/xilinx/built-in.a
  CC      drivers/hid/hid-chicony.o
  ASN.1   fs/smb/client/cifs_spnego_negtokeninit.asn1.[ch]
  CC      drivers/hid/hid-cypress.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.o
  CC [M]  drivers/gpu/drm/drm_mode_object.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.o
  LD [M]  drivers/vfio/pci/vfio-pci-core.o
  CC [M]  fs/smb/client/namespace.o
  CC      kernel/user-return-notifier.o
  LD [M]  drivers/vfio/pci/vfio-pci.o
  CC [M]  drivers/vfio/iova_bitmap.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_pll.o
  CC [M]  fs/smb/client/smb1ops.o
  CC      mm/userfaultfd.o
  LD [M]  drivers/mtd/mtd.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC [M]  fs/smb/client/cifssmb.o
  CC [M]  drivers/gpu/drm/i915/i915_sw_fence_work.o
  CC      drivers/hid/hid-ezkey.o
  CC [M]  drivers/ssb/driver_chipcommon_pmu.o
  CC [M]  drivers/vfio/group.o
  CC      kernel/padata.o
  CC [M]  drivers/vfio/container.o
  GEN     lib/oid_registry_data.c
  CC [M]  drivers/vfio/virqfd.o
  CC [M]  drivers/gpu/drm/i915/i915_syncmap.o
  CC      fs/btrfs/relocation.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/v1.o
  CC      drivers/acpi/spcr.o
  CC      kernel/jump_label.o
  CC [M]  lib/oid_registry.o
  CC [M]  drivers/ssb/driver_pcicore.o
  CC      drivers/hid/hid-kensington.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/gp102.o
  CC      fs/btrfs/delayed-inode.o
  CC      fs/mpage.o
  CC      fs/proc_namespace.o
  CC [M]  drivers/vfio/vfio_iommu_type1.o
  AR      drivers/net/ethernet/synopsys/built-in.a
  AR      drivers/net/ethernet/pensando/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC      drivers/hid/hid-lg.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC      mm/memremap.o
  CC      drivers/hid/hid-lg-g15.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC      fs/btrfs/scrub.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/ga100.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  AR      lib/lib.a
  GEN     lib/crc32table.h
  CC [M]  drivers/gpu/drm/drm_modes.o
  CC      lib/crc32.o
  CC [M]  fs/smb/client/cifs_spnego_negtokeninit.asn1.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/ga102.o
  CC [M]  fs/smb/client/asn1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.o
  CC      drivers/hid/hid-microsoft.o
  CC      drivers/acpi/acpi_pad.o
  CC      drivers/hid/hid-monterey.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.o
  CC      kernel/context_tracking.o
  CC      kernel/iomem.o
  CC      kernel/rseq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  LD [M]  drivers/vhost/vhost_net.o
  LD [M]  drivers/ssb/ssb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.o
  LD [M]  drivers/vhost/vhost_iotlb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm20b.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC [M]  drivers/gpu/drm/i915/i915_user_extensions.o
  CC [M]  drivers/md/dm-thin.o
  CC      fs/btrfs/backref.o
  CC      fs/direct-io.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sync.o
  AR      drivers/android/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_ioc32.o
  CC [M]  drivers/gpu/drm/i915/i915_debugfs.o
  AR      lib/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_debugfs_params.o
  CC      mm/hmm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.o
  LD [M]  drivers/net/ethernet/intel/ixgbe/ixgbe.o
  CC      mm/memfd.o
  CC      mm/bootmem_info.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp108.o
  CC      fs/eventpoll.o
  AR      drivers/net/ethernet/built-in.a
  GZIP    kernel/config_data.gz
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_debugfs.o
  CC      kernel/configs.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
  CC [M]  drivers/md/dm-thin-metadata.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gv100.o
  AR      drivers/net/built-in.a
  CC [M]  drivers/gpu/drm/drm_modeset_lock.o
  CC [M]  drivers/gpu/drm/drm_plane.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pipe_crc.o
  LD [M]  drivers/vfio/vfio.o
  AR      drivers/hid/built-in.a
  CC      fs/btrfs/ulist.o
  CC      fs/btrfs/qgroup.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC [M]  drivers/acpi/acpi_video.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp10b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/ga100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/ga102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.o
  CC      fs/anon_inodes.o
  CC      fs/signalfd.o
  AR      kernel/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.o
  CC [M]  drivers/gpu/drm/i915/i915_pmu.o
  CC [M]  drivers/gpu/drm/drm_prime.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.o
  CC [M]  drivers/acpi/video_detect.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.o
  CC      fs/timerfd.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/g84.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.o
  CC [M]  drivers/gpu/drm/i915/gt/gen2_engine_cs.o
  CC      fs/btrfs/send.o
  CC      fs/eventfd.o
  AR      mm/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sched.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_engine_cs.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.o
  CC      fs/userfaultfd.o
  CC      fs/aio.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/drm_print.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gk20a.o
  CC      fs/btrfs/dev-replace.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gm107.o
  CC [M]  drivers/gpu/drm/drm_property.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gm20b.o
  LD [M]  drivers/md/dm-bio-prison.o
  CC      fs/btrfs/raid56.o
  AR      drivers/md/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/tu102.o
  CC      fs/locks.o
  CC [M]  drivers/gpu/drm/drm_syncobj.o
  CC      fs/binfmt_script.o
  CC      fs/btrfs/uuid-tree.o
  CC [M]  drivers/gpu/drm/drm_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC      fs/binfmt_elf.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_ppgtt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ids.o
  AR      drivers/acpi/built-in.a
  CC      fs/compat_binfmt_elf.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC [M]  drivers/gpu/drm/drm_trace_points.o
  LD [M]  drivers/acpi/video.o
  CC [M]  drivers/gpu/drm/drm_vblank.o
  CC      fs/mbcache.o
  CC [M]  drivers/gpu/drm/drm_vblank_work.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.o
  LD [M]  drivers/md/dm-thin-pool.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.o
  CC [M]  drivers/gpu/drm/i915/gt/gen7_renderclear.o
  CC      fs/btrfs/props.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/bit.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/boost.o
  CC      fs/posix_acl.o
  CC      fs/btrfs/free-space-tree.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/conn.o
  CC      fs/coredump.o
  CC      fs/drop_caches.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/cstep.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_csa.o
  CC      fs/btrfs/tree-checker.o
  CC      fs/sysctls.o
  CC [M]  drivers/gpu/drm/drm_vma_manager.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_engine_cs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/disp.o
  LD [M]  fs/smb/client/cifs.o
  CC [M]  drivers/gpu/drm/drm_writeback.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_ppgtt.o
  CC      fs/fhandle.o
  CC [M]  drivers/gpu/drm/lib/drm_random.o
  CC [M]  drivers/gpu/drm/drm_ioc32.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/drm_panel.o
  CC [M]  drivers/gpu/drm/drm_pci.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.o
  CC [M]  drivers/gpu/drm/drm_debugfs.o
  CC      fs/btrfs/space-info.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC [M]  drivers/gpu/drm/drm_debugfs_crc.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/extdev.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.o
  CC [M]  drivers/gpu/drm/drm_edid_load.o
  CC      fs/btrfs/block-rsv.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_context.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_context_sseu.o
  CC [M]  drivers/gpu/drm/drm_panel_orientation_quirks.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.o
  CC      fs/btrfs/delalloc-space.o
  CC [M]  drivers/gpu/drm/drm_exec.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/gpio.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_umc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.o
  CC [M]  drivers/gpu/drm/drm_buddy.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC [M]  drivers/gpu/drm/drm_gem_shmem_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/gpu/drm/drm_suballoc.o
  CC [M]  drivers/gpu/drm/drm_gem_ttm_helper.o
  CC      fs/btrfs/block-group.o
  CC      fs/btrfs/discard.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_rap.o
  CC [M]  drivers/gpu/drm/drm_atomic_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fw_attestation.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/iccsense.o
  CC [M]  drivers/gpu/drm/drm_atomic_state_helper.o
  CC [M]  drivers/gpu/drm/drm_bridge_connector.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_cs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/image.o
  CC [M]  drivers/gpu/drm/drm_crtc_helper.o
  CC [M]  drivers/gpu/drm/drm_damage_helper.o
  CC      fs/btrfs/reflink.o
  CC      fs/btrfs/subpage.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_securedisplay.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_eeprom.o
  CC [M]  drivers/gpu/drm/drm_encoder_slave.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_user.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/npde.o
  CC      fs/btrfs/tree-mod-log.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mca.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.o
  CC [M]  drivers/gpu/drm/drm_flip_work.o
  CC [M]  drivers/gpu/drm/drm_format_helper.o
  CC [M]  drivers/gpu/drm/drm_gem_atomic_helper.o
  CC [M]  drivers/gpu/drm/drm_gem_framebuffer_helper.o
  CC [M]  drivers/gpu/drm/drm_kms_helper_common.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_execlists_submission.o
  CC [M]  drivers/gpu/drm/drm_modeset_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt.o
  CC [M]  drivers/gpu/drm/drm_plane_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC      fs/btrfs/extent-io-tree.o
  CC [M]  drivers/gpu/drm/drm_probe_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pcir.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_lsdma.o
  CC      fs/btrfs/fs.o
  CC [M]  drivers/gpu/drm/drm_rect.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ring_mux.o
  CC      fs/btrfs/messages.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.o
  CC [M]  drivers/gpu/drm/drm_self_refresh_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC      fs/btrfs/bio.o
  CC      fs/btrfs/lru_cache.o
  CC [M]  drivers/gpu/drm/drm_simple_kms_helper.o
  CC [M]  drivers/gpu/drm/bridge/panel.o
  CC [M]  drivers/gpu/drm/drm_fbdev_generic.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.o
  CC [M]  drivers/gpu/drm/drm_fb_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pmu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik.o
  CC      fs/btrfs/acl.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/power_budget.o
  LD [M]  drivers/gpu/drm/drm.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  LD [M]  drivers/gpu/drm/drm_shmem_helper.o
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.o
  LD [M]  drivers/gpu/drm/drm_ttm_helper.o
  AR      drivers/gpu/drm/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik_ih.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v8_0.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v7_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik_sdma.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_mcr.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_vm_madvise.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v4_2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_requests.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v2_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v6_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v6_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si_ih.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC [M]  drivers/gpu/drm/xe/xe_display.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gtt.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_llc.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_lrc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si_dma.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_migrate.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowramin.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_mocs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ppgtt.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_rc6.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_region_lmem.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_renderstate.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowrom.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_reset.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ring.o
  LD [M]  drivers/gpu/drm/drm_kms_helper.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ring_submission.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v6_0.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_rps.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/timing.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.o
  AR      fs/btrfs/built-in.a
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  AR      fs/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v3_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/volt.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sa_media.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sseu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_vi.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/vpstate.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v6_1.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/soc15.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/emu_soc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_ai.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/xpio.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega10_reg_init.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0203.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0205.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_timeline.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega20_reg_init.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0209.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/P0260.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv04.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_tlb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_4.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_wopcm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_workarounds.o
  CC [M]  drivers/gpu/drm/i915/gt/shmem_utils.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv31.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/i915/gt/sysfs_engines.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v2_3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nv.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/arct_reg_init.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv50.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/g94.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_nv.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v4_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv04.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_renderstate.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v5_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv40.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aldebaran_reg_init.o
  CC [M]  drivers/gpu/drm/i915/gt/gen7_renderstate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aldebaran.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv50.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_renderstate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/soc21.o
  CC [M]  drivers/gpu/drm/i915/gt/gen9_renderstate.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_busy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sienna_cichlid.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_clflush.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_context.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_create.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smu_v13_0_10.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_domain.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v4_3.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_internal.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_object.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v6_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_device.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_7.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v5_2.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/lsdma_v6_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_9.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v1_7.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v3_6.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v4_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gm20b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v7_0.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_lmem.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_mman.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_pages.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v8_0.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_phys.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllnv04.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllgt215.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_region.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_shmem.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v9_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_stolen.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv05.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_throttle.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_1.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_tiling.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v10_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv10.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv1a.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv20.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_userptr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_7.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_wait.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gemfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.o
  CC [M]  drivers/gpu/drm/i915/i915_active.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.o
  CC [M]  drivers/gpu/drm/i915/i915_cmd_parser.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.o
  CC [M]  drivers/gpu/drm/i915/i915_deps.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v11_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_evict.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_gtt.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_ww.o
  CC [M]  drivers/gpu/drm/i915/i915_gem.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.o
  CC [M]  drivers/gpu/drm/i915/i915_query.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/i915/i915_request.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_8.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_1.o
  CC [M]  drivers/gpu/drm/i915/i915_scheduler.o
  CC [M]  drivers/gpu/drm/i915/i915_trace_points.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_7.o
  CC [M]  drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC [M]  drivers/gpu/drm/i915/i915_vma.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v8_7.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.o
  CC [M]  drivers/gpu/drm/i915/i915_vma_resource.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v8_10.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ih.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_global_state.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/iceland_ih.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/tonga_ih.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm200.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gv100.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cz_ih.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/ga100.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega10_ih.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega20_ih.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/navi10_ih.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/ih_v6_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/user.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/ih_v6_1.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp10b.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gv100.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_link_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v3_1.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v10_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v11_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v11_0_8.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v12_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_panel.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v13_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v13_0_4.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v10_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v11_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_quirks.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_0.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gsc.o
  CC [M]  drivers/gpu/drm/i915/i915_hwmon.o
  CC [M]  drivers/gpu/drm/i915/display/hsw_ips.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_4.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_tc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v10_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/imu_v11_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vblank.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv1a.o
  CC [M]  drivers/gpu/drm/i915/display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/i915/display/intel_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv20.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC [M]  drivers/gpu/drm/i915/display/intel_bios.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v11_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv25.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_bw.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_wm.o
  CC [M]  drivers/gpu/drm/i915/display/intel_color.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/imu_v11_0_3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.o
  CC [M]  drivers/gpu/drm/i915/display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v2_4.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_scaler.o
  CC [M]  drivers/gpu/drm/i915/display/intel_connector.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v3_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crtc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv30.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v4_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv35.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cursor.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv36.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_watermark.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v4_4.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv41.o
  CC [M]  drivers/gpu/drm/xe/xe_pmu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v5_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_acpi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v5_2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v6_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_irq.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_opregion.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv44.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv46.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv47.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv49.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_reset.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_rps.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dmc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv4e.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  CC [M]  drivers/gpu/drm/i915/display/intel_dpio_phy.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mes.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_abi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mes_v10_1.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpll.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpll_mgr.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
  CC [M]  drivers/gpu/drm/i915/display/intel_dpt.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  CC [M]  drivers/gpu/drm/i915/display/intel_drrs.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
  CC [M]  drivers/gpu/drm/i915/display/intel_dsb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gt215.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mes_v11_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp77.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp89.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
  CC [M]  drivers/gpu/drm/i915/display/intel_fb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf108.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v5_0.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
  CC [M]  drivers/gpu/drm/i915/display/intel_fb_pin.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
  CC [M]  drivers/gpu/drm/i915/display/intel_fbc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fdi.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fifo_underrun.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk104.o
  CC [M]  drivers/gpu/drm/i915/display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v6_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v7_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vce.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v3_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v4_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_global_state.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm20b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_sw_ring.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
  CC [M]  drivers/gpu/drm/i915/display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v1_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hotplug_irq.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
  CC [M]  drivers/gpu/drm/i915/display/intel_hti.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp10b.o
  CC [M]  drivers/gpu/drm/i915/display/intel_link_bw.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v2_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v2_5.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v3_0.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
  CC [M]  drivers/gpu/drm/i915/display/intel_load_detect.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga102.o
  CC [M]  drivers/gpu/drm/i915/display/intel_lpe_audio.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v4_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_lock.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv04.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_setup.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv20.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.o
  HDRTEST drivers/gpu/drm/xe/instructions/xe_instr_defs.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv40.o
  CC [M]  drivers/gpu/drm/i915/display/intel_overlay.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv41.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv44.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.o
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_mi_commands.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gsc_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_guc_regs.h
  CC [M]  drivers/gpu/drm/i915/display/intel_pch_display.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pch_refclk.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_gt_regs.h
  CC [M]  drivers/gpu/drm/i915/display/intel_plane_initial.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv49.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v1_0.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_gpu_commands.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v2_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv4e.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_lrc_layout.h
  CC [M]  drivers/gpu/drm/i915/display/intel_psr.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgt215.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_engine_regs.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_test.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v2_1.o
  CC [M]  drivers/gpu/drm/i915/display/intel_quirks.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_pci_test.h
  CC [M]  drivers/gpu/drm/i915/display/intel_sprite.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_migrate_test.h
  CC [M]  drivers/gpu/drm/i915/display/intel_sprite_uapi.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
  CC [M]  drivers/gpu/drm/i915/display/intel_tc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vblank.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v3_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vga.o
  CC [M]  drivers/gpu/drm/i915/display/intel_wm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v9_0.o
  CC [M]  drivers/gpu/drm/i915/display/i9xx_plane.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/rammcp77.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf108.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.o
  CC [M]  drivers/gpu/drm/i915/display/i9xx_wm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm107.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_bo_test.h
  HDRTEST drivers/gpu/drm/xe/xe_assert.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v11_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v11_0_6.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v13_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v13_0_3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v13_0_6.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_reset.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mca_v3_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_module.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device.o
  CC [M]  drivers/gpu/drm/i915/display/skl_scaler.o
  CC [M]  drivers/gpu/drm/i915/display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_chardev.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_topology.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_pasid.o
  CC [M]  drivers/gpu/drm/i915/display/skl_watermark.o
  HDRTEST drivers/gpu/drm/xe/xe_bb.h
  CC [M]  drivers/gpu/drm/i915/display/intel_acpi.o
  CC [M]  drivers/gpu/drm/i915/display/intel_opregion.o
  HDRTEST drivers/gpu/drm/xe/xe_bb_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr3.o
  HDRTEST drivers/gpu/drm/xe/xe_bo.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_doorbell.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_flat_memory.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr5.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ch7017.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ch7xxx.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_queue.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_cik.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_vi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v9.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v11.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_kernel_queue.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_packet_manager.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_packet_manager_vi.o
  HDRTEST drivers/gpu/drm/xe/xe_bo_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_evict.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_types.h
  HDRTEST drivers/gpu/drm/xe/xe_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_packet_manager_v9.o
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process_queue_manager.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gm107.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ivch.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ns2501.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_cik.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_vi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv50.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_sil164.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_tfp410.o
  CC [M]  drivers/gpu/drm/i915/display/g4x_dp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v9.o
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v11.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/g94.o
  CC [M]  drivers/gpu/drm/i915/display/g4x_hdmi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/gf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_interrupt.o
  CC [M]  drivers/gpu/drm/i915/display/icl_dsi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/gk104.o
  CC [M]  drivers/gpu/drm/i915/display/intel_backlight.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_events.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/ga102.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/cik_event_interrupt.o
  CC [M]  drivers/gpu/drm/i915/display/intel_ddi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v10.o
  HDRTEST drivers/gpu/drm/xe/xe_device.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v11.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_smi_events.o
  CC [M]  drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_crat.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debug.o
  HDRTEST drivers/gpu/drm/xe/xe_device_sysfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.o
  HDRTEST drivers/gpu/drm/xe/xe_device_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_device.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gc_9_4_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv4e.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10_3.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v11.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.o
  HDRTEST drivers/gpu/drm/xe/xe_display.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv50.o
  HDRTEST drivers/gpu/drm/xe/xe_dma_buf.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gf117.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_job.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_acp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../acp/acp_hw.o
  HDRTEST drivers/gpu/drm/xe/xe_drm_client.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ioc32.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.o
  HDRTEST drivers/gpu/drm/xe/xe_drv.h
  HDRTEST drivers/gpu/drm/xe/xe_exec.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue.h
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/arcturus_ppt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gm200.o
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/sienna_cichlid_ppt.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/vangogh_ppt.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/cyan_skillfish_ppt.o
  HDRTEST drivers/gpu/drm/xe/xe_execlist.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist_types.h
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv4e.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu12/renoir_ppt.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu12/smu_v12_0.o
  HDRTEST drivers/gpu/drm/xe/xe_force_wake.h
  CC [M]  drivers/gpu/drm/i915/display/intel_dvo.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/aldebaran_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/yellow_carp_ppt.o
  HDRTEST drivers/gpu/drm/xe/xe_force_wake_types.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_4_ppt.o
  HDRTEST drivers/gpu/drm/xe/xe_ggtt_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_5_ppt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_7_ppt.o
  HDRTEST drivers/gpu/drm/xe/xe_gpu_scheduler.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm200.o
  CC [M]  drivers/gpu/drm/i915/display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_6_ppt.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/amdgpu_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu_cmn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv4e.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.o
  HDRTEST drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu8_smumgr.o
  HDRTEST drivers/gpu/drm/xe/xe_gsc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busgf119.o
  HDRTEST drivers/gpu/drm/xe/xe_gsc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt.h
  CC [M]  drivers/gpu/drm/i915/display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/tonga_smumgr.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_clock.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/fiji_smumgr.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_mcr.h
  CC [M]  drivers/gpu/drm/i915/display/intel_lvds.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_pagefault.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_printk.h
  CC [M]  drivers/gpu/drm/i915/display/intel_panel.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs.h
  CC [M]  drivers/gpu/drm/i915/display/intel_pps.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs_types.h
  CC [M]  drivers/gpu/drm/i915/display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bit.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_sdvo.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.o
  CC [M]  drivers/gpu/drm/i915/display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/i915/display/intel_tv.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vrr.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
  CC [M]  drivers/gpu/drm/i915/display/vlv_dsi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vega10_smumgr.o
  CC [M]  drivers/gpu/drm/i915/display/vlv_dsi_pll.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu10_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/gf100.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_topology.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/ci_smumgr.o
  CC [M]  drivers/gpu/drm/i915/i915_perf.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vega12_smumgr.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc.h
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vegam_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu9_smumgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vega20_smumgr.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_cmd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/hwmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/processpptables.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/hardwaremanager.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv04.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu8_hwmgr.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pppcielanes.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/process_pptables_v1_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_log.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomfwctrl.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_log_types.h
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_irq.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_powertune.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_pm.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gk104.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_session.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_thermal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_clockpowergating.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_hwmgr.o
  CC [M]  drivers/gpu/drm/i915/i915_gpu_error.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp102.o
  CC [M]  drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.o
  CC [M]  drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_powertune.o
  CC [M]  drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_thermal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu10_hwmgr.o
  CC [M]  drivers/gpu/drm/i915/selftests/i915_random.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pp_psm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp10b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_processpptables.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_hwmgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.o
  HDRTEST drivers/gpu/drm/xe/xe_heci_gsc.h
  CC [M]  drivers/gpu/drm/i915/selftests/i915_selftest.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv11.o
  HDRTEST drivers/gpu/drm/xe/xe_huc.h
  CC [M]  drivers/gpu/drm/i915/selftests/igt_atomic.o
  HDRTEST drivers/gpu/drm/xe/xe_huc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv17.o
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_thermal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pp_overdriver.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_flush_test.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv44.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu_helper.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_live_test.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv50.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_mmap.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_processpptables.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_hwmgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_powertune.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/g84.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_reset.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_thermal.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_spinner.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/g98.o
  CC [M]  drivers/gpu/drm/i915/selftests/librapl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gt215.o
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/common_baco.o
  CC [M]  drivers/gpu/drm/i915/i915_vgpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu9_baco.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/tonga_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp10b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/ga100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.o
  HDRTEST drivers/gpu/drm/i915/display/intel_crtc_state_dump.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hwmon.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/polaris_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.o
  HDRTEST drivers/gpu/drm/i915/display/hsw_ips.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/fiji_baco.o
  HDRTEST drivers/gpu/drm/i915/display/g4x_hdmi.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hdcp_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv41.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ci_baco.o
  HDRTEST drivers/gpu/drm/i915/display/intel_overlay.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display.h
  HDRTEST drivers/gpu/drm/i915/display/skl_watermark_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv44.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dmc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/g84.o
  HDRTEST drivers/gpu/drm/i915/display/intel_vga.h
  HDRTEST drivers/gpu/drm/i915/display/intel_audio.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/mcp77.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_baco.o
  HDRTEST drivers/gpu/drm/xe/xe_irq.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_lvds.h
  HDRTEST drivers/gpu/drm/i915/display/intel_modeset_setup.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_cdclk.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/amd_powerplay.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_limits.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gf100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hotplug.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dkl_phy.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/legacy_dpm.o
  HDRTEST drivers/gpu/drm/i915/display/intel_atomic.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/kv_dpm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/kv_smc.o
  HDRTEST drivers/gpu/drm/xe/xe_macros.h
  HDRTEST drivers/gpu/drm/i915/display/intel_color_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm20b.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_driver.h
  HDRTEST drivers/gpu/drm/xe/xe_map.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/si_dpm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/si_smc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gp100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dpll.h
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_pll_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_mst.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm_internal.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fdi_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gp10b.o
  HDRTEST drivers/gpu/drm/i915/display/g4x_dp.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.o
  HDRTEST drivers/gpu/drm/i915/display/intel_tc.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate_doc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_params.h
  HDRTEST drivers/gpu/drm/i915/display/intel_frontbuffer.h
  HDRTEST drivers/gpu/drm/xe/xe_mmio.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi_vbt.h
  HDRTEST drivers/gpu/drm/xe/xe_mocs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_psr.h
  HDRTEST drivers/gpu/drm/xe/xe_module.h
  HDRTEST drivers/gpu/drm/i915/display/intel_crt.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_crtc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/tu102.o
  HDRTEST drivers/gpu/drm/xe/xe_pat.h
  HDRTEST drivers/gpu/drm/i915/display/intel_opregion.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/mem.o
  HDRTEST drivers/gpu/drm/xe/xe_pci_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode_api.h
  HDRTEST drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_platform_types.h
  HDRTEST drivers/gpu/drm/i915/display/i9xx_wm.h
  HDRTEST drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_pm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memnv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memnv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_irq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memgf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_mst_types.o
  HDRTEST drivers/gpu/drm/xe/xe_pmu.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_color.o
  HDRTEST drivers/gpu/drm/xe/xe_pmu_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_global_state.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/dc_fpu.o
  HDRTEST drivers/gpu/drm/i915/display/intel_lpe_audio.h
  HDRTEST drivers/gpu/drm/i915/display/intel_drrs.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_services.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_rps.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_helpers.o
  HDRTEST drivers/gpu/drm/xe/xe_pt.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_pp_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_psr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_replay.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv41.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fbdev.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_hdcp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv44.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_crc.o
  HDRTEST drivers/gpu/drm/i915/display/intel_pps_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_walk.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv50.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hdmi.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fdi.h
  HDRTEST drivers/gpu/drm/xe/xe_query.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmmcp77.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgf100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fb.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgk104.o
  HDRTEST drivers/gpu/drm/i915/display/intel_qp_tables.h
  HDRTEST drivers/gpu/drm/xe/xe_range_fence.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/conversion.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/fixpt31_32.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsb_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_vdsc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/vector.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm200.o
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm20b.o
  HDRTEST drivers/gpu/drm/i915/display/intel_snps_phy.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_whitelist.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/dc_common.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_core.h
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_pll.h
  HDRTEST drivers/gpu/drm/xe/xe_res_cursor.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.o
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo_dev.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hdcp.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser.o
  HDRTEST drivers/gpu/drm/xe/xe_sa.h
  HDRTEST drivers/gpu/drm/i915/display/intel_sdvo_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_sa_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp10b.o
  HDRTEST drivers/gpu/drm/xe/xe_sched_job.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_interface.o
  HDRTEST drivers/gpu/drm/xe/xe_sched_job_types.h
  HDRTEST drivers/gpu/drm/xe/xe_step.h
  HDRTEST drivers/gpu/drm/i915/display/intel_pch_refclk.h
  HDRTEST drivers/gpu/drm/i915/display/intel_modeset_lock.h
  HDRTEST drivers/gpu/drm/xe/xe_step_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgv100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_trace.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_common.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_aux_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.o
  HDRTEST drivers/gpu/drm/xe/xe_sync.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table_helper2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.o
  HDRTEST drivers/gpu/drm/xe/xe_sync_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/umem.o
  HDRTEST drivers/gpu/drm/xe/xe_tile.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.o
  HDRTEST drivers/gpu/drm/xe/xe_tile_sysfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.o
  HDRTEST drivers/gpu/drm/i915/display/i9xx_plane.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce60/command_table_helper_dce60.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce80/command_table_helper_dce80.o
  HDRTEST drivers/gpu/drm/xe/xe_tile_sysfs_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce110/command_table_helper_dce110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce112/command_table_helper_dce112.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_aux_backlight.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dpll_mgr.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.o
  HDRTEST drivers/gpu/drm/xe/xe_trace.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce112/command_table_helper2_dce112.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.o
  HDRTEST drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dce_calcs.o
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/custom_float.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.o
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/bw_fixed.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_lib.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/pcie.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_rq_dlg_helpers.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn10/dcn10_fpu.o
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_plane_initial.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/dcn20_fpu.o
  HDRTEST drivers/gpu/drm/xe/xe_tuning.h
  HDRTEST drivers/gpu/drm/xe/xe_uc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_vba.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv40.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv46.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20v2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_rq_dlg_calc_21.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_device.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv4c.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_mode_vba_21.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/g92.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/g94.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fifo_underrun.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_vm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/dcn30_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_mode_vba_30.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gf106.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_rq_dlg_calc_30.o
  HDRTEST drivers/gpu/drm/xe/xe_vm_doc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_cursor.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gp100.o
  HDRTEST drivers/gpu/drm/xe/xe_vm_madvise.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.o
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_cx0_phy.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.o
  HDRTEST drivers/gpu/drm/xe/xe_vm_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gt215.o
  HDRTEST drivers/gpu/drm/i915/display/skl_scaler.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/display_mode_vba_31.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/display_rq_dlg_calc_31.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hti.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/display_mode_vba_314.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/display_rq_dlg_calc_314.o
  HDRTEST drivers/gpu/drm/i915/display/icl_dsi_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_wa.h
  HDRTEST drivers/gpu/drm/xe/xe_wait_user_fence.h
  HDRTEST drivers/gpu/drm/i915/display/intel_atomic_plane.h
  HDRTEST drivers/gpu/drm/i915/display/skl_watermark.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_32.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fbc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_util_32.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_reg_defs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk104.o
  HDRTEST drivers/gpu/drm/i915/display/intel_acpi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/dcn31_fpu.o
  HDRTEST drivers/gpu/drm/i915/display/intel_connector.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/dcn32_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn321/dcn321_fpu.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dpt.h
  HDRTEST drivers/gpu/drm/i915/display/intel_quirks.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_link_training.h
  HDRTEST drivers/gpu/drm/i915/display/intel_color.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn301/dcn301_fpu.o
  HDRTEST drivers/gpu/drm/i915/display/intel_crtc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_debugfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk208.o
  HDRTEST drivers/gpu/drm/xe/xe_wopcm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.o
  HDRTEST drivers/gpu/drm/xe/xe_wopcm_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm107.o
  HDRTEST drivers/gpu/drm/i915/display/intel_modeset_verify.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn302/dcn302_fpu.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power_well.h
  HDRTEST drivers/gpu/drm/i915/display/intel_psr_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.o
  HDRTEST drivers/gpu/drm/i915/display/intel_wm.h
  HDRTEST drivers/gpu/drm/i915/display/intel_pipe_crc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.o
  HDRTEST drivers/gpu/drm/i915/display/intel_audio_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.o
  HDRTEST drivers/gpu/drm/i915/display/intel_panel.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn303/dcn303_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/dcn314_fpu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calcs.o
  HDRTEST drivers/gpu/drm/i915/display/intel_sprite.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_math.o
  HDRTEST drivers/gpu/drm/i915/display/intel_wm_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gf117.o
  HDRTEST drivers/gpu/drm/i915/display/intel_tv.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hti_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce60/dce60_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/display/intel_vrr.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce100/dce_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce110/dce110_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/display/intel_load_detect.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce112/dce112_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/display/skl_universal_plane.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce120/dce120_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fan.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn10/rv1_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fannil.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn10/rv1_clk_mgr_vbios_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn10/rv2_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/display/intel_mg_phy_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn20/dcn20_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fanpwm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn21/rn_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/display/intel_bw.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fantog.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr_smu_msg.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn301/vg_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn301/dcn301_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn31/dcn31_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn314/dcn314_smu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gt215.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn314/dcn314_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn315/dcn315_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn315/dcn315_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_smu.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_irq.h
  HDRTEST drivers/gpu/drm/i915/display/intel_de.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn32/dcn32_clk_mgr_smu_msg.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_audio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_stream_encoder.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv40.o
  HDRTEST drivers/gpu/drm/i915/display/intel_lvds_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_link_encoder.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv41.o
  HDRTEST drivers/gpu/drm/i915/display/intel_gmbus_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/top/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_hwseq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_mem_input.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_clock_source.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_scl_filters.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/top/ga100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_transform.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_opp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_dmcu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_abm.o
  HDRTEST drivers/gpu/drm/i915/display/intel_sdvo.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/uvfn.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_aux.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_ipp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.o
  HDRTEST drivers/gpu/drm/i915/display/intel_vdsc_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_combo_phy.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/ga100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_gmbus.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gpio.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_psr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_abm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_abm_lcd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_panel_cntl.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hdcp_gsc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gf117.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_hw_lock_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gm20b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/falcon.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/xtensa.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_outbox.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_replay.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dmc_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/hw_factory.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/hw_gpio.o
  HDRTEST drivers/gpu/drm/i915/display/intel_ddi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/hw_hpd.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hotplug_irq.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/hw_ddc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/hw_generic.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gm107.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gm200.o
  HDRTEST drivers/gpu/drm/i915/display/intel_tv_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gp100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsb.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/hw_translate.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gp102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce60/hw_translate_dce60.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce60/hw_factory_dce60.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce80/hw_translate_dce80.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce80/hw_factory_dce80.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gv100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_bios.h
  HDRTEST drivers/gpu/drm/i915/display/intel_pch_display.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce110/hw_translate_dce110.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce110/hw_factory_dce110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/ga100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce120/hw_translate_dce120.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce120/hw_factory_dce120.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/cipher/g84.o
  HDRTEST drivers/gpu/drm/i915/display/intel_backlight.h
  HDRTEST drivers/gpu/drm/i915/display/intel_vblank.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn10/hw_translate_dcn10.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn10/hw_factory_dcn10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn20/hw_translate_dcn20.o
  HDRTEST drivers/gpu/drm/i915/display/intel_pmdemand.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/ctrl.o
  HDRTEST drivers/gpu/drm/i915/display/intel_backlight_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/pci.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn20/hw_factory_dcn20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_reset.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/user.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power_map.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn21/hw_translate_dcn21.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn21/hw_factory_dcn21.o
  HDRTEST drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_wa.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn30/hw_translate_dcn30.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn30/hw_factory_dcn30.o
  HDRTEST drivers/gpu/drm/i915/display/icl_dsi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/chan.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn315/hw_translate_dcn315.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn315/hw_factory_dcn315.o
  HDRTEST drivers/gpu/drm/i915/display/intel_lspcon.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn32/hw_translate_dcn32.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dpio_phy.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/head.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn32/hw_factory_dcn32.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/irq_service.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dce60/irq_service_dce60.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dce80/irq_service_dce80.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_hdcp.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dce110/irq_service_dce110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/vga.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dce120/irq_service_dce120.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn10/irq_service_dcn10.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fb_pin.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn20/irq_service_dcn20.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn21/irq_service_dcn21.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_debugfs_params.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn201/irq_service_dcn201.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.o
  HDRTEST drivers/gpu/drm/i915/display/intel_link_bw.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn30/irq_service_dcn30.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp77.o
  HDRTEST drivers/gpu/drm/i915/display/intel_pps.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn302/irq_service_dcn302.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn303/irq_service_dcn303.o
  HDRTEST drivers/gpu/drm/i915/display/intel_sprite_uapi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn31/irq_service_dcn31.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn314/irq_service_dcn314.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn315/irq_service_dcn315.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp89.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn32/irq_service_dcn32.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_detection.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_region.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_dpms.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_context_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_factory.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_resource.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_validation.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gp102.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_lmem.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/accessories/link_dp_trace.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_mman.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/tu102.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_object_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/accessories/link_dp_cts.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/accessories/link_fpga.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_dio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/udisp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uconn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_dpia.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uhead.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_hpo_dp.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_context.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_dio_fixed_vs_pe_retimer.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_hpo_fixed_vs_pe_retimer_dp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_hpd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_ddc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dpcd.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_clflush.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_tiling.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_dpia.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/nv50.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_stolen.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gf100.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_8b_10b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_128b_132b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_dpia.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_create.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/user.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv50.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ioctls.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_auxless.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_fixed_vs_pe_retimer.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_phy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_capability.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_domain.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usergf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usergf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usergv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/cgrp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/chan.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_edp_panel_control.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_internal.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_dmabuf.h
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_context.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_irq_handler.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_dpia_bw.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/virtual/virtual_link_encoder.o
  HDRTEST drivers/gpu/drm/i915/gem/selftests/huge_gem_object.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/runl.o
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_gem_object.h
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.h
  HDRTEST drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/virtual/virtual_stream_encoder.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/runq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/virtual/virtual_link_hwss.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_userptr.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_pm.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_shrinker.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gemfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv17.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/rc_calc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_object.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/rc_calc_dpi.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_timeline_types.h
  HDRTEST drivers/gpu/drm/i915/gt/selftest_engine.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/g98.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_resource.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_breadcrumbs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_init.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_hwseq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp_cm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_hubp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_mpc.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_opp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm200.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_context_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_execlists_submission.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_hubbub.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_pm.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_optc.o
  HDRTEST drivers/gpu/drm/i915/gt/selftest_rc6.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_llc_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_mmhubbub.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_stream_encoder.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/ga100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_link_encoder.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_region_lmem.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dccg.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_requests.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_vmid.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/ucgrp.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dwb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dwb_scl.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_print.h
  HDRTEST drivers/gpu/drm/i915/gt/gen8_ppgtt.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dsc.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_mcr.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/uchan.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/base.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_timeline.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_init.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_resource.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv04.o
  HDRTEST drivers/gpu/drm/i915/gt/gen6_engine_cs.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_ipp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv15.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_workarounds_types.h
  HDRTEST drivers/gpu/drm/i915/gt/selftest_rps.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_sa_media.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_hw_sequencer.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv17.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv25.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_hw_sequencer_debug.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_dpp.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_rps_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_opp.o
  HDRTEST drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.h
  HDRTEST drivers/gpu/drm/i915/gt/sysfs_engines.h
  HDRTEST drivers/gpu/drm/i915/gt/gen7_renderclear.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv2a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_optc.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_context.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_hubp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv30.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_wopcm.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_mocs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv34.o
  CC [M]  drivers/gpu/drm/amd



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

* [Intel-xe] ✗ CI.Hooks: failure for GSC FW loading (rev2)
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (14 preceding siblings ...)
  2023-11-15  0:58 ` [Intel-xe] ✓ CI.Build: " Patchwork
@ 2023-11-15  0:58 ` Patchwork
  2023-11-15  0:59 ` [Intel-xe] ✓ CI.checksparse: success " Patchwork
  2023-11-15  1:34 ` [Intel-xe] ✓ CI.BAT: " Patchwork
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2023-11-15  0:58 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

== Series Details ==

Series: GSC FW loading (rev2)
URL   : https://patchwork.freedesktop.org/series/125717/
State : failure

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ pwd
+ ls -la
/workspace
total 976
drwxrwxr-x 12 1003 1003   4096 Nov 15 00:58 .
drwxr-xr-x  1 root root   4096 Nov 15 00:58 ..
-rw-rw-r--  1 1003 1003 798942 Nov 15 00:58 build.log
-rw-rw-r--  1 1003 1003   5077 Nov 15 00:49 checkpatch.log
drwxrwxr-x  5 1003 1003   4096 Nov 15 00:47 ci
drwxrwxr-x  9 1003 1003   4096 Nov 15 00:47 docker
drwxrwxr-x  8 1003 1003   4096 Nov 15 00:47 .git
-rw-rw-r--  1 1003 1003    817 Nov 15 00:49 git_apply.log
drwxrwxr-x  4 1003 1003   4096 Nov 15 00:47 .github
-rw-rw-r--  1 1003 1003    233 Nov 15 00:47 .groovylintrc.json
-rw-rw-r--  1 1003 1003     78 Nov 15 00:58 hooks.log
drwxrwxr-x 31 1003 1003   4096 Nov 15 00:58 kernel
-rw-rw-r--  1 1003 1003  83759 Nov 15 00:49 kernel.mbox
-rw-rw-r--  1 1003 1003  28749 Nov 15 00:50 kunit.log
-rw-rw-r--  1 1003 1003     48 Nov 15 00:49 parent.tag
drwxrwxr-x 44 1003 1003   4096 Nov 15 00:47 pipelines
-rw-rw-r--  1 1003 1003    793 Nov 15 00:47 README.adoc
drwxrwxr-x  3 1003 1003   4096 Nov 15 00:47 scripts
drwxrwxr-x  3 1003 1003   4096 Nov 15 00:47 src
drwxrwxr-x  2 1003 1003   4096 Nov 15 00:47 vars
drwxrwxr-x  2 1003 1003   4096 Nov 15 00:47 .vscode
+ uname -a
Linux ac9f0086d707 5.4.0-164-generic #181-Ubuntu SMP Fri Sep 1 13:41:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
+ '[' -n /workspace ']'
+ git_args='-C /workspace/kernel'
+ git_log_args=
+ git --no-pager -C /workspace/kernel log --format=oneline --abbrev-commit
ece468c77 drm/xe/gsc: Define GSC FW for MTL
4cc218572 drm/xe/gsc: Define GSCCS for MTL
283cc31c6 drm/xe/gsc: Query GSC compatibility version
ae90c4c6c drm/xe/gsc: Add an interface for GSC packet submissions
943e088cb drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
cba67de99 drm/xe/gsc: Implement WA 14015076503
a564cf109 drm/xe/gsc: GSC FW load
520065416 drm/xe/gsc: Parse GSC FW header
9002444b3 drm/xe/gsc: Introduce GSC FW
7fe6aa44a drm/xe/uc: Rework uC version tracking
cd8503741 fixup! drm/xe/guc: Report submission version of GuC firmware
2fe82053d drm/xe/display: Add writing of remapped dpt
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
+ grep -q -e '^CONFIG_DRM_XE_DISPLAY=[yY]' /workspace/kernel/build64-default/.config
+ RESTORE_DISPLAY_CONFIG=1
+ trap cleanup EXIT
+ ./scripts/config --file /workspace/kernel/build64-default/.config --disable CONFIG_DRM_XE_DISPLAY
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile
  GEN     Makefile
  UPD     include/config/kernel.release
  UPD     include/generated/compile.h
  UPD     include/generated/utsrelease.h
  DESCEND objtool
  HOSTCC  /workspace/kernel/build64-default/tools/objtool/fixdep.o
  CALL    ../scripts/checksyscalls.sh
  HOSTLD  /workspace/kernel/build64-default/tools/objtool/fixdep-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/fixdep
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64-default/tools/objtool/weak.o
  CC      /workspace/kernel/build64-default/tools/objtool/check.o
  CC      /workspace/kernel/build64-default/tools/objtool/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64-default/tools/objtool/elf.o
  CC      /workspace/kernel/build64-default/tools/objtool/objtool.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64-default/tools/objtool/libstring.o
  CC      /workspace/kernel/build64-default/tools/objtool/libctype.o
  CC      /workspace/kernel/build64-default/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
  LD      /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default M=drivers/gpu/drm/xe W=1
make[1]: Entering directory '/workspace/kernel/build64-default'
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
../drivers/gpu/drm/xe/xe_gsc_submit.c:139: warning: Function parameter or member 'gsc' not described in 'xe_gsc_pkt_submit_kernel'
../drivers/gpu/drm/xe/xe_gsc_submit.c:139: warning: Excess function parameter 'xe' description in 'xe_gsc_pkt_submit_kernel'
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC [M]  drivers/gpu/drm/xe/xe_vm_madvise.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC [M]  drivers/gpu/drm/xe/xe_pmu.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_instr_defs.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.o
  HDRTEST drivers/gpu/drm/xe/instructions/xe_mi_commands.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gsc_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_guc_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gt_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gpu_commands.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_lrc_layout.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_engine_regs.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_pci_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_migrate_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_bo_test.h
  HDRTEST drivers/gpu/drm/xe/xe_assert.h
  HDRTEST drivers/gpu/drm/xe/xe_bb.h
  HDRTEST drivers/gpu/drm/xe/xe_bb_types.h
  HDRTEST drivers/gpu/drm/xe/xe_bo.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_evict.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_types.h
  HDRTEST drivers/gpu/drm/xe/xe_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump_types.h
  HDRTEST drivers/gpu/drm/xe/xe_device.h
  HDRTEST drivers/gpu/drm/xe/xe_device_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_device_types.h
  HDRTEST drivers/gpu/drm/xe/xe_dma_buf.h
  HDRTEST drivers/gpu/drm/xe/xe_drm_client.h
  HDRTEST drivers/gpu/drm/xe/xe_drv.h
  HDRTEST drivers/gpu/drm/xe/xe_exec.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist_types.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake_types.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gpu_scheduler.h
  HDRTEST drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_clock.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_mcr.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_pagefault.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_printk.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_topology.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_heci_gsc.h
  HDRTEST drivers/gpu/drm/xe/xe_huc.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hwmon.h
  HDRTEST drivers/gpu/drm/xe/xe_irq.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_macros.h
  HDRTEST drivers/gpu/drm/xe/xe_map.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_mmio.h
  HDRTEST drivers/gpu/drm/xe/xe_mocs.h
  HDRTEST drivers/gpu/drm/xe/xe_module.h
  HDRTEST drivers/gpu/drm/xe/xe_pat.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.h
  HDRTEST drivers/gpu/drm/xe/xe_pci_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode_api.h
  HDRTEST drivers/gpu/drm/xe/xe_platform_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pm.h
  HDRTEST drivers/gpu/drm/xe/xe_pmu.h
  HDRTEST drivers/gpu/drm/xe/xe_pmu_types.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_walk.h
  HDRTEST drivers/gpu/drm/xe/xe_query.h
  HDRTEST drivers/gpu/drm/xe/xe_range_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_whitelist.h
  HDRTEST drivers/gpu/drm/xe/xe_res_cursor.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops_types.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sa.h
  HDRTEST drivers/gpu/drm/xe/xe_sa_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job_types.h
  HDRTEST drivers/gpu/drm/xe/xe_step.h
  HDRTEST drivers/gpu/drm/xe/xe_step_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sync.h
  HDRTEST drivers/gpu/drm/xe/xe_sync_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tile.h
  HDRTEST drivers/gpu/drm/xe/xe_tile_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_tile_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_trace.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tuning.h
  HDRTEST drivers/gpu/drm/xe/xe_uc.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_abi.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_types.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_vm.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_madvise.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_types.h
  HDRTEST drivers/gpu/drm/xe/xe_wa.h
  HDRTEST drivers/gpu/drm/xe/xe_wait_user_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm_types.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  MODPOST drivers/gpu/drm/xe/Module.symvers
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_bo_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_migrate_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_pci_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_rtp_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_wa_test.o
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.mod.o
  LD [M]  drivers/gpu/drm/xe/xe.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_bo_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_wa_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_pci_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.ko
make[1]: Leaving directory '/workspace/kernel/build64-default'
+ cleanup
+ '[' 1 -eq 1 ']'
+ ./scripts/config --file /workspace/kernel/build64-default/.config --enable CONFIG_DRM_XE_DISPLAY
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
drivers/gpu/drm/xe/xe_gsc_submit.c:140: warning: Function parameter or member 'gsc' not described in 'xe_gsc_pkt_submit_kernel'
drivers/gpu/drm/xe/xe_gsc_submit.c:140: warning: Excess function parameter 'xe' description in 'xe_gsc_pkt_submit_kernel'
drivers/gpu/drm/xe/xe_uc_fw_types.h:72: warning: Function parameter or member 'major' not described in 'xe_uc_fw_version'
drivers/gpu/drm/xe/xe_uc_fw_types.h:72: warning: Function parameter or member 'minor' not described in 'xe_uc_fw_version'
drivers/gpu/drm/xe/xe_uc_fw_types.h:72: warning: Function parameter or member 'patch' not described in 'xe_uc_fw_version'
drivers/gpu/drm/xe/xe_uc_fw_types.h:72: warning: Function parameter or member 'build' not described in 'xe_uc_fw_version'
6 warnings as Errors
run-parts: /workspace/ci/hooks/20-kernel-doc exited with return code 123



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

* [Intel-xe] ✓ CI.checksparse: success for GSC FW loading (rev2)
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (15 preceding siblings ...)
  2023-11-15  0:58 ` [Intel-xe] ✗ CI.Hooks: failure " Patchwork
@ 2023-11-15  0:59 ` Patchwork
  2023-11-15  1:34 ` [Intel-xe] ✓ CI.BAT: " Patchwork
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2023-11-15  0:59 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

== Series Details ==

Series: GSC FW loading (rev2)
URL   : https://patchwork.freedesktop.org/series/125717/
State : success

== Summary ==

+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast 2fe82053d916d09ffcc92bc27294c9eed4e4804b
Sparse version: 0.6.1 (Ubuntu: 0.6.1-2build1)
Fast mode used, each commit won't be checked separately.
Okay!

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



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

* [Intel-xe] ✓ CI.BAT: success for GSC FW loading (rev2)
  2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
                   ` (16 preceding siblings ...)
  2023-11-15  0:59 ` [Intel-xe] ✓ CI.checksparse: success " Patchwork
@ 2023-11-15  1:34 ` Patchwork
  17 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2023-11-15  1:34 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

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

== Series Details ==

Series: GSC FW loading (rev2)
URL   : https://patchwork.freedesktop.org/series/125717/
State : success

== Summary ==

CI Bug Log - changes from xe-490-2fe82053d916d09ffcc92bc27294c9eed4e4804b_BAT -> xe-pw-125717v2_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (4 -> 4)
------------------------------

  No changes in participating hosts

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

  Here are the changes found in xe-pw-125717v2_BAT that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@kms_flip@basic-flip-vs-wf_vblank@c-dp3:
    - bat-dg2-oem2:       [FAIL][1] -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-490-2fe82053d916d09ffcc92bc27294c9eed4e4804b/bat-dg2-oem2/igt@kms_flip@basic-flip-vs-wf_vblank@c-dp3.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-125717v2/bat-dg2-oem2/igt@kms_flip@basic-flip-vs-wf_vblank@c-dp3.html

  * igt@kms_flip@basic-flip-vs-wf_vblank@d-dp3:
    - bat-dg2-oem2:       [FAIL][3] ([Intel XE#906]) -> [PASS][4] +1 other test pass
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-490-2fe82053d916d09ffcc92bc27294c9eed4e4804b/bat-dg2-oem2/igt@kms_flip@basic-flip-vs-wf_vblank@d-dp3.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-125717v2/bat-dg2-oem2/igt@kms_flip@basic-flip-vs-wf_vblank@d-dp3.html

  * {igt@xe_create@create-execqueues-leak}:
    - bat-atsm-2:         [FAIL][5] ([Intel XE#524]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-490-2fe82053d916d09ffcc92bc27294c9eed4e4804b/bat-atsm-2/igt@xe_create@create-execqueues-leak.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-125717v2/bat-atsm-2/igt@xe_create@create-execqueues-leak.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [Intel XE#524]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/524
  [Intel XE#906]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/906


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

  * Linux: xe-490-2fe82053d916d09ffcc92bc27294c9eed4e4804b -> xe-pw-125717v2

  IGT_7588: 328c5873b8f061267fdf86ed32cb5ecc611ba081 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-490-2fe82053d916d09ffcc92bc27294c9eed4e4804b: 2fe82053d916d09ffcc92bc27294c9eed4e4804b
  xe-pw-125717v2: 125717v2

== Logs ==

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

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

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

* Re: [Intel-xe] [PATCH v2 01/11] fixup! drm/xe/guc: Report submission version of GuC firmware
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 01/11] fixup! drm/xe/guc: Report submission version of GuC firmware Daniele Ceraolo Spurio
@ 2023-11-16 22:31   ` John Harrison
  0 siblings, 0 replies; 28+ messages in thread
From: John Harrison @ 2023-11-16 22:31 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, intel-xe

On 11/14/2023 16:46, Daniele Ceraolo Spurio wrote:
> Major GuC versions greater than 70 will have the submission version in
> the herader irrespective of their minor version number.
herader

John.

>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_uc_fw.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index 3032c4f148d4..91d4a2272ee7 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -278,7 +278,7 @@ static void guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_header *css)
>   	xe_gt_assert(gt, uc_fw->type == XE_UC_FW_TYPE_GUC);
>   	xe_gt_assert(gt, uc_fw->major_ver_found >= 70);
>   
> -	if (uc_fw->minor_ver_found >= 6) {
> +	if (uc_fw->major_ver_found > 70 || uc_fw->minor_ver_found >= 6) {
>   		/* v70.6.0 adds CSS header support */
>   		guc->submission_state.version.major =
>   			FIELD_GET(CSS_SW_VERSION_UC_MAJOR,


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

* Re: [Intel-xe] [PATCH v2 02/11] drm/xe/uc: Rework uC version tracking
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 02/11] drm/xe/uc: Rework uC version tracking Daniele Ceraolo Spurio
@ 2023-11-16 22:38   ` John Harrison
  0 siblings, 0 replies; 28+ messages in thread
From: John Harrison @ 2023-11-16 22:38 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, intel-xe

On 11/14/2023 16:46, Daniele Ceraolo Spurio wrote:
> The GSC firmware, support for which is coming soon for Xe, has both a
> release version (updated on every release) and a compatibility version
> (update only on interface changes). The GuC has something similar, with
> a global release version and a submission version (which is also known
> as the VF compatibility version). The main difference is that for the
> GuC we still want to check the driver requirement against the release
> version, while for the GSC we'll need to check against the compatibility
> version.
> Instead of special casing the GSC, this patch reworks the FW logic so
> that we store both versions at the uc_fw level for all binaries and we
> allow checking against either of the versions. Initially, we'll use it
> to support GSC, but the logic could be re-used to allow VFs to check
> against the GuC compatibility version.
> Note that the GSC version has 4 numbers (major, minor, hotfix, build),
> so support for that has been added as part of the rework and will be
> used in follow-up patches.
>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

> ---
>   drivers/gpu/drm/xe/xe_guc_types.h   |   9 --
>   drivers/gpu/drm/xe/xe_uc_fw.c       | 141 +++++++++++++++++-----------
>   drivers/gpu/drm/xe/xe_uc_fw_types.h |  35 +++++--
>   3 files changed, 110 insertions(+), 75 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc_types.h b/drivers/gpu/drm/xe/xe_guc_types.h
> index 0fdcc05dc16a..cd80802e8918 100644
> --- a/drivers/gpu/drm/xe/xe_guc_types.h
> +++ b/drivers/gpu/drm/xe/xe_guc_types.h
> @@ -52,15 +52,6 @@ struct xe_guc {
>   			/** @seqno: suspend fences seqno */
>   			u32 seqno;
>   		} suspend;
> -		/** @version: submission version */
> -		struct {
> -			/** @major: major version of GuC submission */
> -			u32 major;
> -			/** @minor: minor version of GuC submission */
> -			u32 minor;
> -			/** @patch: patch version of GuC submission */
> -			u32 patch;
> -		} version;
>   #ifdef CONFIG_PROVE_LOCKING
>   #define NUM_SUBMIT_WQ	256
>   		/** @submit_wq_pool: submission ordered workqueues pool */
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index 91d4a2272ee7..9205a3ecff78 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -204,9 +204,12 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
>   	for (i = 0; i < count && p <= entries[i].platform; i++) {
>   		if (p == entries[i].platform) {
>   			uc_fw->path = entries[i].path;
> -			uc_fw->major_ver_wanted = entries[i].major;
> -			uc_fw->minor_ver_wanted = entries[i].minor;
> +			uc_fw->versions.wanted.major = entries[i].major;
> +			uc_fw->versions.wanted.minor = entries[i].minor;
>   			uc_fw->full_ver_required = entries[i].full_ver_required;
> +
> +			/* compatibility version checking coming soon */
> +			uc_fw->versions.wanted_type = XE_UC_FW_VER_RELEASE;
>   			break;
>   		}
>   	}
> @@ -273,32 +276,30 @@ static void uc_fw_fini(struct drm_device *drm, void *arg)
>   static void guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_header *css)
>   {
>   	struct xe_gt *gt = uc_fw_to_gt(uc_fw);
> -	struct xe_guc *guc = &gt->uc.guc;
> +	struct xe_uc_fw_version *release = &uc_fw->versions.found[XE_UC_FW_VER_RELEASE];
> +	struct xe_uc_fw_version *compatibility = &uc_fw->versions.found[XE_UC_FW_VER_COMPATIBILITY];
>   
>   	xe_gt_assert(gt, uc_fw->type == XE_UC_FW_TYPE_GUC);
> -	xe_gt_assert(gt, uc_fw->major_ver_found >= 70);
> +	xe_gt_assert(gt, release->major >= 70);
>   
> -	if (uc_fw->major_ver_found > 70 || uc_fw->minor_ver_found >= 6) {
> +	if (release->major > 70 || release->minor >= 6) {
>   		/* v70.6.0 adds CSS header support */
> -		guc->submission_state.version.major =
> -			FIELD_GET(CSS_SW_VERSION_UC_MAJOR,
> -				  css->submission_version);
> -		guc->submission_state.version.minor =
> -			FIELD_GET(CSS_SW_VERSION_UC_MINOR,
> -				  css->submission_version);
> -		guc->submission_state.version.patch =
> -			FIELD_GET(CSS_SW_VERSION_UC_PATCH,
> -				  css->submission_version);
> -	} else if (uc_fw->minor_ver_found >= 3) {
> +		compatibility->major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR,
> +						 css->submission_version);
> +		compatibility->minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR,
> +						 css->submission_version);
> +		compatibility->patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH,
> +						 css->submission_version);
> +	} else if (release->minor >= 3) {
>   		/* v70.3.0 introduced v1.1.0 */
> -		guc->submission_state.version.major = 1;
> -		guc->submission_state.version.minor = 1;
> -		guc->submission_state.version.patch = 0;
> +		compatibility->major = 1;
> +		compatibility->minor = 1;
> +		compatibility->patch = 0;
>   	} else {
>   		/* v70.0.0 introduced v1.0.0 */
> -		guc->submission_state.version.major = 1;
> -		guc->submission_state.version.minor = 0;
> -		guc->submission_state.version.patch = 0;
> +		compatibility->major = 1;
> +		compatibility->minor = 0;
> +		compatibility->patch = 0;
>   	}
>   
>   	uc_fw->private_data_size = css->private_data_size;
> @@ -307,30 +308,31 @@ static void guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_header *css)
>   static int 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 *found = &uc_fw->versions.found[uc_fw->versions.wanted_type];
>   
>   	/* Driver has no requirement on any version, any is good. */
> -	if (!uc_fw->major_ver_wanted)
> +	if (!wanted->major)
>   		return 0;
>   
>   	/*
>   	 * If full version is required, both major and minor should match.
>   	 * Otherwise, at least the major version.
>   	 */
> -	if (uc_fw->major_ver_wanted != uc_fw->major_ver_found ||
> -	    (uc_fw->full_ver_required &&
> -	     uc_fw->minor_ver_wanted != uc_fw->minor_ver_found)) {
> +	if (wanted->major != found->major ||
> +	    (uc_fw->full_ver_required && wanted->minor != found->minor)) {
>   		drm_notice(&xe->drm, "%s firmware %s: unexpected version: %u.%u != %u.%u\n",
>   			   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
> -			   uc_fw->major_ver_found, uc_fw->minor_ver_found,
> -			   uc_fw->major_ver_wanted, uc_fw->minor_ver_wanted);
> +			   found->major, found->minor,
> +			   wanted->major, wanted->minor);
>   		goto fail;
>   	}
>   
> -	if (uc_fw->minor_ver_wanted > uc_fw->minor_ver_found) {
> +	if (wanted->minor > found->minor) {
>   		drm_notice(&xe->drm, "%s firmware (%u.%u) is recommended, but only (%u.%u) was found in %s\n",
>   			   xe_uc_fw_type_repr(uc_fw->type),
> -			   uc_fw->major_ver_wanted, uc_fw->minor_ver_wanted,
> -			   uc_fw->major_ver_found, uc_fw->minor_ver_found,
> +			   wanted->major, wanted->minor,
> +			   found->major, found->minor,
>   			   uc_fw->path);
>   		drm_info(&xe->drm, "Consider updating your linux-firmware pkg or downloading from %s\n",
>   			 XE_UC_FIRMWARE_URL);
> @@ -349,6 +351,7 @@ static int uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
>   static int parse_css_header(struct xe_uc_fw *uc_fw, const void *fw_data, size_t fw_size)
>   {
>   	struct xe_device *xe = uc_fw_to_xe(uc_fw);
> +	struct xe_uc_fw_version *release = &uc_fw->versions.found[XE_UC_FW_VER_RELEASE];
>   	struct uc_css_header *css;
>   	size_t size;
>   
> @@ -390,12 +393,9 @@ static int parse_css_header(struct xe_uc_fw *uc_fw, const void *fw_data, size_t
>   	}
>   
>   	/* Get version numbers from the CSS header */
> -	uc_fw->major_ver_found = FIELD_GET(CSS_SW_VERSION_UC_MAJOR,
> -					   css->sw_version);
> -	uc_fw->minor_ver_found = FIELD_GET(CSS_SW_VERSION_UC_MINOR,
> -					   css->sw_version);
> -	uc_fw->patch_ver_found = FIELD_GET(CSS_SW_VERSION_UC_PATCH,
> -					   css->sw_version);
> +	release->major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, css->sw_version);
> +	release->minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, css->sw_version);
> +	release->patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, css->sw_version);
>   
>   	if (uc_fw->type == XE_UC_FW_TYPE_GUC)
>   		guc_read_css_info(uc_fw, css);
> @@ -431,6 +431,7 @@ static int parse_cpd_header(struct xe_uc_fw *uc_fw, const void *data, size_t siz
>   	struct xe_gt *gt = uc_fw_to_gt(uc_fw);
>   	struct xe_device *xe = gt_to_xe(gt);
>   	const struct gsc_cpd_header_v2 *header = data;
> +	struct xe_uc_fw_version *release = &uc_fw->versions.found[XE_UC_FW_VER_RELEASE];
>   	const struct gsc_manifest_header *manifest;
>   	size_t min_size = sizeof(*header);
>   	u32 offset;
> @@ -468,9 +469,9 @@ static int parse_cpd_header(struct xe_uc_fw *uc_fw, const void *data, size_t siz
>   
>   	manifest = data + offset;
>   
> -	uc_fw->major_ver_found = manifest->fw_version.major;
> -	uc_fw->minor_ver_found = manifest->fw_version.minor;
> -	uc_fw->patch_ver_found = manifest->fw_version.hotfix;
> +	release->major = manifest->fw_version.major;
> +	release->minor = manifest->fw_version.minor;
> +	release->patch = manifest->fw_version.hotfix;
>   
>   	/* then optionally look for the css header */
>   	if (css_entry) {
> @@ -524,12 +525,25 @@ static int parse_headers(struct xe_uc_fw *uc_fw, const struct firmware *fw)
>   	return 0;
>   }
>   
> +#define print_uc_fw_version(p_, version_, prefix_, ...) \
> +do { \
> +	struct xe_uc_fw_version *ver_ = (version_); \
> +	if (ver_->build) \
> +		drm_printf(p_, prefix_ " version %u.%u.%u.%u\n", ##__VA_ARGS__, \
> +			   ver_->major, ver_->minor, \
> +			   ver_->patch, ver_->build); \
> +	else \
> +		drm_printf(p_, prefix_ " version %u.%u.%u\n", ##__VA_ARGS__, \
> +			  ver_->major, ver_->minor, ver_->patch); \
> +} while (0)
> +
>   int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
>   {
>   	struct xe_device *xe = uc_fw_to_xe(uc_fw);
>   	struct xe_gt *gt = uc_fw_to_gt(uc_fw);
>   	struct xe_tile *tile = gt_to_tile(gt);
>   	struct device *dev = xe->drm.dev;
> +	struct drm_printer p = drm_info_printer(dev);
>   	const struct firmware *fw = NULL;
>   	struct xe_bo *obj;
>   	int err;
> @@ -567,9 +581,10 @@ int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
>   	if (err)
>   		goto fail;
>   
> -	drm_info(&xe->drm, "Using %s firmware from %s version %u.%u.%u\n",
> -		 xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
> -		 uc_fw->major_ver_found, uc_fw->minor_ver_found, uc_fw->patch_ver_found);
> +	print_uc_fw_version(&p,
> +			    &uc_fw->versions.found[XE_UC_FW_VER_RELEASE],
> +			    "Using %s firmware from %s",
> +			    xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
>   
>   	err = uc_fw_check_version_requirements(uc_fw);
>   	if (err)
> @@ -686,26 +701,40 @@ int xe_uc_fw_upload(struct xe_uc_fw *uc_fw, u32 offset, u32 dma_flags)
>   	return err;
>   }
>   
> +static const char *version_type_repr(enum xe_uc_fw_version_types type)
> +{
> +	switch (type) {
> +	case XE_UC_FW_VER_RELEASE:
> +		return "release";
> +	case XE_UC_FW_VER_COMPATIBILITY:
> +		return "compatibility";
> +	default:
> +		return "Unknown version type";
> +	}
> +}
>   
>   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, "\tstatus: %s\n",
>   		   xe_uc_fw_status_repr(uc_fw->status));
> -	drm_printf(p, "\tversion: wanted %u.%u, found %u.%u.%u\n",
> -		   uc_fw->major_ver_wanted, uc_fw->minor_ver_wanted,
> -		   uc_fw->major_ver_found, uc_fw->minor_ver_found, uc_fw->patch_ver_found);
> -	drm_printf(p, "\tuCode: %u bytes\n", uc_fw->ucode_size);
> -	drm_printf(p, "\tRSA: %u bytes\n", uc_fw->rsa_size);
> -
> -	if (uc_fw->type == XE_UC_FW_TYPE_GUC) {
> -		struct xe_gt *gt = uc_fw_to_gt(uc_fw);
> -		struct xe_guc *guc = &gt->uc.guc;
> -
> -		drm_printf(p, "\tSubmit version: %u.%u.%u\n",
> -			   guc->submission_state.version.major,
> -			   guc->submission_state.version.minor,
> -			   guc->submission_state.version.patch);
> +
> +	print_uc_fw_version(p, &uc_fw->versions.wanted, "\twanted %s",
> +			    version_type_repr(uc_fw->versions.wanted_type));
> +
> +	for (i = 0; i < XE_UC_FW_VER_TYPE_COUNT; i++) {
> +		struct xe_uc_fw_version *ver = &uc_fw->versions.found[i];
> +
> +		if (ver->major)
> +			print_uc_fw_version(p, ver, "\tfound %s",
> +					    version_type_repr(i));
>   	}
> +
> +	if (uc_fw->ucode_size)
> +		drm_printf(p, "\tuCode: %u bytes\n", uc_fw->ucode_size);
> +	if (uc_fw->rsa_size)
> +		drm_printf(p, "\tRSA: %u bytes\n", uc_fw->rsa_size);
>   }
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw_types.h b/drivers/gpu/drm/xe/xe_uc_fw_types.h
> index 1650599303c8..e4774c560e67 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw_types.h
> +++ b/drivers/gpu/drm/xe/xe_uc_fw_types.h
> @@ -59,6 +59,22 @@ enum xe_uc_fw_type {
>   };
>   #define XE_UC_FW_NUM_TYPES 2
>   
> +/**
> + * struct xe_uc_fw_version - Version for XE micro controller firmware
> + */
> +struct xe_uc_fw_version {
> +	u16 major;
> +	u16 minor;
> +	u16 patch;
> +	u16 build;
> +};
> +
> +enum xe_uc_fw_version_types {
> +	XE_UC_FW_VER_RELEASE,
> +	XE_UC_FW_VER_COMPATIBILITY,
> +	XE_UC_FW_VER_TYPE_COUNT
> +};
> +
>   /**
>    * struct xe_uc_fw - XE micro controller firmware
>    */
> @@ -98,16 +114,15 @@ struct xe_uc_fw {
>   	 * version required per platform.
>   	 */
>   
> -	/** @major_ver_wanted: major firmware version wanted by platform */
> -	u16 major_ver_wanted;
> -	/** @minor_ver_wanted: minor firmware version wanted by platform */
> -	u16 minor_ver_wanted;
> -	/** @major_ver_found: major version found in firmware blob */
> -	u16 major_ver_found;
> -	/** @minor_ver_found: major version found in firmware blob */
> -	u16 minor_ver_found;
> -	/** @patch_ver_found: patch version found in firmware blob */
> -	u16 patch_ver_found;
> +	/** @versions: FW versions wanted and found */
> +	struct {
> +		/** @wanted: firmware version wanted by platform */
> +		struct xe_uc_fw_version wanted;
> +		/** @wanted_type: type of firmware version wanted (release vs compatibility) */
> +		enum xe_uc_fw_version_types wanted_type;
> +		/** @found: fw versions found in firmware blob */
> +		struct xe_uc_fw_version found[XE_UC_FW_VER_TYPE_COUNT];
> +	} versions;
>   
>   	/** @rsa_size: RSA size */
>   	u32 rsa_size;


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

* Re: [Intel-xe] [PATCH v2 03/11] drm/xe/gsc: Introduce GSC FW
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 03/11] drm/xe/gsc: Introduce GSC FW Daniele Ceraolo Spurio
@ 2023-11-16 22:58   ` John Harrison
  0 siblings, 0 replies; 28+ messages in thread
From: John Harrison @ 2023-11-16 22:58 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, intel-xe

On 11/14/2023 16:46, Daniele Ceraolo Spurio wrote:
> Add the basic definitions and init function. Same as HuC, GSC is only
> supported on the media GT on MTL and newer platforms.
> Note that the GSC requires submission resources which can't be allocated
> during init (because we don't have the hwconfig yet), so it can't be
> marked as loadable at the end of the init function. The allocation of
> those resources will come in the patch that makes use of them to load
> the FW.
>
> v2: better comment, move num FWs define inside the enum (John)
>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

> ---
>   drivers/gpu/drm/xe/Makefile         |  1 +
>   drivers/gpu/drm/xe/xe_gsc.c         | 52 +++++++++++++++++++++++++++++
>   drivers/gpu/drm/xe/xe_gsc.h         | 13 ++++++++
>   drivers/gpu/drm/xe/xe_gsc_types.h   | 19 +++++++++++
>   drivers/gpu/drm/xe/xe_uc.c          |  9 +++--
>   drivers/gpu/drm/xe/xe_uc_fw.c       | 23 ++++++++++---
>   drivers/gpu/drm/xe/xe_uc_fw.h       |  5 ++-
>   drivers/gpu/drm/xe/xe_uc_fw_types.h |  5 +--
>   drivers/gpu/drm/xe/xe_uc_types.h    |  3 ++
>   9 files changed, 121 insertions(+), 9 deletions(-)
>   create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
>   create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
>   create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h
>
> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> index cb41b4fead08..1ea6e0679528 100644
> --- a/drivers/gpu/drm/xe/Makefile
> +++ b/drivers/gpu/drm/xe/Makefile
> @@ -58,6 +58,7 @@ xe-y += xe_bb.o \
>   	xe_force_wake.o \
>   	xe_ggtt.o \
>   	xe_gpu_scheduler.o \
> +	xe_gsc.o \
>   	xe_gt.o \
>   	xe_gt_clock.o \
>   	xe_gt_debugfs.o \
> diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
> new file mode 100644
> index 000000000000..216f36cee0f7
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_gsc.c
> @@ -0,0 +1,52 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#include "xe_gsc.h"
> +
> +#include "xe_device.h"
> +#include "xe_gt.h"
> +#include "xe_gt_printk.h"
> +#include "xe_uc_fw.h"
> +
> +static struct xe_gt *
> +gsc_to_gt(struct xe_gsc *gsc)
> +{
> +	return container_of(gsc, struct xe_gt, uc.gsc);
> +}
> +
> +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;
> +
> +	/* 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;
> +	}
> +
> +	/*
> +	 * Some platforms can have GuC but not GSC. That would cause
> +	 * xe_uc_fw_init(gsc) to return a "not supported" failure code and abort
> +	 * all firmware loading. So check for GSC being enabled before
> +	 * propagating the failure back up. That way the higher level will keep
> +	 * going and load GuC as appropriate.
> +	 */
> +	ret = xe_uc_fw_init(&gsc->fw);
> +	if (!xe_uc_fw_is_enabled(&gsc->fw))
> +		return 0;
> +	else if (ret)
> +		goto out;
> +
> +	return 0;
> +
> +out:
> +	xe_gt_err(gt, "GSC init failed with %d", ret);
> +	return ret;
> +}
> +
> diff --git a/drivers/gpu/drm/xe/xe_gsc.h b/drivers/gpu/drm/xe/xe_gsc.h
> new file mode 100644
> index 000000000000..baa7f21f4204
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_gsc.h
> @@ -0,0 +1,13 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef _XE_GSC_H_
> +#define _XE_GSC_H_
> +
> +#include "xe_gsc_types.h"
> +
> +int xe_gsc_init(struct xe_gsc *gsc);
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/xe_gsc_types.h b/drivers/gpu/drm/xe/xe_gsc_types.h
> new file mode 100644
> index 000000000000..135f156e3736
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_gsc_types.h
> @@ -0,0 +1,19 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef _XE_GSC_TYPES_H_
> +#define _XE_GSC_TYPES_H_
> +
> +#include "xe_uc_fw_types.h"
> +
> +/**
> + * struct xe_gsc - GSC
> + */
> +struct xe_gsc {
> +	/** @fw: Generic uC firmware management */
> +	struct xe_uc_fw fw;
> +};
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/xe_uc.c b/drivers/gpu/drm/xe/xe_uc.c
> index 784f53c5f282..b67154c78dff 100644
> --- a/drivers/gpu/drm/xe/xe_uc.c
> +++ b/drivers/gpu/drm/xe/xe_uc.c
> @@ -6,6 +6,7 @@
>   #include "xe_uc.h"
>   
>   #include "xe_device.h"
> +#include "xe_gsc.h"
>   #include "xe_gt.h"
>   #include "xe_guc.h"
>   #include "xe_guc_pc.h"
> @@ -32,8 +33,8 @@ int xe_uc_init(struct xe_uc *uc)
>   	int ret;
>   
>   	/*
> -	 * We call the GuC/HuC init functions even if GuC submission is off to
> -	 * correctly move our tracking of the FW state to "disabled".
> +	 * We call the GuC/HuC/GSC init functions even if GuC submission is off
> +	 * to correctly move our tracking of the FW state to "disabled".
>   	 */
>   
>   	ret = xe_guc_init(&uc->guc);
> @@ -44,6 +45,10 @@ int xe_uc_init(struct xe_uc *uc)
>   	if (ret)
>   		goto err;
>   
> +	ret = xe_gsc_init(&uc->gsc);
> +	if (ret)
> +		goto err;
> +
>   	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>   		return 0;
>   
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index 9205a3ecff78..16217aacdbfb 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -158,11 +158,18 @@ XE_HUC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE,
>   static struct xe_gt *
>   __uc_fw_to_gt(struct xe_uc_fw *uc_fw, enum xe_uc_fw_type type)
>   {
> -	if (type == XE_UC_FW_TYPE_GUC)
> -		return container_of(uc_fw, struct xe_gt, uc.guc.fw);
> +	XE_WARN_ON(type >= XE_UC_FW_NUM_TYPES);
>   
> -	XE_WARN_ON(type != XE_UC_FW_TYPE_HUC);
> -	return container_of(uc_fw, struct xe_gt, uc.huc.fw);
> +	switch (type) {
> +	case XE_UC_FW_TYPE_GUC:
> +		return container_of(uc_fw, struct xe_gt, uc.guc.fw);
> +	case XE_UC_FW_TYPE_HUC:
> +		return container_of(uc_fw, struct xe_gt, uc.huc.fw);
> +	case XE_UC_FW_TYPE_GSC:
> +		return container_of(uc_fw, struct xe_gt, uc.gsc.fw);
> +	default:
> +		return NULL;
> +	}
>   }
>   
>   static struct xe_gt *uc_fw_to_gt(struct xe_uc_fw *uc_fw)
> @@ -197,6 +204,14 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
>   	u32 count;
>   	int i;
>   
> +	/*
> +	 * GSC FW support is still not fully in place, so we're not defining
> +	 * the FW blob yet because we don't want the driver to attempt to load
> +	 * it until we're ready for it.
> +	 */
> +	if (uc_fw->type == XE_UC_FW_TYPE_GSC)
> +		return;
> +
>   	xe_assert(xe, uc_fw->type < ARRAY_SIZE(blobs_all));
>   	entries = blobs_all[uc_fw->type].entries;
>   	count = blobs_all[uc_fw->type].count;
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.h b/drivers/gpu/drm/xe/xe_uc_fw.h
> index 1d1a0c156cdf..7feafe1695f9 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.h
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.h
> @@ -96,8 +96,11 @@ static inline const char *xe_uc_fw_type_repr(enum xe_uc_fw_type type)
>   		return "GuC";
>   	case XE_UC_FW_TYPE_HUC:
>   		return "HuC";
> +	case XE_UC_FW_TYPE_GSC:
> +		return "GSC";
> +	default:
> +		return "uC";
>   	}
> -	return "uC";
>   }
>   
>   static inline enum xe_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 e4774c560e67..5b9ee05c1c6f 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw_types.h
> +++ b/drivers/gpu/drm/xe/xe_uc_fw_types.h
> @@ -55,9 +55,10 @@ enum xe_uc_fw_status {
>   
>   enum xe_uc_fw_type {
>   	XE_UC_FW_TYPE_GUC = 0,
> -	XE_UC_FW_TYPE_HUC
> +	XE_UC_FW_TYPE_HUC,
> +	XE_UC_FW_TYPE_GSC,
> +	XE_UC_FW_NUM_TYPES
>   };
> -#define XE_UC_FW_NUM_TYPES 2
>   
>   /**
>    * struct xe_uc_fw_version - Version for XE micro controller firmware
> diff --git a/drivers/gpu/drm/xe/xe_uc_types.h b/drivers/gpu/drm/xe/xe_uc_types.h
> index 49bef6498b85..9924e4484866 100644
> --- a/drivers/gpu/drm/xe/xe_uc_types.h
> +++ b/drivers/gpu/drm/xe/xe_uc_types.h
> @@ -6,6 +6,7 @@
>   #ifndef _XE_UC_TYPES_H_
>   #define _XE_UC_TYPES_H_
>   
> +#include "xe_gsc_types.h"
>   #include "xe_guc_types.h"
>   #include "xe_huc_types.h"
>   #include "xe_wopcm_types.h"
> @@ -18,6 +19,8 @@ struct xe_uc {
>   	struct xe_guc guc;
>   	/** @huc: HuC */
>   	struct xe_huc huc;
> +	/** @gsc: Graphics Security Controller */
> +	struct xe_gsc gsc;
>   	/** @wopcm: WOPCM */
>   	struct xe_wopcm wopcm;
>   };


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

* Re: [Intel-xe] [PATCH v2 04/11] drm/xe/gsc: Parse GSC FW header
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 04/11] drm/xe/gsc: Parse GSC FW header Daniele Ceraolo Spurio
@ 2023-11-16 23:01   ` John Harrison
  0 siblings, 0 replies; 28+ messages in thread
From: John Harrison @ 2023-11-16 23:01 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, intel-xe; +Cc: Lucas De Marchi

On 11/14/2023 16:46, Daniele Ceraolo Spurio wrote:
> The GSC blob starts with a layout header, from which we can move to the
> boot directory, which in turns allows us to find the CPD. The CPD uses
> the same format as the one in the HuC binary, so we can re-use the same
> parsing code to get to the manifest, which contains the release and
> security versions of the FW.
>
> v2: Fix comments in struct definition (John)
>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

> ---
>   drivers/gpu/drm/xe/xe_gsc_types.h |   3 +
>   drivers/gpu/drm/xe/xe_uc_fw.c     |  77 ++++++++++++++++++++
>   drivers/gpu/drm/xe/xe_uc_fw_abi.h | 113 ++++++++++++++++++++++++++++++
>   3 files changed, 193 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_gsc_types.h b/drivers/gpu/drm/xe/xe_gsc_types.h
> index 135f156e3736..1bc50583fe58 100644
> --- a/drivers/gpu/drm/xe/xe_gsc_types.h
> +++ b/drivers/gpu/drm/xe/xe_gsc_types.h
> @@ -14,6 +14,9 @@
>   struct xe_gsc {
>   	/** @fw: Generic uC firmware management */
>   	struct xe_uc_fw fw;
> +
> +	/** @security_version: SVN found in the fetched blob */
> +	u32 security_version;
>   };
>   
>   #endif
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index 16217aacdbfb..c354f7b51103 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -12,6 +12,7 @@
>   #include "xe_bo.h"
>   #include "xe_device_types.h"
>   #include "xe_force_wake.h"
> +#include "xe_gsc.h"
>   #include "xe_gt.h"
>   #include "xe_map.h"
>   #include "xe_mmio.h"
> @@ -488,6 +489,13 @@ static int parse_cpd_header(struct xe_uc_fw *uc_fw, const void *data, size_t siz
>   	release->minor = manifest->fw_version.minor;
>   	release->patch = manifest->fw_version.hotfix;
>   
> +	if (uc_fw->type == XE_UC_FW_TYPE_GSC) {
> +		struct xe_gsc *gsc = container_of(uc_fw, struct xe_gsc, fw);
> +
> +		release->build = manifest->fw_version.build;
> +		gsc->security_version = manifest->security_version;
> +	}
> +
>   	/* then optionally look for the css header */
>   	if (css_entry) {
>   		int ret;
> @@ -517,6 +525,73 @@ static int parse_cpd_header(struct xe_uc_fw *uc_fw, const void *data, size_t siz
>   	return 0;
>   }
>   
> +static int parse_gsc_layout(struct xe_uc_fw *uc_fw, const void *data, size_t size)
> +{
> +	struct xe_gt *gt = uc_fw_to_gt(uc_fw);
> +	const struct gsc_layout_pointers *layout = data;
> +	const struct gsc_bpdt_header *bpdt_header = NULL;
> +	const struct gsc_bpdt_entry *bpdt_entry = NULL;
> +	size_t min_size = sizeof(*layout);
> +	int i;
> +
> +	if (size < min_size) {
> +		xe_gt_err(gt, "GSC FW too small! %zu < %zu\n", size, min_size);
> +		return -ENODATA;
> +	}
> +
> +	min_size = layout->boot1.offset + layout->boot1.size;
> +	if (size < min_size) {
> +		xe_gt_err(gt, "GSC FW too small for boot section! %zu < %zu\n",
> +			  size, min_size);
> +		return -ENODATA;
> +	}
> +
> +	min_size = sizeof(*bpdt_header);
> +	if (layout->boot1.size < min_size) {
> +		xe_gt_err(gt, "GSC FW boot section too small for BPDT header: %u < %zu\n",
> +			  layout->boot1.size, min_size);
> +		return -ENODATA;
> +	}
> +
> +	bpdt_header = data + layout->boot1.offset;
> +	if (bpdt_header->signature != GSC_BPDT_HEADER_SIGNATURE) {
> +		xe_gt_err(gt, "invalid signature for BPDT header: 0x%08x!\n",
> +			  bpdt_header->signature);
> +		return -EINVAL;
> +	}
> +
> +	min_size += sizeof(*bpdt_entry) * bpdt_header->descriptor_count;
> +	if (layout->boot1.size < min_size) {
> +		xe_gt_err(gt, "GSC FW boot section too small for BPDT entries: %u < %zu\n",
> +			  layout->boot1.size, min_size);
> +		return -ENODATA;
> +	}
> +
> +	bpdt_entry = (void *)bpdt_header + sizeof(*bpdt_header);
> +	for (i = 0; i < bpdt_header->descriptor_count; i++, bpdt_entry++) {
> +		if ((bpdt_entry->type & GSC_BPDT_ENTRY_TYPE_MASK) !=
> +		    GSC_BPDT_ENTRY_TYPE_GSC_RBE)
> +			continue;
> +
> +		min_size = bpdt_entry->sub_partition_offset;
> +
> +		/* the CPD header parser will check that the CPD header fits */
> +		if (layout->boot1.size < min_size) {
> +			xe_gt_err(gt, "GSC FW boot section too small for CPD offset: %u < %zu\n",
> +				  layout->boot1.size, min_size);
> +			return -ENODATA;
> +		}
> +
> +		return parse_cpd_header(uc_fw,
> +					(void *)bpdt_header + min_size,
> +					layout->boot1.size - min_size,
> +					"RBEP.man", NULL);
> +	}
> +
> +	xe_gt_err(gt, "couldn't find CPD header in GSC binary!\n");
> +	return -ENODATA;
> +}
> +
>   static int parse_headers(struct xe_uc_fw *uc_fw, const struct firmware *fw)
>   {
>   	int ret;
> @@ -526,6 +601,8 @@ static int parse_headers(struct xe_uc_fw *uc_fw, const struct firmware *fw)
>   	 * releases use GSC CPD headers.
>   	 */
>   	switch (uc_fw->type) {
> +	case XE_UC_FW_TYPE_GSC:
> +		return parse_gsc_layout(uc_fw, fw->data, fw->size);
>   	case XE_UC_FW_TYPE_HUC:
>   		ret = parse_cpd_header(uc_fw, fw->data, fw->size, "HUCP.man", "huc_fw");
>   		if (!ret || ret != -ENOENT)
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw_abi.h b/drivers/gpu/drm/xe/xe_uc_fw_abi.h
> index d6725c963251..87ade41209d0 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw_abi.h
> +++ b/drivers/gpu/drm/xe/xe_uc_fw_abi.h
> @@ -140,6 +140,58 @@ static_assert(sizeof(struct uc_css_header) == 128);
>    *	|      RSA Key (MTL+ only)                       |
>    *	|      ...                                       |
>    *	+================================================+
> + *
> + * The GSC binary starts instead with a layout header, which contains the
> + * locations of the various partitions of the binary. The one we're interested
> + * in is the boot1 partition, where we can find a BPDT header followed by
> + * entries, one of which points to the RBE sub-section of the partition, which
> + * contains the CPD. The GSC blob does not contain a CSS-based binary, so we
> + * only need to look for the manifest, which is under the "RBEP.man" CPD entry.
> + * Note that we have no need to find where the actual FW code is inside the
> + * image because the GSC ROM will itself parse the headers to find it and load
> + * it.
> + * The GSC firmware header layout looks like this::
> + *
> + *	+================================================+
> + *	|  Layout Pointers                               |
> + *	|      ...                                       |
> + *	|      Boot1 offset  >---------------------------|------o
> + *	|      ...                                       |      |
> + *	+================================================+      |
> + *	                                                        |
> + *	+================================================+      |
> + *	|  BPDT header                                   |<-----o
> + *	+================================================+
> + *	|  BPDT entries[]                                |
> + *	|      entry1                                    |
> + *	|      ...                                       |
> + *	|      entryX                                    |
> + *	|          type == GSC_RBE                       |
> + *	|          offset  >-----------------------------|------o
> + *	|      ...                                       |      |
> + *	+================================================+      |
> + *	                                                        |
> + *	+================================================+      |
> + *	|  CPD Header                                    |<-----o
> + *	+================================================+
> + *	|  CPD entries[]                                 |
> + *	|      entry1                                    |
> + *	|      ...                                       |
> + *	|      entryX                                    |
> + *	|          "RBEP.man"                            |
> + *	|           ...                                  |
> + *	|           offset  >----------------------------|------o
> + *	|      ...                                       |      |
> + *	+================================================+      |
> + *	                                                        |
> + *	+================================================+      |
> + *	| Manifest Header                                |<-----o
> + *	|  ...                                           |
> + *	|  FW version                                    |
> + *	|  ...                                           |
> + *	|  Security version                              |
> + *	|  ...                                           |
> + *	+================================================+
>    */
>   
>   struct gsc_version {
> @@ -149,6 +201,67 @@ struct gsc_version {
>   	u16 build;
>   } __packed;
>   
> +struct gsc_partition {
> +	u32 offset;
> +	u32 size;
> +} __packed;
> +
> +struct gsc_layout_pointers {
> +	u8 rom_bypass_vector[16];
> +
> +	/* size of this header section, not including ROM bypass vector */
> +	u16 size;
> +
> +	/*
> +	 * bit0: Backup copy of layout pointers exists
> +	 * bits1-15: reserved
> +	 */
> +	u8 flags;
> +
> +	u8 reserved;
> +
> +	u32 crc32;
> +
> +	struct gsc_partition datap;
> +	struct gsc_partition boot1;
> +	struct gsc_partition boot2;
> +	struct gsc_partition boot3;
> +	struct gsc_partition boot4;
> +	struct gsc_partition boot5;
> +	struct gsc_partition temp_pages;
> +} __packed;
> +
> +/* Boot partition structures */
> +struct gsc_bpdt_header {
> +	u32 signature;
> +#define GSC_BPDT_HEADER_SIGNATURE 0x000055AA
> +
> +	u16 descriptor_count; /* num of entries after the header */
> +
> +	u8 version;
> +	u8 configuration;
> +
> +	u32 crc32;
> +
> +	u32 build_version;
> +	struct gsc_version tool_version;
> +} __packed;
> +
> +struct gsc_bpdt_entry {
> +	/*
> +	 * Bits 0-15: BPDT entry type
> +	 * Bits 16-17: reserved
> +	 * Bit 18: code sub-partition
> +	 * Bits 19-31: reserved
> +	 */
> +	u32 type;
> +#define GSC_BPDT_ENTRY_TYPE_MASK GENMASK(15, 0)
> +#define GSC_BPDT_ENTRY_TYPE_GSC_RBE 0x1
> +
> +	u32 sub_partition_offset; /* from the base of the BPDT header */
> +	u32 sub_partition_size;
> +} __packed;
> +
>   /* Code partition directory (CPD) structures */
>   struct gsc_cpd_header_v2 {
>   	u32 header_marker;


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

* Re: [Intel-xe] [PATCH v2 05/11] drm/xe/gsc: GSC FW load
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 05/11] drm/xe/gsc: GSC FW load Daniele Ceraolo Spurio
@ 2023-11-16 23:04   ` John Harrison
  0 siblings, 0 replies; 28+ messages in thread
From: John Harrison @ 2023-11-16 23:04 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, intel-xe

On 11/14/2023 16:46, Daniele Ceraolo Spurio wrote:
> The GSC FW must be copied in a 4MB stolen memory allocation, whose GGTT
> address is then passed as a parameter to a dedicated load instruction
> submitted via the GSC engine.
>
> Since the GSC load is relatively slow (up to 250ms), we perform it
> asynchronously via a worker. This requires us to make sure that the
> worker has stopped before suspending/unloading.
>
> Note that we can't yet use xe_migrate_copy for the copy because it
> doesn't work with stolen memory right now, so we do a memcpy from the
> CPU side instead.
>
> v2: add comment about timeout value, fix GSC status checking
>      before load (John)
>
> Bspec: 65306, 65346
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

> ---
>   .../gpu/drm/xe/instructions/xe_gsc_commands.h |  34 +++
>   .../gpu/drm/xe/instructions/xe_instr_defs.h   |   1 +
>   drivers/gpu/drm/xe/regs/xe_gsc_regs.h         |  29 ++
>   drivers/gpu/drm/xe/xe_gsc.c                   | 250 ++++++++++++++++++
>   drivers/gpu/drm/xe/xe_gsc.h                   |   3 +
>   drivers/gpu/drm/xe/xe_gsc_types.h             |  17 ++
>   drivers/gpu/drm/xe/xe_uc.c                    |  12 +-
>   7 files changed, 345 insertions(+), 1 deletion(-)
>   create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
>   create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
>
> diff --git a/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h b/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
> new file mode 100644
> index 000000000000..c7a833d7f965
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
> @@ -0,0 +1,34 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef _XE_GSC_COMMANDS_H_
> +#define _XE_GSC_COMMANDS_H_
> +
> +#include "instructions/xe_instr_defs.h"
> +
> +/*
> + * All GSCCS-specific commands have fixed length, so we can include it in the
> + * defines. Note that the generic GSC command header structure includes an
> + * optional data field in bits 9-21, but there are no commands that actually use
> + * it; some of the commands are instead defined as having an extended length
> + * field spanning bits 0-15, even if the extra bits are not required because the
> + * longest GSCCS command is only 8 dwords. To handle this, the defines below use
> + * a single field for both data and len. If we ever get a commands that does
> + * actually have data and this approach doesn't work for it we can re-work it
> + * at that point.
> + */
> +
> +#define GSC_OPCODE		REG_GENMASK(28, 22)
> +#define GSC_CMD_DATA_AND_LEN	REG_GENMASK(21, 0)
> +
> +#define __GSC_INSTR(op, dl) \
> +	(XE_INSTR_GSC | \
> +	REG_FIELD_PREP(GSC_OPCODE, op) | \
> +	REG_FIELD_PREP(GSC_CMD_DATA_AND_LEN, dl))
> +
> +#define GSC_FW_LOAD __GSC_INSTR(1, 2)
> +#define   GSC_FW_LOAD_LIMIT_VALID REG_BIT(31)
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/instructions/xe_instr_defs.h b/drivers/gpu/drm/xe/instructions/xe_instr_defs.h
> index e403b4fcc20a..04179b2a48e1 100644
> --- a/drivers/gpu/drm/xe/instructions/xe_instr_defs.h
> +++ b/drivers/gpu/drm/xe/instructions/xe_instr_defs.h
> @@ -15,6 +15,7 @@
>    */
>   #define XE_INSTR_CMD_TYPE		GENMASK(31, 29)
>   #define   XE_INSTR_MI			REG_FIELD_PREP(XE_INSTR_CMD_TYPE, 0x0)
> +#define   XE_INSTR_GSC			REG_FIELD_PREP(XE_INSTR_CMD_TYPE, 0x2)
>   #define   XE_INSTR_GFXPIPE		REG_FIELD_PREP(XE_INSTR_CMD_TYPE, 0x3)
>   
>   /*
> diff --git a/drivers/gpu/drm/xe/regs/xe_gsc_regs.h b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
> new file mode 100644
> index 000000000000..22d2ad9cb64d
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
> @@ -0,0 +1,29 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef _XE_GSC_REGS_H_
> +#define _XE_GSC_REGS_H_
> +
> +#include <linux/compiler.h>
> +#include <linux/types.h>
> +
> +#include "regs/xe_reg_defs.h"
> +
> +/* Definitions of GSC H/W registers, bits, etc */
> +
> +#define MTL_GSC_HECI1_BASE	0x00116000
> +#define MTL_GSC_HECI2_BASE	0x00117000
> +
> +/*
> + * The FWSTS register values are FW defined and can be different between
> + * HECI1 and HECI2
> + */
> +#define HECI_FWSTS1(base)				XE_REG((base) + 0xc40)
> +#define   HECI1_FWSTS1_CURRENT_STATE			REG_GENMASK(3, 0)
> +#define   HECI1_FWSTS1_CURRENT_STATE_RESET		0
> +#define   HECI1_FWSTS1_PROXY_STATE_NORMAL		5
> +#define   HECI1_FWSTS1_INIT_COMPLETE			REG_BIT(9)
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
> index 216f36cee0f7..cc9c6cdc31aa 100644
> --- a/drivers/gpu/drm/xe/xe_gsc.c
> +++ b/drivers/gpu/drm/xe/xe_gsc.c
> @@ -5,10 +5,20 @@
>   
>   #include "xe_gsc.h"
>   
> +#include <drm/drm_managed.h>
> +
> +#include "xe_bb.h"
> +#include "xe_bo.h"
>   #include "xe_device.h"
> +#include "xe_exec_queue.h"
>   #include "xe_gt.h"
>   #include "xe_gt_printk.h"
> +#include "xe_map.h"
> +#include "xe_mmio.h"
> +#include "xe_sched_job.h"
>   #include "xe_uc_fw.h"
> +#include "instructions/xe_gsc_commands.h"
> +#include "regs/xe_gsc_regs.h"
>   
>   static struct xe_gt *
>   gsc_to_gt(struct xe_gsc *gsc)
> @@ -16,6 +26,145 @@ gsc_to_gt(struct xe_gsc *gsc)
>   	return container_of(gsc, struct xe_gt, uc.gsc);
>   }
>   
> +static int memcpy_fw(struct xe_gsc *gsc)
> +{
> +	struct xe_gt *gt = gsc_to_gt(gsc);
> +	struct xe_device *xe = gt_to_xe(gt);
> +	u32 fw_size = gsc->fw.size;
> +	void *storage;
> +
> +	/*
> +	 * FIXME: xe_migrate_copy does not work with stolen mem yet, so we use
> +	 * a memcpy for now.
> +	 */
> +	storage = kmalloc(fw_size, GFP_KERNEL);
> +	if (!storage)
> +		return -ENOMEM;
> +
> +	xe_map_memcpy_from(xe, storage, &gsc->fw.bo->vmap, 0, fw_size);
> +	xe_map_memcpy_to(xe, &gsc->private->vmap, 0, storage, fw_size);
> +	xe_map_memset(xe, &gsc->private->vmap, fw_size, 0, gsc->private->size - fw_size);
> +
> +	kfree(storage);
> +
> +	return 0;
> +}
> +
> +static int emit_gsc_upload(struct xe_gsc *gsc)
> +{
> +	struct xe_gt *gt = gsc_to_gt(gsc);
> +	u32 offset = xe_bo_ggtt_addr(gsc->private);
> +	struct xe_bb *bb;
> +	struct xe_sched_job *job;
> +	struct dma_fence *fence;
> +	long timeout;
> +
> +	bb = xe_bb_new(gt, 4, false);
> +	if (IS_ERR(bb))
> +		return PTR_ERR(bb);
> +
> +	bb->cs[bb->len++] = GSC_FW_LOAD;
> +	bb->cs[bb->len++] = lower_32_bits(offset);
> +	bb->cs[bb->len++] = upper_32_bits(offset);
> +	bb->cs[bb->len++] = (gsc->private->size / SZ_4K) | GSC_FW_LOAD_LIMIT_VALID;
> +
> +	job = xe_bb_create_job(gsc->q, bb);
> +	if (IS_ERR(job)) {
> +		xe_bb_free(bb, NULL);
> +		return PTR_ERR(job);
> +	}
> +
> +	xe_sched_job_arm(job);
> +	fence = dma_fence_get(&job->drm.s_fence->finished);
> +	xe_sched_job_push(job);
> +
> +	timeout = dma_fence_wait_timeout(fence, false, HZ);
> +	dma_fence_put(fence);
> +	xe_bb_free(bb, NULL);
> +	if (timeout < 0)
> +		return timeout;
> +	else if (!timeout)
> +		return -ETIME;
> +
> +	return 0;
> +}
> +
> +static int gsc_fw_is_loaded(struct xe_gt *gt)
> +{
> +	return xe_mmio_read32(gt, HECI_FWSTS1(MTL_GSC_HECI1_BASE)) &
> +			      HECI1_FWSTS1_INIT_COMPLETE;
> +}
> +
> +static int gsc_fw_wait(struct xe_gt *gt)
> +{
> +	/*
> +	 * GSC load can take up to 250ms from the moment the instruction is
> +	 * executed by the GSCCS. To account for possible submission delays or
> +	 * other issues, we use a 500ms timeout in the wait here.
> +	 */
> +	return xe_mmio_wait32(gt, HECI_FWSTS1(MTL_GSC_HECI1_BASE),
> +			      HECI1_FWSTS1_INIT_COMPLETE,
> +			      HECI1_FWSTS1_INIT_COMPLETE,
> +			      500, NULL, false);
> +}
> +
> +static int gsc_upload(struct xe_gsc *gsc)
> +{
> +	struct xe_gt *gt = gsc_to_gt(gsc);
> +	struct xe_device *xe = gt_to_xe(gt);
> +	int err;
> +
> +	/* we should only be here if the init step were successful */
> +	xe_assert(xe, xe_uc_fw_is_loadable(&gsc->fw) && gsc->q);
> +
> +	if (gsc_fw_is_loaded(gt)) {
> +		xe_gt_err(gt, "GSC already loaded at upload time\n");
> +		return -EEXIST;
> +	}
> +
> +	err = memcpy_fw(gsc);
> +	if (err) {
> +		xe_gt_err(gt, "Failed to memcpy GSC FW\n");
> +		return err;
> +	}
> +
> +	err = emit_gsc_upload(gsc);
> +	if (err) {
> +		xe_gt_err(gt, "Failed to emit GSC FW upload (%pe)\n", ERR_PTR(err));
> +		return err;
> +	}
> +
> +	err = gsc_fw_wait(gt);
> +	if (err) {
> +		xe_gt_err(gt, "Failed to wait for GSC load (%pe)\n", ERR_PTR(err));
> +		return err;
> +	}
> +
> +	xe_gt_dbg(gt, "GSC FW async load completed\n");
> +
> +	return 0;
> +}
> +
> +static void gsc_work(struct work_struct *work)
> +{
> +	struct xe_gsc *gsc = container_of(work, typeof(*gsc), work);
> +	struct xe_gt *gt = gsc_to_gt(gsc);
> +	struct xe_device *xe = gt_to_xe(gt);
> +	int ret;
> +
> +	xe_device_mem_access_get(xe);
> +	xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC);
> +
> +	ret = gsc_upload(gsc);
> +	if (ret && ret != -EEXIST)
> +		xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_LOAD_FAIL);
> +	else
> +		xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_TRANSFERRED);
> +
> +	xe_force_wake_put(gt_to_fw(gt), XE_FW_GSC);
> +	xe_device_mem_access_put(xe);
> +}
> +
>   int xe_gsc_init(struct xe_gsc *gsc)
>   {
>   	struct xe_gt *gt = gsc_to_gt(gsc);
> @@ -23,6 +172,7 @@ int xe_gsc_init(struct xe_gsc *gsc)
>   	int ret;
>   
>   	gsc->fw.type = XE_UC_FW_TYPE_GSC;
> +	INIT_WORK(&gsc->work, gsc_work);
>   
>   	/* The GSC uC is only available on the media GT */
>   	if (tile->media_gt && (gt != tile->media_gt)) {
> @@ -50,3 +200,103 @@ int xe_gsc_init(struct xe_gsc *gsc)
>   	return ret;
>   }
>   
> +static void free_resources(struct drm_device *drm, void *arg)
> +{
> +	struct xe_gsc *gsc = arg;
> +
> +	if (gsc->wq) {
> +		destroy_workqueue(gsc->wq);
> +		gsc->wq = NULL;
> +	}
> +
> +	if (gsc->q) {
> +		xe_exec_queue_put(gsc->q);
> +		gsc->q = NULL;
> +	}
> +
> +	if (gsc->private) {
> +		xe_bo_unpin_map_no_vm(gsc->private);
> +		gsc->private = NULL;
> +	}
> +}
> +
> +int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc)
> +{
> +	struct xe_gt *gt = gsc_to_gt(gsc);
> +	struct xe_tile *tile = gt_to_tile(gt);
> +	struct xe_device *xe = gt_to_xe(gt);
> +	struct xe_hw_engine *hwe = xe_gt_hw_engine(gt, XE_ENGINE_CLASS_OTHER, 0, true);
> +	struct xe_exec_queue *q;
> +	struct workqueue_struct *wq;
> +	struct xe_bo *bo;
> +	int err;
> +
> +	if (!xe_uc_fw_is_available(&gsc->fw))
> +		return 0;
> +
> +	if (!hwe)
> +		return -ENODEV;
> +
> +	bo = xe_bo_create_pin_map(xe, tile, NULL, SZ_4M,
> +				  ttm_bo_type_kernel,
> +				  XE_BO_CREATE_STOLEN_BIT |
> +				  XE_BO_CREATE_GGTT_BIT);
> +	if (IS_ERR(bo))
> +		return PTR_ERR(bo);
> +
> +	q = xe_exec_queue_create(xe, NULL,
> +				 BIT(hwe->logical_instance), 1, hwe,
> +				 EXEC_QUEUE_FLAG_KERNEL |
> +				 EXEC_QUEUE_FLAG_PERMANENT);
> +	if (IS_ERR(q)) {
> +		xe_gt_err(gt, "Failed to create queue for GSC submission\n");
> +		err = PTR_ERR(q);
> +		goto out_bo;
> +	}
> +
> +	wq = alloc_ordered_workqueue("gsc-ordered-wq", 0);
> +	if (!wq) {
> +		err = -ENOMEM;
> +		goto out_q;
> +	}
> +
> +	gsc->private = bo;
> +	gsc->q = q;
> +	gsc->wq = wq;
> +
> +	err = drmm_add_action_or_reset(&xe->drm, free_resources, gsc);
> +	if (err)
> +		return err;
> +
> +	xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_LOADABLE);
> +
> +	return 0;
> +
> +out_q:
> +	xe_exec_queue_put(q);
> +out_bo:
> +	xe_bo_unpin_map_no_vm(bo);
> +	return err;
> +}
> +
> +void xe_gsc_load_start(struct xe_gsc *gsc)
> +{
> +	struct xe_gt *gt = gsc_to_gt(gsc);
> +
> +	if (!xe_uc_fw_is_loadable(&gsc->fw) || !gsc->q)
> +		return;
> +
> +	/* GSC FW survives GT reset and D3Hot */
> +	if (gsc_fw_is_loaded(gt)) {
> +		xe_uc_fw_change_status(&gsc->fw, XE_UC_FIRMWARE_TRANSFERRED);
> +		return;
> +	}
> +
> +	queue_work(gsc->wq, &gsc->work);
> +}
> +
> +void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc)
> +{
> +	if (xe_uc_fw_is_loadable(&gsc->fw) && gsc->wq)
> +		flush_work(&gsc->work);
> +}
> diff --git a/drivers/gpu/drm/xe/xe_gsc.h b/drivers/gpu/drm/xe/xe_gsc.h
> index baa7f21f4204..f870eddc77d4 100644
> --- a/drivers/gpu/drm/xe/xe_gsc.h
> +++ b/drivers/gpu/drm/xe/xe_gsc.h
> @@ -9,5 +9,8 @@
>   #include "xe_gsc_types.h"
>   
>   int xe_gsc_init(struct xe_gsc *gsc);
> +int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc);
> +void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc);
> +void xe_gsc_load_start(struct xe_gsc *gsc);
>   
>   #endif
> diff --git a/drivers/gpu/drm/xe/xe_gsc_types.h b/drivers/gpu/drm/xe/xe_gsc_types.h
> index 1bc50583fe58..57fefd66a7ea 100644
> --- a/drivers/gpu/drm/xe/xe_gsc_types.h
> +++ b/drivers/gpu/drm/xe/xe_gsc_types.h
> @@ -6,8 +6,13 @@
>   #ifndef _XE_GSC_TYPES_H_
>   #define _XE_GSC_TYPES_H_
>   
> +#include <linux/workqueue.h>
> +
>   #include "xe_uc_fw_types.h"
>   
> +struct xe_bo;
> +struct xe_exec_queue;
> +
>   /**
>    * struct xe_gsc - GSC
>    */
> @@ -17,6 +22,18 @@ struct xe_gsc {
>   
>   	/** @security_version: SVN found in the fetched blob */
>   	u32 security_version;
> +
> +	/** @private: Private data for use by the GSC FW */
> +	struct xe_bo *private;
> +
> +	/** @q: Default queue used for submissions to GSC FW */
> +	struct xe_exec_queue *q;
> +
> +	/** @wq: workqueue to handle jobs for delayed load and proxy handling */
> +	struct workqueue_struct *wq;
> +
> +	/** @work: delayed load and proxy handling work */
> +	struct work_struct work;
>   };
>   
>   #endif
> diff --git a/drivers/gpu/drm/xe/xe_uc.c b/drivers/gpu/drm/xe/xe_uc.c
> index b67154c78dff..15dcd1f91e9c 100644
> --- a/drivers/gpu/drm/xe/xe_uc.c
> +++ b/drivers/gpu/drm/xe/xe_uc.c
> @@ -74,11 +74,17 @@ int xe_uc_init(struct xe_uc *uc)
>    */
>   int xe_uc_init_post_hwconfig(struct xe_uc *uc)
>   {
> +	int err;
> +
>   	/* GuC submission not enabled, nothing to do */
>   	if (!xe_device_uc_enabled(uc_to_xe(uc)))
>   		return 0;
>   
> -	return xe_guc_init_post_hwconfig(&uc->guc);
> +	err = xe_guc_init_post_hwconfig(&uc->guc);
> +	if (err)
> +		return err;
> +
> +	return xe_gsc_init_post_hwconfig(&uc->gsc);
>   }
>   
>   static int uc_reset(struct xe_uc *uc)
> @@ -173,6 +179,9 @@ int xe_uc_init_hw(struct xe_uc *uc)
>   	ret = xe_huc_auth(&uc->huc);
>   	xe_gt_assert(uc_to_gt(uc), !ret);
>   
> +	/* GSC load is async */
> +	xe_gsc_load_start(&uc->gsc);
> +
>   	return 0;
>   }
>   
> @@ -197,6 +206,7 @@ void xe_uc_gucrc_disable(struct xe_uc *uc)
>   
>   void xe_uc_stop_prepare(struct xe_uc *uc)
>   {
> +	xe_gsc_wait_for_worker_completion(&uc->gsc);
>   	xe_guc_stop_prepare(&uc->guc);
>   }
>   


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

* Re: [Intel-xe] [PATCH v2 06/11] drm/xe/gsc: Implement WA 14015076503
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 06/11] drm/xe/gsc: Implement WA 14015076503 Daniele Ceraolo Spurio
@ 2023-11-16 23:51   ` John Harrison
  0 siblings, 0 replies; 28+ messages in thread
From: John Harrison @ 2023-11-16 23:51 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, intel-xe

On 11/14/2023 16:46, Daniele Ceraolo Spurio wrote:
> When the GSC FW is loaded, we need to inform it when a GSCCS reset is
> coming and then wait 200ms for it to get ready to process the reset.
>
> v2: move WA code to GSC file, use variable in Makefile (John)
>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: John Harrison <john.c.harrison@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

> ---
>   drivers/gpu/drm/xe/Makefile           | 11 +++++++++-
>   drivers/gpu/drm/xe/regs/xe_gsc_regs.h | 10 +++++++++
>   drivers/gpu/drm/xe/xe_gsc.c           | 29 +++++++++++++++++++++++++++
>   drivers/gpu/drm/xe/xe_gsc.h           |  4 ++++
>   drivers/gpu/drm/xe/xe_gt.c            |  5 +++++
>   drivers/gpu/drm/xe/xe_wa_oob.rules    |  1 +
>   6 files changed, 59 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> index 1ea6e0679528..b98b2d76a324 100644
> --- a/drivers/gpu/drm/xe/Makefile
> +++ b/drivers/gpu/drm/xe/Makefile
> @@ -37,7 +37,16 @@ quiet_cmd_wa_oob = GEN     $(notdir $(generated_oob))
>   $(generated_oob) &: $(obj)/xe_gen_wa_oob $(srctree)/$(src)/xe_wa_oob.rules
>   	$(call cmd,wa_oob)
>   
> -$(obj)/xe_guc.o $(obj)/xe_migrate.o $(obj)/xe_ring_ops.o $(obj)/xe_vm.o $(obj)/xe_wa.o $(obj)/xe_ttm_stolen_mgr.o: $(generated_oob)
> +uses_generated_oob := \
> +	$(obj)/xe_gsc.o \
> +	$(obj)/xe_guc.o \
> +	$(obj)/xe_migrate.o \
> +	$(obj)/xe_ring_ops.o \
> +	$(obj)/xe_vm.o \
> +	$(obj)/xe_wa.o \
> +	$(obj)/xe_ttm_stolen_mgr.o
> +
> +$(uses_generated_oob): $(generated_oob)
>   
>   # Please keep these build lists sorted!
>   
> diff --git a/drivers/gpu/drm/xe/regs/xe_gsc_regs.h b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
> index 22d2ad9cb64d..9a84b55d66ee 100644
> --- a/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
> @@ -16,6 +16,13 @@
>   #define MTL_GSC_HECI1_BASE	0x00116000
>   #define MTL_GSC_HECI2_BASE	0x00117000
>   
> +#define HECI_H_CSR(base)	XE_REG((base) + 0x4)
> +#define   HECI_H_CSR_IE		REG_BIT(0)
> +#define   HECI_H_CSR_IS		REG_BIT(1)
> +#define   HECI_H_CSR_IG		REG_BIT(2)
> +#define   HECI_H_CSR_RDY	REG_BIT(3)
> +#define   HECI_H_CSR_RST	REG_BIT(4)
> +
>   /*
>    * The FWSTS register values are FW defined and can be different between
>    * HECI1 and HECI2
> @@ -26,4 +33,7 @@
>   #define   HECI1_FWSTS1_PROXY_STATE_NORMAL		5
>   #define   HECI1_FWSTS1_INIT_COMPLETE			REG_BIT(9)
>   
> +#define HECI_H_GS1(base)	XE_REG((base) + 0xc4c)
> +#define   HECI_H_GS1_ER_PREP	REG_BIT(0)
> +
>   #endif
> diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
> index cc9c6cdc31aa..0def7c1ae84d 100644
> --- a/drivers/gpu/drm/xe/xe_gsc.c
> +++ b/drivers/gpu/drm/xe/xe_gsc.c
> @@ -7,6 +7,7 @@
>   
>   #include <drm/drm_managed.h>
>   
> +#include "generated/xe_wa_oob.h"
>   #include "xe_bb.h"
>   #include "xe_bo.h"
>   #include "xe_device.h"
> @@ -17,6 +18,7 @@
>   #include "xe_mmio.h"
>   #include "xe_sched_job.h"
>   #include "xe_uc_fw.h"
> +#include "xe_wa.h"
>   #include "instructions/xe_gsc_commands.h"
>   #include "regs/xe_gsc_regs.h"
>   
> @@ -300,3 +302,30 @@ void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc)
>   	if (xe_uc_fw_is_loadable(&gsc->fw) && gsc->wq)
>   		flush_work(&gsc->work);
>   }
> +
> +/*
> + * wa_14015076503: if the GSC FW is loaded, we need to alert it before doing a
> + * GSC engine reset by writing a notification bit in the GS1 register and then
> + * triggering an interrupt to GSC; from the interrupt it will take up to 200ms
> + * for the FW to get prepare for the reset, so we need to wait for that amount
> + * of time.
> + * After the reset is complete we need to then clear the GS1 register.
> + */
> +void xe_gsc_wa_14015076503(struct xe_gt *gt, bool prep)
> +{
> +	u32 gs1_set = prep ? HECI_H_GS1_ER_PREP : 0;
> +	u32 gs1_clr = prep ? 0 : HECI_H_GS1_ER_PREP;
> +
> +	/* WA only applies if the GSC is loaded */
> +	if (!XE_WA(gt, 14015076503) || !gsc_fw_is_loaded(gt))
> +		return;
> +
> +	xe_mmio_rmw32(gt, HECI_H_GS1(MTL_GSC_HECI2_BASE), gs1_clr, gs1_set);
> +
> +	if (prep) {
> +		/* make sure the reset bit is clear when writing the CSR reg */
> +		xe_mmio_rmw32(gt, HECI_H_CSR(MTL_GSC_HECI2_BASE),
> +			      HECI_H_CSR_RST, HECI_H_CSR_IG);
> +		msleep(200);
> +	}
> +}
> diff --git a/drivers/gpu/drm/xe/xe_gsc.h b/drivers/gpu/drm/xe/xe_gsc.h
> index f870eddc77d4..bc1ef7f31ea2 100644
> --- a/drivers/gpu/drm/xe/xe_gsc.h
> +++ b/drivers/gpu/drm/xe/xe_gsc.h
> @@ -8,9 +8,13 @@
>   
>   #include "xe_gsc_types.h"
>   
> +struct xe_gt;
> +
>   int xe_gsc_init(struct xe_gsc *gsc);
>   int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc);
>   void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc);
>   void xe_gsc_load_start(struct xe_gsc *gsc);
>   
> +void xe_gsc_wa_14015076503(struct xe_gt *gt, bool prep);
> +
>   #endif
> diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
> index 6c885dde5d59..e591e9c72604 100644
> --- a/drivers/gpu/drm/xe/xe_gt.c
> +++ b/drivers/gpu/drm/xe/xe_gt.c
> @@ -21,6 +21,7 @@
>   #include "xe_execlist.h"
>   #include "xe_force_wake.h"
>   #include "xe_ggtt.h"
> +#include "xe_gsc.h"
>   #include "xe_gt_clock.h"
>   #include "xe_gt_idle_sysfs.h"
>   #include "xe_gt_mcr.h"
> @@ -512,12 +513,16 @@ static int do_gt_reset(struct xe_gt *gt)
>   {
>   	int err;
>   
> +	xe_gsc_wa_14015076503(gt, true);
> +
>   	xe_mmio_write32(gt, GDRST, GRDOM_FULL);
>   	err = xe_mmio_wait32(gt, GDRST, GRDOM_FULL, 0, 5000, NULL, false);
>   	if (err)
>   		xe_gt_err(gt, "failed to clear GEN11_GRDOM_FULL (%pe)\n",
>   			  ERR_PTR(err));
>   
> +	xe_gsc_wa_14015076503(gt, false);
> +
>   	return err;
>   }
>   
> diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
> index 752842d734be..c7b7d40b5d57 100644
> --- a/drivers/gpu/drm/xe/xe_wa_oob.rules
> +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
> @@ -20,3 +20,4 @@
>   16017236439	PLATFORM(PVC)
>   22010954014	PLATFORM(DG2)
>   14019821291	MEDIA_VERSION_RANGE(1300, 2000)
> +14015076503	MEDIA_VERSION(1300)


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

* Re: [Intel-xe] [PATCH v2 09/11] drm/xe/gsc: Query GSC compatibility version
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 09/11] drm/xe/gsc: Query GSC compatibility version Daniele Ceraolo Spurio
@ 2023-11-16 23:58   ` John Harrison
  0 siblings, 0 replies; 28+ messages in thread
From: John Harrison @ 2023-11-16 23:58 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, intel-xe

On 11/14/2023 16:46, Daniele Ceraolo Spurio wrote:
> The version is obtained via a dedicated MKHI GSC command.
> The compatibility version is what we want to match against for the GSC,
> so we need to call the FW version checker after obtaining the version.
>
> v2: rename query message wrappers to be less generic (John), fix line
>      length (checkpatch)
>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

> ---
>   .../gpu/drm/xe/abi/gsc_mkhi_commands_abi.h    | 39 +++++++++
>   drivers/gpu/drm/xe/xe_gsc.c                   | 82 +++++++++++++++++++
>   drivers/gpu/drm/xe/xe_uc_fw.c                 | 18 ++--
>   drivers/gpu/drm/xe/xe_uc_fw.h                 |  1 +
>   4 files changed, 134 insertions(+), 6 deletions(-)
>   create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
>
> diff --git a/drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h b/drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
> new file mode 100644
> index 000000000000..ad4d041873ab
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
> @@ -0,0 +1,39 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef _ABI_GSC_MKHI_COMMANDS_ABI_H
> +#define _ABI_GSC_MKHI_COMMANDS_ABI_H
> +
> +#include <linux/types.h>
> +
> +/* Heci client ID for MKHI commands */
> +#define HECI_MEADDRESS_MKHI 7
> +
> +/* Generic MKHI header */
> +struct gsc_mkhi_header {
> +	u8  group_id;
> +	u8  command;
> +	u8  reserved;
> +	u8  result;
> +} __packed;
> +
> +/* GFX_SRV commands */
> +#define MKHI_GROUP_ID_GFX_SRV 0x30
> +
> +#define MKHI_GFX_SRV_GET_HOST_COMPATIBILITY_VERSION (0x42)
> +
> +struct gsc_get_compatibility_version_in {
> +	struct gsc_mkhi_header header;
> +} __packed;
> +
> +struct gsc_get_compatibility_version_out {
> +	struct gsc_mkhi_header header;
> +	u16 proj_major;
> +	u16 compat_major;
> +	u16 compat_minor;
> +	u16 reserved[5];
> +} __packed;
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
> index 1bb0de0a24f4..093c0fafe584 100644
> --- a/drivers/gpu/drm/xe/xe_gsc.c
> +++ b/drivers/gpu/drm/xe/xe_gsc.c
> @@ -7,11 +7,13 @@
>   
>   #include <drm/drm_managed.h>
>   
> +#include "abi/gsc_mkhi_commands_abi.h"
>   #include "generated/xe_wa_oob.h"
>   #include "xe_bb.h"
>   #include "xe_bo.h"
>   #include "xe_device.h"
>   #include "xe_exec_queue.h"
> +#include "xe_gsc_submit.h"
>   #include "xe_gt.h"
>   #include "xe_gt_printk.h"
>   #include "xe_map.h"
> @@ -91,6 +93,78 @@ static int emit_gsc_upload(struct xe_gsc *gsc)
>   	return 0;
>   }
>   
> +#define version_query_wr(xe_, map_, offset_, field_, val_) \
> +	xe_map_wr_field(xe_, map_, offset_, struct gsc_get_compatibility_version_in, field_, val_)
> +#define version_query_rd(xe_, map_, offset_, field_) \
> +	xe_map_rd_field(xe_, map_, offset_, struct gsc_get_compatibility_version_out, field_)
> +
> +static u32 emit_version_query_msg(struct xe_device *xe, struct iosys_map *map, u32 wr_offset)
> +{
> +	xe_map_memset(xe, map, wr_offset, 0, sizeof(struct gsc_get_compatibility_version_in));
> +
> +	version_query_wr(xe, map, wr_offset, header.group_id, MKHI_GROUP_ID_GFX_SRV);
> +	version_query_wr(xe, map, wr_offset, header.command,
> +			 MKHI_GFX_SRV_GET_HOST_COMPATIBILITY_VERSION);
> +
> +	return wr_offset + sizeof(struct gsc_get_compatibility_version_in);
> +}
> +
> +#define GSC_VER_PKT_SZ SZ_4K /* 4K each for input and output */
> +static int query_compatibility_version(struct xe_gsc *gsc)
> +{
> +	struct xe_uc_fw_version *compat = &gsc->fw.versions.found[XE_UC_FW_VER_COMPATIBILITY];
> +	struct xe_gt *gt = gsc_to_gt(gsc);
> +	struct xe_tile *tile = gt_to_tile(gt);
> +	struct xe_device *xe = gt_to_xe(gt);
> +	struct xe_bo *bo;
> +	u32 wr_offset;
> +	u32 rd_offset;
> +	u64 ggtt_offset;
> +	int err;
> +
> +	bo = xe_bo_create_pin_map(xe, tile, NULL, GSC_VER_PKT_SZ * 2,
> +				  ttm_bo_type_kernel,
> +				  XE_BO_CREATE_SYSTEM_BIT |
> +				  XE_BO_CREATE_GGTT_BIT);
> +	if (IS_ERR(bo)) {
> +		xe_gt_err(gt, "failed to allocate bo for GSC version query\n");
> +		return err;
> +	}
> +
> +	ggtt_offset = xe_bo_ggtt_addr(bo);
> +
> +	wr_offset = xe_gsc_emit_header(xe, &bo->vmap, 0, HECI_MEADDRESS_MKHI, 0,
> +				       sizeof(struct gsc_get_compatibility_version_in));
> +	wr_offset = emit_version_query_msg(xe, &bo->vmap, wr_offset);
> +
> +	err = xe_gsc_pkt_submit_kernel(gsc, ggtt_offset, wr_offset,
> +				       ggtt_offset + GSC_VER_PKT_SZ,
> +				       GSC_VER_PKT_SZ);
> +	if (err) {
> +		xe_gt_err(gt,
> +			  "failed to submit GSC request for compatibility version: %d\n",
> +			  err);
> +		goto out_bo;
> +	}
> +
> +	err = xe_gsc_read_out_header(xe, &bo->vmap, GSC_VER_PKT_SZ,
> +				     sizeof(struct gsc_get_compatibility_version_out),
> +				     &rd_offset);
> +	if (err) {
> +		xe_gt_err(gt, "HuC: invalid GSC reply for version query (err=%d)\n", err);
> +		return err;
> +	}
> +
> +	compat->major = version_query_rd(xe, &bo->vmap, rd_offset, compat_major);
> +	compat->minor = version_query_rd(xe, &bo->vmap, rd_offset, compat_minor);
> +
> +	xe_gt_info(gt, "found GSC cv%u.%u\n", compat->major, compat->minor);
> +
> +out_bo:
> +	xe_bo_unpin_map_no_vm(bo);
> +	return err;
> +}
> +
>   static int gsc_fw_is_loaded(struct xe_gt *gt)
>   {
>   	return xe_mmio_read32(gt, HECI_FWSTS1(MTL_GSC_HECI1_BASE)) &
> @@ -159,6 +233,14 @@ static int gsc_upload(struct xe_gsc *gsc)
>   		return err;
>   	}
>   
> +	err = query_compatibility_version(gsc);
> +	if (err)
> +		return err;
> +
> +	err = xe_uc_fw_check_version_requirements(&gsc->fw);
> +	if (err)
> +		return err;
> +
>   	xe_gt_dbg(gt, "GSC FW async load completed\n");
>   
>   	return 0;
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index c354f7b51103..062fc1eb591c 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -224,8 +224,11 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
>   			uc_fw->versions.wanted.minor = entries[i].minor;
>   			uc_fw->full_ver_required = entries[i].full_ver_required;
>   
> -			/* compatibility version checking coming soon */
> -			uc_fw->versions.wanted_type = XE_UC_FW_VER_RELEASE;
> +			if (uc_fw->type == XE_UC_FW_TYPE_GSC)
> +				uc_fw->versions.wanted_type = XE_UC_FW_VER_COMPATIBILITY;
> +			else
> +				uc_fw->versions.wanted_type = XE_UC_FW_VER_RELEASE;
> +
>   			break;
>   		}
>   	}
> @@ -321,7 +324,7 @@ static void guc_read_css_info(struct xe_uc_fw *uc_fw, struct uc_css_header *css)
>   	uc_fw->private_data_size = css->private_data_size;
>   }
>   
> -static int uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
> +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;
> @@ -678,9 +681,12 @@ int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
>   			    "Using %s firmware from %s",
>   			    xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
>   
> -	err = uc_fw_check_version_requirements(uc_fw);
> -	if (err)
> -		goto fail;
> +	/* for GSC FW we want the compatibility version, which we query after load */
> +	if (uc_fw->type != XE_UC_FW_TYPE_GSC) {
> +		err = xe_uc_fw_check_version_requirements(uc_fw);
> +		if (err)
> +			goto fail;
> +	}
>   
>   	obj = xe_bo_create_from_data(xe, tile, fw->data, fw->size,
>   				     ttm_bo_type_kernel,
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.h b/drivers/gpu/drm/xe/xe_uc_fw.h
> index 7feafe1695f9..85c20795d1f8 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.h
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.h
> @@ -17,6 +17,7 @@ struct drm_printer;
>   int xe_uc_fw_init(struct xe_uc_fw *uc_fw);
>   size_t xe_uc_fw_copy_rsa(struct xe_uc_fw *uc_fw, void *dst, u32 max_len);
>   int xe_uc_fw_upload(struct xe_uc_fw *uc_fw, u32 offset, u32 dma_flags);
> +int xe_uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw);
>   void xe_uc_fw_print(struct xe_uc_fw *uc_fw, struct drm_printer *p);
>   
>   static inline u32 xe_uc_fw_rsa_offset(struct xe_uc_fw *uc_fw)


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

* Re: [Intel-xe] [PATCH v2 11/11] drm/xe/gsc: Define GSC FW for MTL
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 11/11] drm/xe/gsc: Define GSC FW " Daniele Ceraolo Spurio
@ 2023-11-17  0:09   ` John Harrison
  0 siblings, 0 replies; 28+ messages in thread
From: John Harrison @ 2023-11-17  0:09 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio, intel-xe

On 11/14/2023 16:46, Daniele Ceraolo Spurio wrote:
> We track GSC FW based on its compatibility version, which is what
> determines the interface it supports.
> Also add a modparam override like the ones for GuC and HuC.
>
> v2: fix module param description (John)
>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
> Cc: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>

> ---
>   drivers/gpu/drm/xe/xe_module.c |  5 +++++
>   drivers/gpu/drm/xe/xe_module.h |  1 +
>   drivers/gpu/drm/xe/xe_uc_fw.c  | 20 ++++++++++++--------
>   3 files changed, 18 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c
> index 7194595e7f31..93b6bb23d4a6 100644
> --- a/drivers/gpu/drm/xe/xe_module.c
> +++ b/drivers/gpu/drm/xe/xe_module.c
> @@ -41,6 +41,11 @@ module_param_named_unsafe(huc_firmware_path, xe_huc_firmware_path, charp, 0400);
>   MODULE_PARM_DESC(huc_firmware_path,
>   		 "HuC firmware path to use instead of the default one - empty string disables");
>   
> +char *xe_gsc_firmware_path;
> +module_param_named_unsafe(gsc_firmware_path, xe_gsc_firmware_path, charp, 0400);
> +MODULE_PARM_DESC(gsc_firmware_path,
> +		 "GSC firmware path to use instead of the default one - empty string disables");
> +
>   char *xe_param_force_probe = CONFIG_DRM_XE_FORCE_PROBE;
>   module_param_named_unsafe(force_probe, xe_param_force_probe, charp, 0400);
>   MODULE_PARM_DESC(force_probe,
> diff --git a/drivers/gpu/drm/xe/xe_module.h b/drivers/gpu/drm/xe/xe_module.h
> index e1da1e9ca5cb..7f49f95630d5 100644
> --- a/drivers/gpu/drm/xe/xe_module.h
> +++ b/drivers/gpu/drm/xe/xe_module.h
> @@ -12,4 +12,5 @@ extern u32 xe_force_vram_bar_size;
>   extern int xe_guc_log_level;
>   extern char *xe_guc_firmware_path;
>   extern char *xe_huc_firmware_path;
> +extern char *xe_gsc_firmware_path;
>   extern char *xe_param_force_probe;
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index 062fc1eb591c..36bf902ac459 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -121,6 +121,10 @@ struct fw_blobs_by_type {
>   	fw_def(ROCKETLAKE,	no_ver(i915,	huc,		tgl))		\
>   	fw_def(TIGERLAKE,	no_ver(i915,	huc,		tgl))
>   
> +/* 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(METEORLAKE,	major_ver(i915,	gsc,	mtl,	1, 0))
> +
>   #define MAKE_FW_PATH(dir__, uc__, shortname__, version__)			\
>   	__stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"
>   
> @@ -155,6 +159,7 @@ XE_GUC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE,
>   		     fw_filename_mmp_ver, fw_filename_major_ver)
>   XE_HUC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE,
>   		     fw_filename_mmp_ver, fw_filename_no_ver)
> +XE_GSC_FIRMWARE_DEFS(XE_UC_MODULE_FIRMWARE, fw_filename_major_ver)
>   
>   static struct xe_gt *
>   __uc_fw_to_gt(struct xe_uc_fw *uc_fw, enum xe_uc_fw_type type)
> @@ -196,23 +201,19 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
>   				     uc_fw_entry_mmp_ver,
>   				     uc_fw_entry_no_ver)
>   	};
> +	static const struct uc_fw_entry entries_gsc[] = {
> +		XE_GSC_FIRMWARE_DEFS(XE_UC_FW_ENTRY, uc_fw_entry_major_ver)
> +	};
>   	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) },
>   		[XE_UC_FW_TYPE_HUC] = { entries_huc, ARRAY_SIZE(entries_huc) },
> +		[XE_UC_FW_TYPE_GSC] = { entries_gsc, ARRAY_SIZE(entries_gsc) },
>   	};
>   	static const struct uc_fw_entry *entries;
>   	enum xe_platform p = xe->info.platform;
>   	u32 count;
>   	int i;
>   
> -	/*
> -	 * GSC FW support is still not fully in place, so we're not defining
> -	 * the FW blob yet because we don't want the driver to attempt to load
> -	 * it until we're ready for it.
> -	 */
> -	if (uc_fw->type == XE_UC_FW_TYPE_GSC)
> -		return;
> -
>   	xe_assert(xe, uc_fw->type < ARRAY_SIZE(blobs_all));
>   	entries = blobs_all[uc_fw->type].entries;
>   	count = blobs_all[uc_fw->type].count;
> @@ -248,6 +249,9 @@ uc_fw_override(struct xe_uc_fw *uc_fw)
>   	case XE_UC_FW_TYPE_HUC:
>   		path_override = xe_huc_firmware_path;
>   		break;
> +	case XE_UC_FW_TYPE_GSC:
> +		path_override = xe_gsc_firmware_path;
> +		break;
>   	default:
>   		break;
>   	}


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

* Re: [Intel-xe] [PATCH v2 08/11] drm/xe/gsc: Add an interface for GSC packet submissions
  2023-11-15  0:46 ` [Intel-xe] [PATCH v2 08/11] drm/xe/gsc: Add an interface for GSC packet submissions Daniele Ceraolo Spurio
@ 2023-11-20  5:20   ` Kandpal, Suraj
  0 siblings, 0 replies; 28+ messages in thread
From: Kandpal, Suraj @ 2023-11-20  5:20 UTC (permalink / raw)
  To: Ceraolo Spurio, Daniele, intel-xe



> -----Original Message-----
> From: Ceraolo Spurio, Daniele <daniele.ceraolospurio@intel.com>
> Sent: Wednesday, November 15, 2023 6:16 AM
> To: intel-xe@lists.freedesktop.org
> Cc: Ceraolo Spurio, Daniele <daniele.ceraolospurio@intel.com>; Teres Alexis,
> Alan Previn <alan.previn.teres.alexis@intel.com>; Kandpal, Suraj
> <suraj.kandpal@intel.com>; Harrison, John C <john.c.harrison@intel.com>
> Subject: [PATCH v2 08/11] drm/xe/gsc: Add an interface for GSC packet
> submissions
> 
> Communication with the GSC FW is done via input/output buffers, whose
> addresses are provided via a GSCCS command. The buffers contain a generic
> header and a client-specific packet (e.g. PXP, HDCP); the clients don't care
> about the header format and/or the GSCCS command in the batch, they only
> care about their client-specific header. This patch therefore introduces helpers
> that allow the callers to automatically fill in the input header, submit the
> GSCCS job and decode the output header, to make it so that the caller only
> needs to worry about their client-specific input and output messages.
> 
> NOTE: this patch by itself only adds the interface so it does nothing, I've kept
> it separate for review but the plan is to squash it with the follow up patch
> before merge, so that the interface and the user are introduced at the same
> time.
> 
> v2: encode the client ID in the host session handle, fix function
>     description (Suraj)

LGTM.

Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

> 
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
> Cc: Suraj Kandpal <suraj.kandpal@intel.com>
> Reviewed-by: John Harrison <John.C.Harrison@Intel.Com> #v1
> ---
>  drivers/gpu/drm/xe/Makefile                   |   1 +
>  .../gpu/drm/xe/abi/gsc_command_header_abi.h   |  46 +++++
>  .../gpu/drm/xe/instructions/xe_gsc_commands.h |   2 +
>  drivers/gpu/drm/xe/xe_gsc_submit.c            | 184 ++++++++++++++++++
>  drivers/gpu/drm/xe/xe_gsc_submit.h            |  30 +++
>  5 files changed, 263 insertions(+)
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
> 
> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile index
> b98b2d76a324..8121ca266738 100644
> --- a/drivers/gpu/drm/xe/Makefile
> +++ b/drivers/gpu/drm/xe/Makefile
> @@ -68,6 +68,7 @@ xe-y += xe_bb.o \
>  	xe_ggtt.o \
>  	xe_gpu_scheduler.o \
>  	xe_gsc.o \
> +	xe_gsc_submit.o \
>  	xe_gt.o \
>  	xe_gt_clock.o \
>  	xe_gt_debugfs.o \
> diff --git a/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
> b/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
> new file mode 100644
> index 000000000000..a4c2646803b5
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
> @@ -0,0 +1,46 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef _ABI_GSC_COMMAND_HEADER_ABI_H
> +#define _ABI_GSC_COMMAND_HEADER_ABI_H
> +
> +#include <linux/types.h>
> +
> +struct intel_gsc_mtl_header {
> +	u32 validity_marker;
> +#define GSC_HECI_VALIDITY_MARKER 0xA578875A
> +
> +	u8 heci_client_id;
> +
> +	u8 reserved1;
> +
> +	u16 header_version;
> +#define MTL_GSC_HEADER_VERSION 1
> +
> +	/* FW allows host to decide host_session handle as it sees fit. */
> +	u64 host_session_handle;
> +
> +	/* handle generated by FW for messages that need to be re-
> submitted */
> +	u64 gsc_message_handle;
> +
> +	u32 message_size; /* lower 20 bits only, upper 12 are reserved */
> +
> +	/*
> +	 * Flags mask:
> +	 * Bit 0: Pending
> +	 * Bit 1: Session Cleanup;
> +	 * Bits 2-15: Flags
> +	 * Bits 16-31: Extension Size
> +	 * According to internal spec flags are either input or output
> +	 * we distinguish the flags using OUTFLAG or INFLAG
> +	 */
> +	u32 flags;
> +#define GSC_OUTFLAG_MSG_PENDING	BIT(0)
> +#define GSC_INFLAG_MSG_CLEANUP	BIT(1)
> +
> +	u32 status;
> +} __packed;
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
> b/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
> index c7a833d7f965..f8949cad9d0f 100644
> --- a/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
> +++ b/drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
> @@ -28,6 +28,8 @@
>  	REG_FIELD_PREP(GSC_OPCODE, op) | \
>  	REG_FIELD_PREP(GSC_CMD_DATA_AND_LEN, dl))
> 
> +#define GSC_HECI_CMD_PKT __GSC_INSTR(0, 6)
> +
>  #define GSC_FW_LOAD __GSC_INSTR(1, 2)
>  #define   GSC_FW_LOAD_LIMIT_VALID REG_BIT(31)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gsc_submit.c
> b/drivers/gpu/drm/xe/xe_gsc_submit.c
> new file mode 100644
> index 000000000000..4b3e703aebef
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_gsc_submit.c
> @@ -0,0 +1,184 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#include "xe_gsc_submit.h"
> +
> +#include "abi/gsc_command_header_abi.h"
> +#include "xe_bb.h"
> +#include "xe_exec_queue.h"
> +#include "xe_gt_printk.h"
> +#include "xe_gt_types.h"
> +#include "xe_map.h"
> +#include "xe_sched_job.h"
> +#include "instructions/xe_gsc_commands.h"
> +#include "regs/xe_gsc_regs.h"
> +
> +#define GSC_HDR_SIZE (sizeof(struct intel_gsc_mtl_header)) /* shorthand
> +define */
> +
> +#define mtl_gsc_header_wr(xe_, map_, offset_, field_, val_) \
> +	xe_map_wr_field(xe_, map_, offset_, struct intel_gsc_mtl_header,
> +field_, val_)
> +
> +#define mtl_gsc_header_rd(xe_, map_, offset_, field_) \
> +	xe_map_rd_field(xe_, map_, offset_, struct intel_gsc_mtl_header,
> +field_)
> +
> +/*
> + * GSC FW allows us to define the host_session_handle as we see fit, as
> +long
> + * as we use unique identifier for each user, with handle 0 being
> +reserved for
> + * kernel usage.
> + * To be able to differentiate which client subsystem owns the given
> +session, we
> + * include the client id in the top 8 bits of the handle.
> + */
> +#define HOST_SESSION_CLIENT_MASK GENMASK(63, 56)
> +
> +static struct xe_gt *
> +gsc_to_gt(struct xe_gsc *gsc)
> +{
> +	return container_of(gsc, struct xe_gt, uc.gsc); }
> +
> +/**
> + * xe_gsc_emit_header - write the MTL GSC header in memory
> + * @xe: the Xe device
> + * @map: the iosys map to write to
> + * @offset: offset from the start of the map at which to write the
> +header
> + * @heci_client_id: client id identifying the type of command (see abi
> +for values)
> + * @host_session_id: host session ID of the caller
> + * @payload_size: size of the payload that follows the header
> + *
> + * Returns: offset memory location following the header  */
> +u32 xe_gsc_emit_header(struct xe_device *xe, struct iosys_map *map, u32
> offset,
> +		       u8 heci_client_id, u64 host_session_id, u32 payload_size)
> {
> +	xe_assert(xe, !(host_session_id & HOST_SESSION_CLIENT_MASK));
> +
> +	if (host_session_id)
> +		host_session_id |=
> FIELD_PREP(HOST_SESSION_CLIENT_MASK,
> +heci_client_id);
> +
> +	xe_map_memset(xe, map, offset, 0, GSC_HDR_SIZE);
> +
> +	mtl_gsc_header_wr(xe, map, offset, validity_marker,
> GSC_HECI_VALIDITY_MARKER);
> +	mtl_gsc_header_wr(xe, map, offset, heci_client_id, heci_client_id);
> +	mtl_gsc_header_wr(xe, map, offset, host_session_handle,
> host_session_id);
> +	mtl_gsc_header_wr(xe, map, offset, header_version,
> MTL_GSC_HEADER_VERSION);
> +	mtl_gsc_header_wr(xe, map, offset, message_size, payload_size +
> +GSC_HDR_SIZE);
> +
> +	return offset + GSC_HDR_SIZE;
> +};
> +
> +/**
> + * xe_gsc_check_and_update_pending - check the pending bit and update
> +the input
> + * header with the retry handle from the output header
> + * @xe: the Xe device
> + * @in: the iosys map containing the input buffer
> + * @offset_in: offset within the iosys at which the input buffer is
> +located
> + * @out: the iosys map containing the output buffer
> + * @offset_out: offset within the iosys at which the output buffer is
> +located
> + *
> + * Returns: true if the pending bit was set, false otherwise  */ bool
> +xe_gsc_check_and_update_pending(struct xe_device *xe,
> +				     struct iosys_map *in, u32 offset_in,
> +				     struct iosys_map *out, u32 offset_out) {
> +	if (mtl_gsc_header_rd(xe, out, offset_out, flags) &
> GSC_OUTFLAG_MSG_PENDING) {
> +		u64 handle = mtl_gsc_header_rd(xe, out, offset_out,
> +gsc_message_handle);
> +
> +		mtl_gsc_header_wr(xe, in, offset_in, gsc_message_handle,
> handle);
> +
> +		return true;
> +	}
> +
> +	return false;
> +}
> +
> +/**
> + * xe_gsc_read_out_header - reads and validates the output header and
> +returns
> + * the offset of the reply following the header
> + * @xe: the Xe device
> + * @map: the iosys map containing the output buffer
> + * @offset: offset within the iosys at which the output buffer is
> +located
> + * @min_payload_size: minimum size of the message excluding the gsc
> +header
> + * @payload_offset: optional pointer to be set to the payload offset
> + *
> + * Returns: -errno value on failure, 0 otherwise  */ int
> +xe_gsc_read_out_header(struct xe_device *xe,
> +			   struct iosys_map *map, u32 offset,
> +			   u32 min_payload_size,
> +			   u32 *payload_offset)
> +{
> +	u32 marker = mtl_gsc_header_rd(xe, map, offset, validity_marker);
> +	u32 size = mtl_gsc_header_rd(xe, map, offset, message_size);
> +	u32 payload_size = size - GSC_HDR_SIZE;
> +
> +	if (marker != GSC_HECI_VALIDITY_MARKER)
> +		return -EPROTO;
> +
> +	if (size < GSC_HDR_SIZE || payload_size < min_payload_size)
> +		return -ENODATA;
> +
> +	if (payload_offset)
> +		*payload_offset = offset + GSC_HDR_SIZE;
> +
> +	return 0;
> +}
> +
> +/**
> + * xe_gsc_pkt_submit_kernel - submit a kernel heci pkt to the GSC
> + * @xe: the GSC uC
> + * @addr_in: GGTT address of the message to send to the GSC
> + * @size_in: size of the message to send to the GSC
> + * @addr_out: GGTT address for the GSC to write the reply to
> + * @size_out: size of the memory reserved for the reply  */ int
> +xe_gsc_pkt_submit_kernel(struct xe_gsc *gsc, u64 addr_in, u32 size_in,
> +			     u64 addr_out, u32 size_out)
> +{
> +	struct xe_gt *gt = gsc_to_gt(gsc);
> +	struct xe_bb *bb;
> +	struct xe_sched_job *job;
> +	struct dma_fence *fence;
> +	long timeout;
> +
> +	if (size_in < GSC_HDR_SIZE)
> +		return -ENODATA;
> +
> +	if (size_out < GSC_HDR_SIZE)
> +		return -ENOMEM;
> +
> +	bb = xe_bb_new(gt, 8, false);
> +	if (IS_ERR(bb))
> +		return PTR_ERR(bb);
> +
> +	bb->cs[bb->len++] = GSC_HECI_CMD_PKT;
> +	bb->cs[bb->len++] = lower_32_bits(addr_in);
> +	bb->cs[bb->len++] = upper_32_bits(addr_in);
> +	bb->cs[bb->len++] = size_in;
> +	bb->cs[bb->len++] = lower_32_bits(addr_out);
> +	bb->cs[bb->len++] = upper_32_bits(addr_out);
> +	bb->cs[bb->len++] = size_out;
> +	bb->cs[bb->len++] = 0;
> +
> +	job = xe_bb_create_job(gsc->q, bb);
> +	if (IS_ERR(job)) {
> +		xe_bb_free(bb, NULL);
> +		return PTR_ERR(job);
> +	}
> +
> +	xe_sched_job_arm(job);
> +	fence = dma_fence_get(&job->drm.s_fence->finished);
> +	xe_sched_job_push(job);
> +
> +	timeout = dma_fence_wait_timeout(fence, false, HZ);
> +	dma_fence_put(fence);
> +	xe_bb_free(bb, NULL);
> +	if (timeout < 0)
> +		return timeout;
> +	else if (!timeout)
> +		return -ETIME;
> +
> +	return 0;
> +}
> diff --git a/drivers/gpu/drm/xe/xe_gsc_submit.h
> b/drivers/gpu/drm/xe/xe_gsc_submit.h
> new file mode 100644
> index 000000000000..0801da5d446a
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/xe_gsc_submit.h
> @@ -0,0 +1,30 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef _XE_GSC_SUBMIT_H_
> +#define _XE_GSC_SUBMIT_H_
> +
> +#include <linux/types.h>
> +
> +struct iosys_map;
> +struct xe_device;
> +struct xe_gsc;
> +
> +u32 xe_gsc_emit_header(struct xe_device *xe, struct iosys_map *map, u32
> offset,
> +		       u8 heci_client_id, u64 host_session_id, u32 payload_size);
> +
> +bool xe_gsc_check_and_update_pending(struct xe_device *xe,
> +				     struct iosys_map *in, u32 offset_in,
> +				     struct iosys_map *out, u32 offset_out);
> +
> +int xe_gsc_read_out_header(struct xe_device *xe,
> +			   struct iosys_map *map, u32 offset,
> +			   u32 min_payload_size,
> +			   u32 *payload_offset);
> +
> +int xe_gsc_pkt_submit_kernel(struct xe_gsc *gsc, u64 addr_in, u32 size_in,
> +			     u64 addr_out, u32 size_out);
> +
> +#endif
> --
> 2.41.0


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

end of thread, other threads:[~2023-11-20  5:20 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-15  0:46 [Intel-xe] [PATCH v2 00/11] GSC FW loading Daniele Ceraolo Spurio
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 01/11] fixup! drm/xe/guc: Report submission version of GuC firmware Daniele Ceraolo Spurio
2023-11-16 22:31   ` John Harrison
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 02/11] drm/xe/uc: Rework uC version tracking Daniele Ceraolo Spurio
2023-11-16 22:38   ` John Harrison
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 03/11] drm/xe/gsc: Introduce GSC FW Daniele Ceraolo Spurio
2023-11-16 22:58   ` John Harrison
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 04/11] drm/xe/gsc: Parse GSC FW header Daniele Ceraolo Spurio
2023-11-16 23:01   ` John Harrison
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 05/11] drm/xe/gsc: GSC FW load Daniele Ceraolo Spurio
2023-11-16 23:04   ` John Harrison
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 06/11] drm/xe/gsc: Implement WA 14015076503 Daniele Ceraolo Spurio
2023-11-16 23:51   ` John Harrison
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 07/11] drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload Daniele Ceraolo Spurio
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 08/11] drm/xe/gsc: Add an interface for GSC packet submissions Daniele Ceraolo Spurio
2023-11-20  5:20   ` Kandpal, Suraj
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 09/11] drm/xe/gsc: Query GSC compatibility version Daniele Ceraolo Spurio
2023-11-16 23:58   ` John Harrison
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 10/11] drm/xe/gsc: Define GSCCS for MTL Daniele Ceraolo Spurio
2023-11-15  0:46 ` [Intel-xe] [PATCH v2 11/11] drm/xe/gsc: Define GSC FW " Daniele Ceraolo Spurio
2023-11-17  0:09   ` John Harrison
2023-11-15  0:49 ` [Intel-xe] ✓ CI.Patch_applied: success for GSC FW loading (rev2) Patchwork
2023-11-15  0:49 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-11-15  0:51 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-11-15  0:58 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-11-15  0:58 ` [Intel-xe] ✗ CI.Hooks: failure " Patchwork
2023-11-15  0:59 ` [Intel-xe] ✓ CI.checksparse: success " Patchwork
2023-11-15  1:34 ` [Intel-xe] ✓ CI.BAT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.